SlideShare a Scribd company logo
1 of 46
Download to read offline
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!

More Related Content

What's hot

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesFrederic Descamps
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0Mayank Prasad
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleColin Charles
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyContinuent
 
How to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversHow to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversSimon J Mudd
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewRené Cannaò
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsFrederic Descamps
 
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 Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterKenny Gryp
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinWagner Bianchi
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용I Goo Lee
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1Jean-François Gagné
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance TuningMaven Logix
 
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11Federico Razzoli
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internalmysqlops
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlJiangjie Qin
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Miguel Araújo
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)Jean-François Gagné
 

What's hot (20)

Percona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL ArchitecturesPercona Live 2022 - MySQL Architectures
Percona Live 2022 - MySQL Architectures
 
MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0MySQL Performance Schema in MySQL 8.0
MySQL Performance Schema in MySQL 8.0
 
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScaleThe Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
The Proxy Wars - MySQL Router, ProxySQL, MariaDB MaxScale
 
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware companyMySQL High Availability and Disaster Recovery with Continuent, a VMware company
MySQL High Availability and Disaster Recovery with Continuent, a VMware company
 
How to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL serversHow to set up orchestrator to manage thousands of MySQL servers
How to set up orchestrator to manage thousands of MySQL servers
 
ProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management OverviewProxySQL High Avalability and Configuration Management Overview
ProxySQL High Avalability and Configuration Management Overview
 
RivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and HistogramsRivieraJUG - MySQL Indexes and Histograms
RivieraJUG - MySQL Indexes and Histograms
 
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 Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & ClusterMySQL Database Architectures - InnoDB ReplicaSet & Cluster
MySQL Database Architectures - InnoDB ReplicaSet & Cluster
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용MySQL 상태 메시지 분석 및 활용
MySQL 상태 메시지 분석 및 활용
 
The consequences of sync_binlog != 1
The consequences of sync_binlog != 1The consequences of sync_binlog != 1
The consequences of sync_binlog != 1
 
PostGreSQL Performance Tuning
PostGreSQL Performance TuningPostGreSQL Performance Tuning
PostGreSQL Performance Tuning
 
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
Webinar - Key Reasons to Upgrade to MySQL 8.0 or MariaDB 10.11
 
InnoDB Internal
InnoDB InternalInnoDB Internal
InnoDB Internal
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
 
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
Disaster Recovery with MySQL InnoDB ClusterSet - What is it and how do I use it?
 
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
MySQL Parallel Replication: All the 5.7 and 8.0 Details (LOGICAL_CLOCK)
 

Similar to 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 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMiguel Araújo
 
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
 
MySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMiguel Araújo
 
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
 
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
 
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
 

Similar to 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 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB ClustersMySQL 8 High Availability with InnoDB Clusters
MySQL 8 High Availability with InnoDB Clusters
 
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
 
MySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery SolutionMySQL Database Architectures - High Availability and Disaster Recovery Solution
MySQL Database Architectures - High Availability and Disaster Recovery Solution
 
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
 
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 !!
 
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
 

More from Miguel Araújo

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...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
 

More from Miguel Araújo (12)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 

Recently uploaded

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 

Recently uploaded (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 

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?