SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
MySQL Shell/AdminAPI
MySQL Architectures Made Easy For All!
Miguel Araújo
Senior Principal Software Engineer
MySQL, Oracle
February 2, 2024
The following is intended to outline our general product direction. It is intended for information
purpose only, and may not be incorporated into any contract. It is not a commitment to deliver any
material, code, or functionality, and should not be relied up in making purchasing decisions. The
development, release and timing of any features or functionality described for Oracle's product
remains at the sole discretion of Oracle.
Safe Harbor Statement
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
2
$ whoami
miguel_araujo
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
3
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
4
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
5
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
6
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
20.09.2015 MySQL Router 1st labs release
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
7
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
20.09.2015 MySQL Router 1st labs release
15.12.2015 MySQL Fabric aimed for perfection, instead of...
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
8
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
20.09.2015 MySQL Router 1st labs release
15.12.2015 MySQL Fabric aimed for perfection, instead of...
11.04.2016 MySQL Shell 1st preview release: 1.0.3m1
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
9
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
20.09.2015 MySQL Router 1st labs release
15.12.2015 MySQL Fabric aimed for perfection, instead of...
11.04.2016 MySQL Shell 1st preview release: 1.0.3m1
06.09.2016 AdminAPI 1st preview release with Shell 1.0.8 + MySQL Router 2.1.0
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
10
~/belgian_days_24
$ whoami
miguel_araujo
$ history –E
07.11.2011 Joined MySQL
27.05.2014 MySQL Fabric 1st GA
30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR
20.09.2015 MySQL Router 1st labs release
15.12.2015 MySQL Fabric aimed for perfection, instead of...
11.04.2016 MySQL Shell 1st preview release: 1.0.3m1
06.09.2016 AdminAPI 1st preview release with Shell 1.0.8 + MySQL Router 2.1.0
12.04.2017 MySQL InnoDB Cluster 1st GA
$ whoami && history
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
11
~/belgian_days_24
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
12
Business Requirements
Concepts – RTO & RPO
• RTO: Recovery Time Objective
• How long does it take to recover from a single
failure
• RPO: Recovery Point Objective
• How much data can be lost when a failure occurs
Types of Failures
• High Availability:
• Single Server Failure, Network Partition
• Disaster Recovery:
• Full Region / Network failure
• Human Error:
• Little Bobby Tables
13 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Business Requirements
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
14
MySQL Architectures
'classic', 'asynchronous' Replication based
Solution
• Manual failover & switchover
• Asynchronous reads
• Good write performance
15 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB ReplicaSet
RPO != 0
RTO = minutes or more (manual failover)
High Availability solution based on Group
Replication
• Automatic failover / Fault Tolerance
• Automatic membership changes
• Network partition handling
• Consistency
16 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB Cluster
RPO = 0
RTO = seconds (automatic failover)
Disaster Tolerance Solution for InnoDB
Clusters deployments in alternate
locations
• High Availability (Failure within a Region)
• RPO = 0
• RTO = seconds (automatic failover)
• Disaster Recovery (Region Failure)
• RPO != 0
• RTO = minutes or more (manual failover)
• No write performance impact
17 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB ClusterSet
Read Scale-out
• Add any amount of async read replicas to a
Cluster
• Replicate/Failover from
• PRIMARY
• SECONDARIES
• LIST of candidates
Fully supported on
• InnoDB Cluster
• InnoDB ClusterSet
18 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
!
New in 8.1.0
MySQL InnoDB Cluster Read Replicas
19 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL InnoDB ClusterSet with Read Replicas
Flexible
• Add/Remove Read Replicas online
• Configure Router behavior dynamically
• Choose where to route traffic
Failover
• Automatic connection failover
• List of potential sources automatic or
manually populated
!
New in 8.1.0
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
20
What architecture fits my requirements?
Single Region
MySQL InnoDB Cluster
• RPO = 0
• RTO = Seconds
MySQL InnoDB ReplicaSet
• RPO != 0
• RTO = Minutes or more (Manual failover)
21 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
High Availability
Best write performance Manual Failover
🔴
🟢
Automatic failover
🟢
Multi Region
22 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
High Availability
MySQL InnoDB Cluster: Deployed over multiple regions
Multi-Region Multi-Primary
3 DC
Requires very stable WAN
Write performance affected by latency between DCs
• RPO = 0
• RTO = Seconds
🟢
🔴
🔴
🔴
Multi Region
23 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Disaster Recovery
MySQL InnoDB ClusterSet
RPO = 0 & RTO = seconds within Region (HA)
Write performance (no sync to other region required)
Higher RTO: Manual failover
RPO != 0 when region fails
• RPO != 0
• RTO = Minutes or more
(Manual Failover)
🔴
🔴
🟢
🟢
24 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Read Scale-Out
MySQL InnoDB Cluster Read Replicas
Read Intensive Workloads
Offload Primary or Secondaries
Dedicated instances for other purposes
Additional redundancy for the dataset
🟢
🟢
🟢
🟢
Absolutely...
25 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Complex?
User Requirements
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
26
Easy to deploy
1
User Requirements
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
27
Easy to deploy
1 2 Easy to maintain
User Requirements
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
28
Easy to deploy
1 2 Easy to maintain Easy to monitor
3
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
29
MySQL Shell AdminAPI
30 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Shell AdminAPI
Makes it easy
-----------------------------------------------------------------
Action Command # Calls
-----------------------------------------------------------------
Configure instances dba.configureReplicaSetInstance(…) 3
Create Topology dba.createReplicaSet(…) 1
Setup Admin Account rs.setupAdminAccount(…) 1
Add instances rs.addInstance(…) 2
-----------------------------------------------------------------
SUM: 7
-----------------------------------------------------------------
-
InnoDB ReplicaSet
1
2 3
31 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Shell AdminAPI
Makes it easy
-----------------------------------------------------------------
Action Command # Calls
-----------------------------------------------------------------
Configure instances dba.configureInstance(…) 3
Create Topology dba.createCluster(…) 1
Setup Admin Account c.setupAdminAccount(…) 1
Add instances c.addInstance(…) 2
-----------------------------------------------------------------
SUM: 7
-----------------------------------------------------------------
-
InnoDB Cluster
1
2 3
32 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Shell AdminAPI
Makes it easy
--------------------------------------------------------
Action Command # Calls
--------------------------------------------------------
Create Topology c.createClusterSet(…) 1
Create Replica Cluster cs.createReplicaCluster(…) 2
Add instances to Replica rc.addInstance(…) 3
--------------------------------------------------------
SUM: 6
--------------------------------------------------------
InnoDB ClusterSet
1 2
3 4
33 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Shell AdminAPI
Makes it easy
-------------------------------------------------------------
Action Command # Calls
-------------------------------------------------------------
Add Read Replicas c.addReplicaInstance(…) 3
Configure Router behavior c.setRoutingOption(…) 1
-------------------------------------------------------------
SUM: 4
-------------------------------------------------------------
InnoDB Cluster Read Replicas
1 2 3
• Sandbox management
• Configuration checker & applier
• Account management
• MySQL Architectures management
• Integrated provisioning
• Configuration management
• MySQL Router management
• Follows best practices
34 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Features
AdminAPI
35 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Shell AdminAPI
It’s not just a bunch of scripts…
----------------------------------------------------------------------------------------------
Language files blank comment code
----------------------------------------------------------------------------------------------
C++ 144 13213 12466 63402
C/C++ Header 175 4670 9796 14447
SQL 7 393 1298 1447
----------------------------------------------------------------------------------------------
SUM: 326 18276 23560 79296
----------------------------------------------------------------------------------------------
~/ngshell/modules/adminapi
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
36
Latest Additions
37 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Security
• MySQL Communication Stack used by default 8.0.30
• Full TLS/SSL Support 8.0.33
• Encrypt Group Replication and Asynchronous replication channels
• Certificate-based authentication for intra-node communication
• Certificate-based authentication for Admin and Router accounts
38 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Security
38 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Security
39 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Concurrency Control & Atomicity
• Locking mechanism 8.0.33
• Prevent conflicting operations to run concurrently resulting in unexpected outcome
• Supported on the whole API
• Operations rollback
• Avoid leaving the system / instance in a transient state
40 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Router management
• More control over Router configuration
• stats_updates_frequency 8.1.0
• read_only_targets 8.1.0
• all
• read_replicas
• secondaries
• unreachable_quorum_allowed_traffic 8.2.0
41 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Router management
42 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
MySQL Architectures
• InnoDB Cluster Read Replicas 8.1.0
• InnoDB ReplicaSet new commands: 8.3.0
• .rescan()
• .dissolve()
• .describe()
• Support fine-grained replication options 8.2.0
• SOURCE_*, NETWORK_NAMESPACE
• ClusterSet async channel & ReplicaSet
43 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
InnoDB Cluster Read Replicas
// Default, follow primary
mysqlsh-js> cluster.addReplicaInstance("brussels:3006")
(...)
// Change to follow secondaries
mysqlsh-js> cluster.setInstanceOption("brussels:3006", {replicationSources:
"secondary"})
mysqlsh-js> cluster.rejoinInstance("brussels:3006")
(...)
// Configure Router to use only Read Replicas for R/O traffic
mysqlsh-js> cluster.setRoutingOption("read_only_targets", "read_replicas"})
(...)
~/belgian_days_24
44 Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
Deprecations 8.2.0
• 5.7 support EOL’d Oct 2023
• dba.configureLocalInstance()
• Cluster.checkInstanceState()
• Command options:
• interactive
• password
• clearReadOnly
Copyright © 2024, Oracle and/or its affiliates. All rights reserved.
45
Thank you!
Questions?
Suggestions?
Requests?
MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!

Contenu connexe

Tendances

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQLI Goo Lee
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariDataWorks Summit
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)Mydbops
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMiguel Araújo
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
MySQL Innovation Day Chicago - MySQL HA So Easy : That's insane !!
MySQL Innovation Day Chicago  - MySQL HA So Easy : That's insane !!MySQL Innovation Day Chicago  - MySQL HA So Easy : That's insane !!
MySQL Innovation Day Chicago - MySQL HA So Easy : That's insane !!Frederic Descamps
 
SQL Tuning, takes 3 to tango
SQL Tuning, takes 3 to tangoSQL Tuning, takes 3 to tango
SQL Tuning, takes 3 to tangoMauro Pagano
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesKenny Gryp
 
Oracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub ImplementationOracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub ImplementationVengata Guruswamy
 
Manage Add-On Services with Apache Ambari
Manage Add-On Services with Apache AmbariManage Add-On Services with Apache Ambari
Manage Add-On Services with Apache AmbariDataWorks Summit
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability Mydbops
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMarkus Michalewicz
 
Extreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateExtreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateBobby Curtis
 

Tendances (20)

Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with Ambari
 
MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)MySQL Enterprise Backup (MEB)
MySQL Enterprise Backup (MEB)
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
MySQL Innovation Day Chicago - MySQL HA So Easy : That's insane !!
MySQL Innovation Day Chicago  - MySQL HA So Easy : That's insane !!MySQL Innovation Day Chicago  - MySQL HA So Easy : That's insane !!
MySQL Innovation Day Chicago - MySQL HA So Easy : That's insane !!
 
SQL Tuning, takes 3 to tango
SQL Tuning, takes 3 to tangoSQL Tuning, takes 3 to tango
SQL Tuning, takes 3 to tango
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best PracticesMySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
MySQL InnoDB Cluster - New Features in 8.0 Releases - Best Practices
 
Oracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub ImplementationOracle Goldengate for Big Data - LendingClub Implementation
Oracle Goldengate for Big Data - LendingClub Implementation
 
Long live to CMAN!
Long live to CMAN!Long live to CMAN!
Long live to CMAN!
 
kafka
kafkakafka
kafka
 
Manage Add-On Services with Apache Ambari
Manage Add-On Services with Apache AmbariManage Add-On Services with Apache Ambari
Manage Add-On Services with Apache Ambari
 
Galera cluster for high availability
Galera cluster for high availability Galera cluster for high availability
Galera cluster for high availability
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
MySQL Router REST API
MySQL Router REST APIMySQL Router REST API
MySQL Router REST API
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
 
ASH and AWR on DB12c
ASH and AWR on DB12cASH and AWR on DB12c
ASH and AWR on DB12c
 
Extreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGateExtreme Replication - Performance Tuning Oracle GoldenGate
Extreme Replication - Performance Tuning Oracle GoldenGate
 

Similaire à MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!

MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorialFrederic Descamps
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...GeneXus
 
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020the State of the Dolphin - October 2020
the State of the Dolphin - October 2020Frederic Descamps
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08Kenny Gryp
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQLMySQL Brasil
 
MySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLTed Wennmark
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !Frederic Descamps
 
My sql fabric webinar v1.1
My sql fabric webinar v1.1My sql fabric webinar v1.1
My sql fabric webinar v1.1Ricky Setyawan
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deploymentIvan Ma
 
How to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL ShellHow to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL ShellFrederic Descamps
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance TuningMark Swarbrick
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em StartupsMySQL Brasil
 
State of The Dolphin - May 2021
State of The Dolphin - May 2021State of The Dolphin - May 2021
State of The Dolphin - May 2021Frederic Descamps
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLMario Beck
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7MySQL Brasil
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMario Beck
 

Similaire à MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All! (20)

MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorialMySQL InnoDB Cluster and Group Replication in a nutshell  hands-on tutorial
MySQL InnoDB Cluster and Group Replication in a nutshell hands-on tutorial
 
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
MySQL 20 años: pasado, presente y futuro; conoce las nuevas características d...
 
the State of the Dolphin - October 2020
the State of the Dolphin - October 2020the State of the Dolphin - October 2020
the State of the Dolphin - October 2020
 
MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08MySQL Database Architectures - 2022-08
MySQL Database Architectures - 2022-08
 
My sql8 innodb_cluster
My sql8 innodb_clusterMy sql8 innodb_cluster
My sql8 innodb_cluster
 
5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL5 razões estratégicas para usar MySQL
5 razões estratégicas para usar MySQL
 
MySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQL
 
MySQL Fabric
MySQL FabricMySQL Fabric
MySQL Fabric
 
DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !DataOps Barcelona - MySQL HA so easy... that's insane !
DataOps Barcelona - MySQL HA so easy... that's insane !
 
My sql fabric webinar v1.1
My sql fabric webinar v1.1My sql fabric webinar v1.1
My sql fabric webinar v1.1
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deployment
 
How to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL ShellHow to operate MySQL InnoDB Cluster with MySQL Shell
How to operate MySQL InnoDB Cluster with MySQL Shell
 
Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2Sunshine php my sql 8.0 v2
Sunshine php my sql 8.0 v2
 
MySQL Manchester TT - Performance Tuning
MySQL Manchester TT  - Performance TuningMySQL Manchester TT  - Performance Tuning
MySQL Manchester TT - Performance Tuning
 
10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups10 Razões para Usar MySQL em Startups
10 Razões para Usar MySQL em Startups
 
State of The Dolphin - May 2021
State of The Dolphin - May 2021State of The Dolphin - May 2021
State of The Dolphin - May 2021
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
 
Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7Alta Disponibilidade no MySQL 5.7
Alta Disponibilidade no MySQL 5.7
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 

Plus de Miguel Araújo

MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...Miguel Araújo
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMiguel Araújo
 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMiguel Araújo
 
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...Miguel Araújo
 
MySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMiguel Araújo
 
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!Miguel Araújo
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMiguel Araújo
 
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.Miguel Araújo
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesSLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesMiguel Araújo
 
Asynchronous Replication of Databases
Asynchronous Replication of DatabasesAsynchronous Replication of Databases
Asynchronous Replication of DatabasesMiguel Araújo
 
Evaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesEvaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesMiguel Araújo
 

Plus de Miguel Araújo (11)

MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
MySQL InnoDB Cluster / ReplicaSet - Making Provisioning & Troubleshooting as ...
 
MySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - TutorialMySQL InnoDB Cluster / ReplicaSet - Tutorial
MySQL InnoDB Cluster / ReplicaSet - Tutorial
 
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL ShellMySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
MySQL InnoDB Cluster: Management and Troubleshooting with MySQL Shell
 
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...
MySQL Shell - A DevOps-engineer day with MySQL’s development and administrati...
 
MySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQLMySQL Shell: The DevOps Tool for MySQL
MySQL Shell: The DevOps Tool for MySQL
 
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!
FOSDEM'18: MySQL InnoDB Cluster - MySQL HA Made Easy!
 
MySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQLMySQL Shell - The DevOps Tool for MySQL
MySQL Shell - The DevOps Tool for MySQL
 
MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.MySQL Proxy. A powerful, flexible MySQL toolbox.
MySQL Proxy. A powerful, flexible MySQL toolbox.
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foesSLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes
 
Asynchronous Replication of Databases
Asynchronous Replication of DatabasesAsynchronous Replication of Databases
Asynchronous Replication of Databases
 
Evaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated DatabasesEvaluating Data Freshness in Large Scale Replicated Databases
Evaluating Data Freshness in Large Scale Replicated Databases
 

Dernier

WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2WSO2
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 

Dernier (20)

WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
WSO2Con2024 - Facilitating Broadband Switching Services for UK Telecoms Provi...
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

MySQL Shell/AdminAPI - MySQL Architectures Made Easy For All!

  • 1. MySQL Shell/AdminAPI MySQL Architectures Made Easy For All! Miguel Araújo Senior Principal Software Engineer MySQL, Oracle February 2, 2024
  • 2. The following is intended to outline our general product direction. It is intended for information purpose only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied up in making purchasing decisions. The development, release and timing of any features or functionality described for Oracle's product remains at the sole discretion of Oracle. Safe Harbor Statement Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 2
  • 3. $ whoami miguel_araujo $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 3 ~/belgian_days_24
  • 4. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 4 ~/belgian_days_24
  • 5. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 5 ~/belgian_days_24
  • 6. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 6 ~/belgian_days_24
  • 7. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR 20.09.2015 MySQL Router 1st labs release $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 7 ~/belgian_days_24
  • 8. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR 20.09.2015 MySQL Router 1st labs release 15.12.2015 MySQL Fabric aimed for perfection, instead of... $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 8 ~/belgian_days_24
  • 9. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR 20.09.2015 MySQL Router 1st labs release 15.12.2015 MySQL Fabric aimed for perfection, instead of... 11.04.2016 MySQL Shell 1st preview release: 1.0.3m1 $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 9 ~/belgian_days_24
  • 10. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR 20.09.2015 MySQL Router 1st labs release 15.12.2015 MySQL Fabric aimed for perfection, instead of... 11.04.2016 MySQL Shell 1st preview release: 1.0.3m1 06.09.2016 AdminAPI 1st preview release with Shell 1.0.8 + MySQL Router 2.1.0 $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 10 ~/belgian_days_24
  • 11. $ whoami miguel_araujo $ history –E 07.11.2011 Joined MySQL 27.05.2014 MySQL Fabric 1st GA 30.09.2014 ‘Hello World’ blog post from Luís: 1st preview release of GR 20.09.2015 MySQL Router 1st labs release 15.12.2015 MySQL Fabric aimed for perfection, instead of... 11.04.2016 MySQL Shell 1st preview release: 1.0.3m1 06.09.2016 AdminAPI 1st preview release with Shell 1.0.8 + MySQL Router 2.1.0 12.04.2017 MySQL InnoDB Cluster 1st GA $ whoami && history Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 11 ~/belgian_days_24
  • 12. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 12 Business Requirements
  • 13. Concepts – RTO & RPO • RTO: Recovery Time Objective • How long does it take to recover from a single failure • RPO: Recovery Point Objective • How much data can be lost when a failure occurs Types of Failures • High Availability: • Single Server Failure, Network Partition • Disaster Recovery: • Full Region / Network failure • Human Error: • Little Bobby Tables 13 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Business Requirements
  • 14. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 14 MySQL Architectures
  • 15. 'classic', 'asynchronous' Replication based Solution • Manual failover & switchover • Asynchronous reads • Good write performance 15 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB ReplicaSet RPO != 0 RTO = minutes or more (manual failover)
  • 16. High Availability solution based on Group Replication • Automatic failover / Fault Tolerance • Automatic membership changes • Network partition handling • Consistency 16 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB Cluster RPO = 0 RTO = seconds (automatic failover)
  • 17. Disaster Tolerance Solution for InnoDB Clusters deployments in alternate locations • High Availability (Failure within a Region) • RPO = 0 • RTO = seconds (automatic failover) • Disaster Recovery (Region Failure) • RPO != 0 • RTO = minutes or more (manual failover) • No write performance impact 17 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB ClusterSet
  • 18. Read Scale-out • Add any amount of async read replicas to a Cluster • Replicate/Failover from • PRIMARY • SECONDARIES • LIST of candidates Fully supported on • InnoDB Cluster • InnoDB ClusterSet 18 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. ! New in 8.1.0 MySQL InnoDB Cluster Read Replicas
  • 19. 19 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL InnoDB ClusterSet with Read Replicas Flexible • Add/Remove Read Replicas online • Configure Router behavior dynamically • Choose where to route traffic Failover • Automatic connection failover • List of potential sources automatic or manually populated ! New in 8.1.0
  • 20. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 20 What architecture fits my requirements?
  • 21. Single Region MySQL InnoDB Cluster • RPO = 0 • RTO = Seconds MySQL InnoDB ReplicaSet • RPO != 0 • RTO = Minutes or more (Manual failover) 21 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. High Availability Best write performance Manual Failover 🔴 🟢 Automatic failover 🟢
  • 22. Multi Region 22 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. High Availability MySQL InnoDB Cluster: Deployed over multiple regions Multi-Region Multi-Primary 3 DC Requires very stable WAN Write performance affected by latency between DCs • RPO = 0 • RTO = Seconds 🟢 🔴 🔴 🔴
  • 23. Multi Region 23 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Disaster Recovery MySQL InnoDB ClusterSet RPO = 0 & RTO = seconds within Region (HA) Write performance (no sync to other region required) Higher RTO: Manual failover RPO != 0 when region fails • RPO != 0 • RTO = Minutes or more (Manual Failover) 🔴 🔴 🟢 🟢
  • 24. 24 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Read Scale-Out MySQL InnoDB Cluster Read Replicas Read Intensive Workloads Offload Primary or Secondaries Dedicated instances for other purposes Additional redundancy for the dataset 🟢 🟢 🟢 🟢
  • 25. Absolutely... 25 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Complex?
  • 26. User Requirements Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 26 Easy to deploy 1
  • 27. User Requirements Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 27 Easy to deploy 1 2 Easy to maintain
  • 28. User Requirements Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 28 Easy to deploy 1 2 Easy to maintain Easy to monitor 3
  • 29. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 29 MySQL Shell AdminAPI
  • 30. 30 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Shell AdminAPI Makes it easy ----------------------------------------------------------------- Action Command # Calls ----------------------------------------------------------------- Configure instances dba.configureReplicaSetInstance(…) 3 Create Topology dba.createReplicaSet(…) 1 Setup Admin Account rs.setupAdminAccount(…) 1 Add instances rs.addInstance(…) 2 ----------------------------------------------------------------- SUM: 7 ----------------------------------------------------------------- - InnoDB ReplicaSet 1 2 3
  • 31. 31 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Shell AdminAPI Makes it easy ----------------------------------------------------------------- Action Command # Calls ----------------------------------------------------------------- Configure instances dba.configureInstance(…) 3 Create Topology dba.createCluster(…) 1 Setup Admin Account c.setupAdminAccount(…) 1 Add instances c.addInstance(…) 2 ----------------------------------------------------------------- SUM: 7 ----------------------------------------------------------------- - InnoDB Cluster 1 2 3
  • 32. 32 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Shell AdminAPI Makes it easy -------------------------------------------------------- Action Command # Calls -------------------------------------------------------- Create Topology c.createClusterSet(…) 1 Create Replica Cluster cs.createReplicaCluster(…) 2 Add instances to Replica rc.addInstance(…) 3 -------------------------------------------------------- SUM: 6 -------------------------------------------------------- InnoDB ClusterSet 1 2 3 4
  • 33. 33 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Shell AdminAPI Makes it easy ------------------------------------------------------------- Action Command # Calls ------------------------------------------------------------- Add Read Replicas c.addReplicaInstance(…) 3 Configure Router behavior c.setRoutingOption(…) 1 ------------------------------------------------------------- SUM: 4 ------------------------------------------------------------- InnoDB Cluster Read Replicas 1 2 3
  • 34. • Sandbox management • Configuration checker & applier • Account management • MySQL Architectures management • Integrated provisioning • Configuration management • MySQL Router management • Follows best practices 34 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Features AdminAPI
  • 35. 35 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Shell AdminAPI It’s not just a bunch of scripts… ---------------------------------------------------------------------------------------------- Language files blank comment code ---------------------------------------------------------------------------------------------- C++ 144 13213 12466 63402 C/C++ Header 175 4670 9796 14447 SQL 7 393 1298 1447 ---------------------------------------------------------------------------------------------- SUM: 326 18276 23560 79296 ---------------------------------------------------------------------------------------------- ~/ngshell/modules/adminapi
  • 36. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 36 Latest Additions
  • 37. 37 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Security • MySQL Communication Stack used by default 8.0.30 • Full TLS/SSL Support 8.0.33 • Encrypt Group Replication and Asynchronous replication channels • Certificate-based authentication for intra-node communication • Certificate-based authentication for Admin and Router accounts
  • 38. 38 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Security 38 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Security
  • 39. 39 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Concurrency Control & Atomicity • Locking mechanism 8.0.33 • Prevent conflicting operations to run concurrently resulting in unexpected outcome • Supported on the whole API • Operations rollback • Avoid leaving the system / instance in a transient state
  • 40. 40 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Router management • More control over Router configuration • stats_updates_frequency 8.1.0 • read_only_targets 8.1.0 • all • read_replicas • secondaries • unreachable_quorum_allowed_traffic 8.2.0
  • 41. 41 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Router management
  • 42. 42 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. MySQL Architectures • InnoDB Cluster Read Replicas 8.1.0 • InnoDB ReplicaSet new commands: 8.3.0 • .rescan() • .dissolve() • .describe() • Support fine-grained replication options 8.2.0 • SOURCE_*, NETWORK_NAMESPACE • ClusterSet async channel & ReplicaSet
  • 43. 43 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. InnoDB Cluster Read Replicas // Default, follow primary mysqlsh-js> cluster.addReplicaInstance("brussels:3006") (...) // Change to follow secondaries mysqlsh-js> cluster.setInstanceOption("brussels:3006", {replicationSources: "secondary"}) mysqlsh-js> cluster.rejoinInstance("brussels:3006") (...) // Configure Router to use only Read Replicas for R/O traffic mysqlsh-js> cluster.setRoutingOption("read_only_targets", "read_replicas"}) (...) ~/belgian_days_24
  • 44. 44 Copyright © 2024, Oracle and/or its affiliates. All rights reserved. Deprecations 8.2.0 • 5.7 support EOL’d Oct 2023 • dba.configureLocalInstance() • Cluster.checkInstanceState() • Command options: • interactive • password • clearReadOnly
  • 45. Copyright © 2024, Oracle and/or its affiliates. All rights reserved. 45 Thank you! Questions? Suggestions? Requests?