Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL 8 : InnoDB Cluster
Madhusudhan G Joshi
Abhilash Samal
MySQL Engineering Group, India
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
1
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes 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 upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
3
Program Agenda
What is InnoDB Cluster ??
InnoDB Cluster Overview
Components ?
Setup and get going
QA
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4
MySQL 8.0: InnoDB Cluster
Vision: “A single product with high availability and scaling features together ; providing an integrated end-
to-end solution that is easy to use.”
• Well integrated, native, full stack High Availability (HA) solution for MySQL
• Provides the mechanism to replicate data within InnoDB cluster, with built-in failover
• Provide AdminAPI’s to configure, deploy, administer InnoDB Cluster
• Ability to interact seamlessly using Connectors for many different languages and end user applications
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL 8.0: InnoDB Cluster Overview
• MySQL 8.0.11+ Servers with Group
Replication, to provide the data replication
mechanism within InnoDB cluster, ensuring
fault tolerance, automated failover, and
elasticity.
• MySQL Shell 8.0.11+, the unified interface
for MySQL developers and DBAs to create
and manage InnoDB Cluster using the built-
in AdminAPI.
MySQL Router 8.0.11+, to provide
transparent routing between the client
(application) requests and the InnoDB
cluster server instances.
Client Application
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Provides distributed State Machine Replication
– strong coordination between servers
• Group can operate in multiple modes
– Single-Primary or Multiple-Primary
• Powered with Group Communication System (GCS) Protocol
– Failure detection mechanism
• Built-in group membership service
– Servers can leave and join the group
and the view is updated automatically
6
MySQL 8.0: Group Replication
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Lightweight middleware
– Provide transparent routing between application and Server
• Building block for HA Solutions
– Simplifies application development by intelligently routing
connections to MySQL servers
7
MySQL 8.0: Router
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Provides an interactive code exécution mode
– Provide transparent routing between application and Server
• Processes code in multiple languages
– JavaScript, Python and SQL
• APIs in JavaScript and Python to interact with MySQL
– XDevAPI supporting relational and document data
– AdminAPI to configure,deploy and administer InnoDB Cluster
8
MySQL 8.0: Shell
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9
Get started in minutes
Setup and Get going….
• Start Server instance
• Add instance to cluster
• Create/Initiate Cluster
• Bootstrap router
• Test Fault Tolerance
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Deploy Instances
• Start MySQL Shell
– binmysqlsh
• Deploy Server Instances
– dba.deploySandboxInstance(….)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Deploy Instances
• Start MySQL Shell
– binmysqlsh
• Deploy Server Instances
– dba.deploySandboxInstance(….)
1310 1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 12
Create Cluster
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
– dba.createCluster(….)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL8Launch
13
Create Cluster
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
– dba.createCluster(….)
1310 1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL8Launch
14
Is Cluster setup …???
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Check Cluster Status
– <cluster_object>.status(….)
1310 1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15
Add more Instances …
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Add more instances
– <cluster_object>.addInstance(….)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL8Launch
16
Add more Instances …
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Add more instances
– <cluster_object>.addInstance(….)
1310 1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
MySQL8Launch
17
How’s Cluster now ???
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Add more Instances
• Check Cluster Status
– <cluster_object>.status(….)
1310 1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18
Help ….
• Run help on MySQL Shell
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19
Help ….
• Run help on MySQL Shell
• Has more help for shell global objects
– dba.help();
– mysqlx.help();
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
* MySQL8Launch
20
MySQL Router
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Add more Instances
• Check Cluster Status
• BootStrap and start MySQL Router
– bin/mysqlrouter --bootstrap ….
1310
InnoDB Cluster *
1311 1312
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
* MySQL8Launch
21
MySQL Router
• Start MySQL Shell
• Deploy Server Instances
• Create/Initiate Cluster
• Add more Instances
• Check Cluster Status
• BootStrap and start MySQL Router
– bin/mysqlrouter --bootstrap ….
1310
InnoDB Cluster *
1311 1312
MySQL8Router
NOTICE the R/W and R/O ports above
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
What’s achieved ??
• Used MySQL Shell
• Setup MySQL InnoDB Cluster
• Bootstrapped MySQL Router
Router is set and HA is in place….
22
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 23
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 24
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 25
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 26
How’s Cluster now ???
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 27
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
What’s achieved ??
• Used MySQL Shell
• Setup MySQL InnoDB Cluster
• Bootstrapped MySQL Router
• Application Fail Over and HA Tested
28
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Another easier way ….
29
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 30
Q & A

More Related Content

My sql8 innodb_cluster

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL 8 : InnoDB Cluster Madhusudhan G Joshi Abhilash Samal MySQL Engineering Group, India Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 1
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes 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 upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |Copyright © 2017, Oracle and/or its affiliates. All rights reserved. 3 Program Agenda What is InnoDB Cluster ?? InnoDB Cluster Overview Components ? Setup and get going QA
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4 MySQL 8.0: InnoDB Cluster Vision: “A single product with high availability and scaling features together ; providing an integrated end- to-end solution that is easy to use.” • Well integrated, native, full stack High Availability (HA) solution for MySQL • Provides the mechanism to replicate data within InnoDB cluster, with built-in failover • Provide AdminAPI’s to configure, deploy, administer InnoDB Cluster • Ability to interact seamlessly using Connectors for many different languages and end user applications
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL 8.0: InnoDB Cluster Overview • MySQL 8.0.11+ Servers with Group Replication, to provide the data replication mechanism within InnoDB cluster, ensuring fault tolerance, automated failover, and elasticity. • MySQL Shell 8.0.11+, the unified interface for MySQL developers and DBAs to create and manage InnoDB Cluster using the built- in AdminAPI. MySQL Router 8.0.11+, to provide transparent routing between the client (application) requests and the InnoDB cluster server instances. Client Application
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Provides distributed State Machine Replication – strong coordination between servers • Group can operate in multiple modes – Single-Primary or Multiple-Primary • Powered with Group Communication System (GCS) Protocol – Failure detection mechanism • Built-in group membership service – Servers can leave and join the group and the view is updated automatically 6 MySQL 8.0: Group Replication
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Lightweight middleware – Provide transparent routing between application and Server • Building block for HA Solutions – Simplifies application development by intelligently routing connections to MySQL servers 7 MySQL 8.0: Router
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Provides an interactive code exécution mode – Provide transparent routing between application and Server • Processes code in multiple languages – JavaScript, Python and SQL • APIs in JavaScript and Python to interact with MySQL – XDevAPI supporting relational and document data – AdminAPI to configure,deploy and administer InnoDB Cluster 8 MySQL 8.0: Shell
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9 Get started in minutes Setup and Get going…. • Start Server instance • Add instance to cluster • Create/Initiate Cluster • Bootstrap router • Test Fault Tolerance
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Deploy Instances • Start MySQL Shell – binmysqlsh • Deploy Server Instances – dba.deploySandboxInstance(….)
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Deploy Instances • Start MySQL Shell – binmysqlsh • Deploy Server Instances – dba.deploySandboxInstance(….) 1310 1311 1312
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 12 Create Cluster • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster – dba.createCluster(….)
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 13 Create Cluster • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster – dba.createCluster(….) 1310 1311 1312
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 14 Is Cluster setup …??? • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Check Cluster Status – <cluster_object>.status(….) 1310 1311 1312
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15 Add more Instances … • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more instances – <cluster_object>.addInstance(….)
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 16 Add more Instances … • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more instances – <cluster_object>.addInstance(….) 1310 1311 1312
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. MySQL8Launch 17 How’s Cluster now ??? • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status – <cluster_object>.status(….) 1310 1311 1312
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18 Help …. • Run help on MySQL Shell
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19 Help …. • Run help on MySQL Shell • Has more help for shell global objects – dba.help(); – mysqlx.help();
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. * MySQL8Launch 20 MySQL Router • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status • BootStrap and start MySQL Router – bin/mysqlrouter --bootstrap …. 1310 InnoDB Cluster * 1311 1312
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. * MySQL8Launch 21 MySQL Router • Start MySQL Shell • Deploy Server Instances • Create/Initiate Cluster • Add more Instances • Check Cluster Status • BootStrap and start MySQL Router – bin/mysqlrouter --bootstrap …. 1310 InnoDB Cluster * 1311 1312 MySQL8Router NOTICE the R/W and R/O ports above
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. What’s achieved ?? • Used MySQL Shell • Setup MySQL InnoDB Cluster • Bootstrapped MySQL Router Router is set and HA is in place…. 22
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 23
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 24
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 25
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 26 How’s Cluster now ???
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 27
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. What’s achieved ?? • Used MySQL Shell • Setup MySQL InnoDB Cluster • Bootstrapped MySQL Router • Application Fail Over and HA Tested 28
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Another easier way …. 29
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 30 Q & A

Editor's Notes

  1. This was one of our more popular features announced earlier in 8.0.0. As part of our efforts to make sure that MySQL can operate and be reconfigured online, we are also considering the effect of common operations such as index changes. The feedback we have received from the field is that any change has the ability to cause a regression, so having the right mechanisms in place to make corrections fast is important.
  2. This was one of our more popular features announced earlier in 8.0.0. As part of our efforts to make sure that MySQL can operate and be reconfigured online, we are also considering the effect of common operations such as index changes. The feedback we have received from the field is that any change has the ability to cause a regression, so having the right mechanisms in place to make corrections fast is important.