SlideShare ist ein Scribd-Unternehmen logo
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!

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10Kenny Gryp
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Olivier DASINI
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsFrederic Descamps
 
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
 
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
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamLuís Soares
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Mydbops
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationFrederic Descamps
 
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL-Consulting
 
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaAutovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaPostgreSQL-Consulting
 
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
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!Vittorio Cioe
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesFrederic Descamps
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesGustavo Rene Antunez
 
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
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoKeith Hollman
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices Ted Wennmark
 
MySQL Fabricでぼっこぼこにされたはなし
MySQL FabricでぼっこぼこにされたはなしMySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなしyoku0825
 

Was ist angesagt? (20)

MySQL Database Architectures - 2020-10
MySQL Database Architectures -  2020-10MySQL Database Architectures -  2020-10
MySQL Database Architectures - 2020-10
 
MySQL Shell for DBAs
MySQL Shell for DBAsMySQL Shell for DBAs
MySQL Shell for DBAs
 
Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0Upgrade from MySQL 5.7 to MySQL 8.0
Upgrade from MySQL 5.7 to MySQL 8.0
 
MySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & OperationsMySQL InnoDB Cluster - Advanced Configuration & Operations
MySQL InnoDB Cluster - Advanced Configuration & Operations
 
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
 
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
 
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...FOSDEM 2022 MySQL Devroom:  MySQL 8.0 - Logical Backups, Snapshots and Point-...
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...
 
Using The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change StreamUsing The Mysql Binary Log As A Change Stream
Using The Mysql Binary Log As A Change Stream
 
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera ) Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
Wars of MySQL Cluster ( InnoDB Cluster VS Galera )
 
MySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group ReplicationMySQL InnoDB Cluster - Group Replication
MySQL InnoDB Cluster - Group Replication
 
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
 
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaAutovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
 
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
 
MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!MySQL InnoDB Cluster: High Availability Made Easy!
MySQL InnoDB Cluster: High Availability Made Easy!
 
MySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best PracticesMySQL Group Replication: Handling Network Glitches - Best Practices
MySQL Group Replication: Handling Network Glitches - Best Practices
 
Oracle 12c and its pluggable databases
Oracle 12c and its pluggable databasesOracle 12c and its pluggable databases
Oracle 12c and its pluggable databases
 
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 !!
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 
MySQL Performance - Best practices
MySQL Performance - Best practices MySQL Performance - Best practices
MySQL Performance - Best practices
 
MySQL Fabricでぼっこぼこにされたはなし
MySQL FabricでぼっこぼこにされたはなしMySQL Fabricでぼっこぼこにされたはなし
MySQL Fabricでぼっこぼこにされたはなし
 

Ähnlich wie 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
 
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
 

Ähnlich wie 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
 
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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion Clinic
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdfkalichargn70th171
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with StrimziStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzisteffenkarlsson2
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Soroosh Khodami
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareinfo611746
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationHelp Desk Migration
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEJelle | Nordend
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 

Kürzlich hochgeladen (20)

AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with StrimziStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi
 
Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024Secure Software Ecosystem Teqnation 2024
Secure Software Ecosystem Teqnation 2024
 
Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
A Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data MigrationA Guideline to Gorgias to to Re:amaze Data Migration
A Guideline to Gorgias to to Re:amaze Data Migration
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 

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?