Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
https://www.facebook.com/groups/hkmysqlusergroup/
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication Deep Dive
马楚成 (Ivan Ma)
ivan-cs.ma@oracle.com
2017-06-10
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
22y
Constant improvements of MySQL as
a relational database.
3
JSON Functions
Stored Procedures
Async Replication
Semi-Sync Replication
Group Replication
Foreign Keys
Performance Schema
Multi-Triggers
Partitioning
Sub-queriesDocument Store
Prepared Statements
R-Trees
B-Trees
Row-based Replication
Plugin API
Event Scheduler
Unicode
Full-Text Search
Enterprise Monitor
WorkbenchInnoDB
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4
Scale-Out
High Performance
Ease-of-Use
Built-in HA
Out-of-Box Solution
Everything Integrated
MySQL
InnoDB
cluster
GA

Recommended for you

MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster

Group Replication is a plugin that provides multi-master replication for MySQL. It allows transactions to be executed on any node and replicated in a synchronous manner to all other nodes. The changes are delivered in total order to each node using GTIDs to ensure strong consistency across the cluster. Certification and application of the changes occurs asynchronously on each node after the writeset has been synchronously delivered.

mysql group replicationhamysql
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster

This document provides an overview of MySQL high availability solutions including InnoDB Cluster and NDB Cluster. InnoDB Cluster allows setting up a highly available MySQL cluster with auto-sharding using Group Replication and MySQL Router for transparent application routing. NDB Cluster is a memory-optimized database for low-latency applications requiring high scalability and availability. MySQL Shell provides a unified interface for deploying, managing and monitoring these MySQL HA solutions.

ndbmysqlmysql cluster
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin

MySQL Day Paris 2016 - State Of The Dolphin MySQL 8.0.0. DMR 1 MySQL Group Replication MySQL Cluster Oracle MySQL Cloud Service

clusterinnodbhigh availability
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Connector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
MySQL Connector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL InnoDB Cluster: High Level Architecture
MySQL
InnoDB
cluster MySQL Enterprise Monitor
…
5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL InnoDB Cluster: Internal Architecture
M
M M
MySQL Connector
Application
MySQL Router
MySQL Connector
Application
MySQL Router
MySQL Shell
HA
Group Replication
6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
InnoDB Cluster
7
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
“High Availability becomes a core
first class feature of MySQL!”
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL
Group Replication
Natively distributed and highly available replica sets

Recommended for you

Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesOracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices

This document provides an overview and best practices for MySQL replication. It begins with the basics of replication including the binary log, replication components and architecture. It then covers crash-safe slaves using replication metadata in system tables, online data verification with replication event checksums, tuning row-based replication, improving slave scalability with multi-threaded slaves, and automated failover using global transaction IDs. Hands-on examples are also provided to demonstrate setting up replication between a master and slave server.

mysql oracle
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication

MySQL Group Replication is a multi-master update everywhere replication plugin that provides high availability. It removes the need for handling server failover, provides fault tolerance, and automates group reconfiguration. Transactions are replicated to all group members, with conflicts detected and resolved using a first committer wins rule. Failed members automatically rejoin the group and synchronize with the others transparently. Group Replication uses the standard MySQL and InnoDB architecture, so existing users will feel familiar. It also supports features like auto-increment handling, GTIDs, secure connections, and a new single primary mode.

mysql group replicationmysqlreplication
High Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterHigh Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB Cluster

InnoDB Cluster is the built-in and open-source High Availability solution for MySQL 8. It consists of three components. The engine is MySQL Group Replication: the highly available cluster of database servers. This is where your data is safe and available, due to the replicated state machine, relying on the famous Paxos protocol. At the driver's seat is MySQL Shell: the DevOp's multilingual console. Here you can deploy, query, and arrange your cluster using either Javascript or Python, to your taste. Your application is welcomed to join the ride by connecting to MySQL Router: the intelligent, seamless interface to the cluster. We introduce all three components, with a special focus on Group Replication.

mysqlmysql 8innodb cluster
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Group Replication: What Is It?
• Group Replication library
– Implementation of Replicated Database State Machine
theory
• MySQL GCS is based on our home-grown Paxos implementation
– Provides virtually synchronous replication for MySQL 5.7+
• Guarantees eventual consistency
– Supported on all MySQL platforms
• Linux, Windows, Solaris, OSX, FreeBSD
“Multi-master update anywhere replication plugin for MySQL with
built-in conflict detection and resolution, automatic distributed
recovery, and group membership.”
9
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10
MySQL Server: Full Stack
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Server: Group Replication Plugin
• The plugin is responsible for
– Maintaining distributed execution context
– Detecting and handling conflicts
– Handling distributed recovery
• Detect membership changes
• Donate state if needed
• Collect state if needed
– Proposing transactions to other members
– Receiving and handling transactions from other
members
– Deciding the ultimate fate of transactions
• commit or rollback
11
GCS API
Replication
Plugin
Plugin API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Server: GCS
• The communication API (and binding) is
responsible for:
– Abstracting the underlying group communication
system implementation from the plugin itself
– Mapping the interface to a specific group
communication system implementation
• The Group Communication System engine:
– Variant of Paxos developed at MySQL
– Building block to provide distributed agreement
between servers
12
GCS API
Replication
Plugin
Plugin API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine

Recommended for you

replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8

A brief introduction to MySQL (Group) Replication: what it is and some of the architecture. Then, a highlight of the most important new replication features in MySQL 8 (as of 8.0.3 RC).

mysqloraclereplication
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool

Session presented at Oracle Developer Live - MySQL, 2020. Recording available at https://developer.oracle.com/developer-live/mysql/ Abstract: MySQL Shell is the new, advanced command-line client and editor for MySQL. It sends SQL statements to MySQL server, supports both the classic MySQL protocol and the newer X protocol, and provides scripting capabilities for JavaScript and Python. But there's more to MySQL Shell than meets the eye. It delivers a natural and powerful interface for all DevOps tasks related to MySQL by providing APIs for development and administration. This session covers MySQL Shell's core features, along with demonstrations of how to use the various APIs and how to extend MySQL Shell. We’ll address the regular interaction with databases, the built-in tools that make DBAs and developers’ lives easier, the easy and flawless set up of HA architectures, and the plugins and extensions framework.

#mysql#dba#ha
Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group Replication

MySQL Group Replication is a new plugin that implements an exciting extension to the proven and long standing MySQL Replication technology. It leverages advanced distributed protocols to ultimately provide to the end user features such as data replication, high availability, split brain protection and automation. It can be deployed in single-primary mode (default), in which primary fail-over is handled gracefully and automatically, or in multi-master mode, in which row level conflicts are detected and handled automatically as well. Regardless of the deployment mode, the end result is that this new addition provides a consistent and dependable replicated state machine, thus effectively enabling a fault-tolerant MySQL database service. At the end of the presentation, you will be able to understand how it works, the use cases it address, its limitations and also its roadmap ahead. Moreover, you will get to know how it fits in the overall high availability roadmap at MySQL.

mysql group replicationmulti-mastermulti-master update everywhere
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Router
Transparent application connection routing
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Router
• Transparent client connection routing
– Load balancing
– Application connection failover
• Stateless design offers easy HA client routing
– A local Router becomes part of the application stack
”MySQL Router allows you to easily migrate your standalone MySQL
instances to natively distributed and highly available InnoDB clusters
without affecting existing applications!”
14
Transparent access to HA databases for MySQL Applications
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Router: 2.1
• Native support for InnoDB clusters
– Understands Group Replication topology
– Utilizes metadata schema stored on each member
• Bootstraps itself and sets up client routing for the InnoDB cluster
• Allows for intelligent client routing into the InnoDB cluster
– Supports multi-master and single primary modes
• Core improvements
– Built-in keyring for easy and secure password management
15
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
”MySQL Router 2.1, with the new metadata_cache plugin, provides
transparent client connection routing and failover into your InnoDB clusters!”
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
Single tool for development, setup,
management, orchestration, and monitoring

Recommended for you

MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview

The document provides an overview of MySQL Group Replication, which is a multi-master update anywhere replication plugin for MySQL that provides built-in automatic distributed recovery, conflict detection, and group membership. It allows for active/active update anywhere setups, automates group reconfiguration, and provides a highly available distributed database service. The document discusses the theory behind MySQL Group Replication, provides examples of how to use it, and concludes by discussing its benefits and future releases.

distributed consensusclustersmysql
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB

With the new release of MySQL 5.7 there is a lot of news on InnoDB. Here is the deep dive. Some intro to InnoDB and the news about 5.7 release.

mysqlinnodb
Conference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningConference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance Tuning

This presentation goes through performance tuning basics in MySQL Cluster. It also covers the new parameters and status variables of MySQL Cluster 7.2 to determine issues with e.g disk data performance and query (join) performance.

performance tuningmysql clustermysql
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
17
A single unified client for all administrative and operations tasks
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
• Multi-Language: JavaScript, Python, and SQL
– Naturally scriptable
• Supports both Document and Relational models
• Exposes full Development and Admin API
”MySQL Shell provides the developer and DBA with a single intuitive,
flexible, and powerful interface for all MySQL related tasks!”
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell: Admin API
• mysql-js> dba.help()
• The global variable 'dba' is used to access the
MySQL AdminAPI
• Perform DBA operations
– Manage MySQL InnoDB clusters
• Create clusters
• Validate MySQL instances
• Configure MySQL instances
• Get cluster info
• Modify clusters
Database Administration Interface
App Servers with
MySQL Router
MySQL Group Replication
MySQL Shell
Setup, Manage,
Orchestrate
18
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Enterprise Monitor
• Native holistic support for Group Replication / InnoDB clusters (GA in 3.4!)
– Topology views
– Detailed metrics and graphs
– Best Practice advice
19
GA
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
More …
Saturday, December 10, 2016

Recommended for you

MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015

MySQL 5.7 is GA! Here is the news about many of the new features that we can use in MySQL's latest version.

mysqloraclenews
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive

The document discusses Oracle's MySQL Cloud Service which provides MySQL as a database service on Oracle Public Cloud. Key features include automated backups, patching, monitoring, elastic scaling, high availability, security features from MySQL Enterprise Edition, and tools for data access, migration and restoration. The service runs MySQL 5.7 Enterprise Edition with an optimized configuration for the cloud environment.

MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...

Migration from Asynchronous Master/Slave pair to MySQL InnoDB Cluster using MySQL Enterprise Backup (MEB)

mysql enterprisemysqlmysql innodb cluster
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Demonstration
21
MySQL Shell
MySQL
InnoDB
cluster
Wordpress
MySQL MySQL MySQL
MySQL
Router
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
22
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell – dba.help();
23
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell – dba.help(‘deploySandboxInstance’);
• dba.deploySandboxInstance(‘3310’);
24
mysql-js> dba.deploySandboxInstance(3310);
A new MySQL sandbox instance will be created on this host in
/home/mysql/mysql-sandboxes/3310
Please enter a MySQL root password for the new instance:
Deploying new MySQL instance...
Instance localhost:3310 successfully deployed and started.
Use shell.connect('root@localhost:3310'); to connect to the instance.

Recommended for you

Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster

The document discusses asynchronous MySQL replication and its limitations. Asynchronous replication involves replicas streaming replication logs from a single master, which can lead to lag. Replica provisioning and data consistency must be manually handled. Complex replication topologies can be built but come with challenges around write safety and management overhead. Group replication aims to address some of these issues.

mysql innodb clustermysqlha
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012

This document provides a summary of new features and enhancements in MySQL 5.6, including improved performance, scalability, availability, and usability. Key highlights include optimizations to the query optimizer, enhanced instrumentation via the performance schema, improvements to InnoDB and replication, and new utilities to help administer replication deployments. Oracle aims to release development milestone versions of MySQL frequently to get new features in users' hands early.

mysql5.6 roadmap
淘宝数据库架构演进历程
淘宝数据库架构演进历程淘宝数据库架构演进历程
淘宝数据库架构演进历程

1.淘宝数据库发展的三个阶段 2.用户,商品,交易现在的架构 3. 2010双11大促的挑战 4. MySQL源代码研究的一些思路 5. 淘宝自主数据库Oceanbase原理介绍

taobao zhaolinjnu
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Adding more MySQL Instances
• dba.deploySandboxInstance(3310);
• dba.deploySandboxInstance(3320);
• dba.deploySandboxInstance(3330);
25
mysql-js> dba.checkInstanceConfiguration(3310);
Invalid connection options, expected either a URI or a Dictionary (ArgumentError)
mysql-js> dba.checkInstanceConfiguration('localhost:3310');
Please provide the password for 'root@localhost:3310':
Validating instance...
The instance 'localhost:3310' is valid for Cluster usage
{
"status": "ok"
}
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
Creating the MySQL InnoDB Cluster
• Connecting to Live Instance e.g. mysql-js>connect localhost:3310
• Creating the Cluster e.g. mysql-js>var cluster = dba.createCluster(‘mycluster’)
26
mysql-js> c localhost:3310
Creating a Session to 'root@localhost:3310'
Enter password:
Classic Session successfully established. No default schema selected.
mysql-js> var cluster = dba.createCluster('mycluster');
A new InnoDB cluster will be created on instance 'root@localhost:3310'.
Creating InnoDB cluster 'mycluster' on 'root@localhost:3310'...
Adding Seed Instance...
Cluster successfully created. Use Cluster.addInstance() to add MySQL instances.
At least 3 instances are needed for the cluster to be able to withstand up to
one server failure.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
Checking Cluster’s status and adding new members to the Cluster
27
mysql-js> cluster.addInstance('localhost:3320');
A new instance will be added to the InnoDB cluster. Depending on the
amount of
data on the cluster this might take from a few seconds to several hours.
Please provide the password for 'root@localhost:3320':
Adding instance to the cluster ...
The instance 'root@localhost:3320' was successfully added to the
cluster.
mysql-js> cluster.addInstance('localhost:3330');
A new instance will be added to the InnoDB cluster. Depending on the
amount of
data on the cluster this might take from a few seconds to several hours.
Please provide the password for 'root@localhost:3330':
Adding instance to the cluster ...
The instance 'root@localhost:3330' was successfully added to the
cluster.
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 28

Recommended for you

MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication

Group Replication went Generally Available end of 2016, it introduces a 'synchronous' active:active multi-master eplication, in addition to asynchronous and semi-synchronous replication, the latter 2 being available in in MySQL for longtime. As with any new feature, and especially with introducing active:active multi-master replication, it takes a while before companies are adopting the software in production database environment. For example, even though MySQL 5.7 has been GA for more than a year, adoption is only starting to increase recently. We can, and should, expect the same from Group Replication. As with every release, bugs will be found, and with new features, best practises still need to formed out of practical experience. After giving a short introduction on what Group Replication is, I will cover my experience so far in evaluating Group Replication.

mysqlgroup replicationoracle
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL

This document provides an overview of techniques for capturing and analyzing SQL queries in MySQL databases. It discusses built-in MySQL options like the slow query log, general query log, and binary log. It also covers other techniques like using MySQL Proxy, TCP/IP capture, Dtrace/SystemTap, and application management. Specific examples are provided for slow query log output, the general query log from WordPress, and the binary log and processlist.

mysqlmk-query-digestqep
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure

This document discusses the goals, architecture, and on-disk format of the InnoDB storage engine for MySQL. InnoDB aims to provide transaction support, reliability, and scalability. Its architecture includes buffering, locking, recovery, and efficient I/O mechanisms. The on-disk format is designed for durability, performance through techniques like compression, and compatibility through file format management. Source code is organized into subdirectories corresponding to major subsystems.

innodb internals innodb file formats and source co
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Shell
dba.configureLocalInstance(uri)
29
mysql-js> dba.configureLocalInstance('localhost:3310');
Please provide the password for 'root@localhost:3310':
Detected as sandbox instance.
Validating MySQL configuration file at: /home/mysql/mysql-
sandboxes/3310/my.cnf
Validating instance...
The instance 'localhost:3310' is valid for Cluster usage
You can now use it in an InnoDB Cluster.
{
"status": "ok"
}
mysql-js> dba.configureLocalInstance('localhost:3320');
Please provide the password for 'root@localhost:3320':
Detected as sandbox instance.
Validating MySQL configuration file at: /home/mysql/mysql-
sandboxes/3320/my.cnf
Validating instance...
The instance 'localhost:3320' is valid for Cluster usage
You can now use it in an InnoDB Cluster.
{
"status": "ok"
}
mysql-js>
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
SandboxInstances
• E.g. MySQL configuration file : /home/mysql/mysql-sandboxes/3310/my.cnf
• dba.configureLocalInstance(uri)
– [mysql@virtual-41 3310]$ ll my.cnf*
– -rw------- 1 mysql mysql 2376 May 31 17:04 my.cnf
– -rw-rw-r-- 1 mysql mysql 882 May 31 17:04 my.cnf.20170531-170412
30
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Persist configuration - dba.configureLocalInstance(uri)
31
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
https://www.facebook.com/groups/hkmysqlusergroup/

Recommended for you

Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling

Designing an extensible, flexible schema that supports user customization is a common requirement, but it's easy to paint yourself into a corner. Examples of extensible database requirements: - A database that allows users to declare new fields on demand. - Or an e-commerce catalog with many products, each with distinct attributes. - Or a content management platform that supports extensions for custom data. The solutions we use to meet these requirements is overly complex and the performance is terrible. How should we find the right balance between schema and schemaless database design? I'll briefly cover the disadvantages of Entity-Attribute-Value (EAV), a problematic design that's an example of the antipattern called the Inner-Platform Effect, That is, modeling an attribute-management system on top of the RDBMS architecture, which already provides attributes through columns, data types, and constraints. Then we'll discuss the pros and cons of alternative data modeling patterns, with respect to developer productivity, data integrity, storage efficiency and query performance, and ease of extensibility. - Class Table Inheritance - Serialized BLOB - Inverted Indexing Finally we'll show tools like pt-online-schema-change and new features of MySQL 5.6 that take the pain out of schema modifications.

mysqlsqlrelational database
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure

Verisure migrated their data warehouse from using Tungsten Replicator to native multi-source replication in MySQL 5.7 to simplify operations. They loaded data from production shards into the new data warehouse setup using XtraBackup backups and improved replication capacity with MySQL's parallel replication features. Some issues were encountered with replication lag reporting and crashes during the upgrade but most were resolved. Monitoring and management tools also required updates to support the new multi-source replication configuration.

mysqlreplicationpercona
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour

This document provides an overview and agenda for a presentation on MySQL best practices for DBAs and developers. The presentation covers essential MySQL configuration practices like server SQL mode and storage engines. It also discusses improving SQL, user security, schema optimizations, instrumentation, and monitoring. Specific topics include comment SQL, formatting SQL, future proofing SQL, and analyzing SQL. The document provides examples and recommendations for each topic.

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Questions
Thank You

More Related Content

What's hot

MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
Olivier DASINI
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
Sujatha Sivakumar
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
Mario Beck
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
Frederic Descamps
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
Mario Beck
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
Olivier DASINI
 
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesOracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Sven Sandberg
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication
Nuno Carvalho
 
High Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterHigh Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB Cluster
Sven Sandberg
 
replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8
Sven Sandberg
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
Miguel Araújo
 
Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group Replication
Nuno Carvalho
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
Matt Lord
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
Mario Beck
 
Conference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningConference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance Tuning
Severalnines
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
Mario Beck
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
Morgan Tocker
 
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
Frederic Descamps
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
Frederic Descamps
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
sqlhjalp
 

What's hot (20)

MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB ClusterMySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
MySQL Day Paris 2016 - MySQL HA: InnoDB Cluster and NDB Cluster
 
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 BangaloreMySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
MySQL InnoDB Cluster and Group Replication - OSI 2017 Bangalore
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio  in a nutshell - MySQL InnoDB ClusterMySQL Group Replicatio  in a nutshell - MySQL InnoDB Cluster
MySQL Group Replicatio in a nutshell - MySQL InnoDB Cluster
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB Cluster
 
MySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The DolphinMySQL Day Paris 2016 - State Of The Dolphin
MySQL Day Paris 2016 - State Of The Dolphin
 
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best PracticesOracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
Oracle OpenWorld 2013 - HOL9737 MySQL Replication Best Practices
 
MySQL High Availability with Group Replication
MySQL High Availability with Group ReplicationMySQL High Availability with Group Replication
MySQL High Availability with Group Replication
 
High Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB ClusterHigh Availability in MySQL 8 using InnoDB Cluster
High Availability in MySQL 8 using InnoDB Cluster
 
replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8replic8 - Replication in MySQL 8
replic8 - Replication in MySQL 8
 
MySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA ToolMySQL Shell - The Best MySQL DBA Tool
MySQL Shell - The Best MySQL DBA Tool
 
Everything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group ReplicationEverything You Need to Know About MySQL Group Replication
Everything You Need to Know About MySQL Group Replication
 
MySQL Group Replication - an Overview
MySQL Group Replication - an OverviewMySQL Group Replication - an Overview
MySQL Group Replication - an Overview
 
MySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDBMySQL 5.7: Focus on InnoDB
MySQL 5.7: Focus on InnoDB
 
Conference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance TuningConference slides: MySQL Cluster Performance Tuning
Conference slides: MySQL Cluster Performance Tuning
 
MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015MySQL 5.7: What's New, Nov. 2015
MySQL 5.7: What's New, Nov. 2015
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
MySQL innodb cluster and Group Replication in a nutshell - hands-on tutorial ...
 
Introduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB ClusterIntroduction to MySQL InnoDB Cluster
Introduction to MySQL InnoDB Cluster
 
My sql 56_roadmap_april2012
My sql 56_roadmap_april2012My sql 56_roadmap_april2012
My sql 56_roadmap_april2012
 

Viewers also liked

淘宝数据库架构演进历程
淘宝数据库架构演进历程淘宝数据库架构演进历程
淘宝数据库架构演进历程
zhaolinjnu
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Kenny Gryp
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
Ronald Bradford
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
zhaolinjnu
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
Karwin Software Solutions LLC
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
Kenny Gryp
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
Ronald Bradford
 
Mysql high availability and scalability
Mysql high availability and scalabilityMysql high availability and scalability
Mysql high availability and scalability
yin gong
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
Ronald Bradford
 
Explain
ExplainExplain
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
Kenny Gryp
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Kenny Gryp
 
MySQL Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
Morgan Tocker
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
Kenny Gryp
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
zhaolinjnu
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Manish Kumar
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Pedro Gomes
 
Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
Ronald Bradford
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
Sveta Smirnova
 

Viewers also liked (20)

淘宝数据库架构演进历程
淘宝数据库架构演进历程淘宝数据库架构演进历程
淘宝数据库架构演进历程
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Capturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQLCapturing, Analyzing and Optimizing MySQL
Capturing, Analyzing and Optimizing MySQL
 
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structureInno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
 
Extensible Data Modeling
Extensible Data ModelingExtensible Data Modeling
Extensible Data Modeling
 
Multi Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ VerisureMulti Source Replication With MySQL 5.7 @ Verisure
Multi Source Replication With MySQL 5.7 @ Verisure
 
MySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD TourMySQL Best Practices - OTN LAD Tour
MySQL Best Practices - OTN LAD Tour
 
Mysql high availability and scalability
Mysql high availability and scalabilityMysql high availability and scalability
Mysql high availability and scalability
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потеряхМониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
 
MySQL Backup and Recovery Essentials
MySQL Backup and Recovery EssentialsMySQL Backup and Recovery Essentials
MySQL Backup and Recovery Essentials
 
Explain
ExplainExplain
Explain
 
Java MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & OptimizationJava MySQL Connector & Connection Pool Features & Optimization
Java MySQL Connector & Connection Pool Features & Optimization
 
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group ReplicationPercona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication
 
MySQL Server Defaults
MySQL Server DefaultsMySQL Server Defaults
MySQL Server Defaults
 
Advanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suiteAdvanced Percona XtraDB Cluster in a nutshell... la suite
Advanced Percona XtraDB Cluster in a nutshell... la suite
 
2010丹臣的思考
2010丹臣的思考2010丹臣的思考
2010丹臣的思考
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
 
Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1Successful Scalability Principles - Part 1
Successful Scalability Principles - Part 1
 
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
MySQL Storage Engines - which do you use? TokuDB? MyRocks? InnoDB?
 

Similar to MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017

MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
Olivier DASINI
 
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
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1
Ivan Ma
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
Ivan Ma
 
My sql8 innodb_cluster
My sql8 innodb_clusterMy sql8 innodb_cluster
My sql8 innodb_cluster
Mysql User Camp
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deployment
Ivan Ma
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
MySQL Brasil
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
Olivier DASINI
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
Tarique Saleem
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp
 
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
Kathy Forte (Hassard)
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
Dave Stokes
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
Ted Wennmark
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
Mark Swarbrick
 
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
OracleMySQL
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
Olivier DASINI
 
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
Cloud Native Day Tel Aviv
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
OracleMySQL
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
Keith Hollman
 

Similar to MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017 (20)

MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP ParisMySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
MySQL InnoDB Cluster - Meetup Oracle MySQL / AFUP Paris
 
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!
 
20191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv120191001 bkk-secret-of inno-db_clusterv1
20191001 bkk-secret-of inno-db_clusterv1
 
20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing20190817 coscup-oracle my sql innodb cluster sharing
20190817 coscup-oracle my sql innodb cluster sharing
 
My sql8 innodb_cluster
My sql8 innodb_clusterMy sql8 innodb_cluster
My sql8 innodb_cluster
 
20200613 my sql-ha-deployment
20200613 my sql-ha-deployment20200613 my sql-ha-deployment
20200613 my sql-ha-deployment
 
MySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e UberMySQL no Paypal Tesla e Uber
MySQL no Paypal Tesla e Uber
 
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...MySQL High Availability Solutions  -  Avoid loss of service by reducing the r...
MySQL High Availability Solutions - Avoid loss of service by reducing the r...
 
Mysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New FeaturesMysql User Camp : 20th June - Mysql New Features
Mysql User Camp : 20th June - Mysql New Features
 
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
Mysql User Camp : 20-June-14 : Mysql New features and NoSQL Support
 
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
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
MySQL for Oracle DBA -- Rocky Mountain Oracle User Group Training Days '15
 
MySQL HA
MySQL HAMySQL HA
MySQL HA
 
InnoDb Vs NDB Cluster
InnoDb Vs NDB ClusterInnoDb Vs NDB Cluster
InnoDb Vs NDB Cluster
 
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
MySQL in Oracle environment : Quick start guide for Oracle DBA (Part 1)
 
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
MySQL Day Paris 2018 - MySQL InnoDB Cluster; A complete High Availability sol...
 
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
MySQL Shell: the daily tool for devs and admins. By Vittorio Cioe.
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
 
MySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & DemoMySQL InnoDB Cluster HA Overview & Demo
MySQL InnoDB Cluster HA Overview & Demo
 

More from Ivan Ma

Exploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in PythonExploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in Python
Ivan Ma
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
Ivan Ma
 
20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2
Ivan Ma
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8
Ivan Ma
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1
Ivan Ma
 
20161029 py con-mysq-lv3
20161029 py con-mysq-lv320161029 py con-mysq-lv3
20161029 py con-mysq-lv3
Ivan Ma
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01
Ivan Ma
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07
Ivan Ma
 
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a20151010 my sq-landjavav2a
20151010 my sq-landjavav2a
Ivan Ma
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
Ivan Ma
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
Ivan Ma
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
Ivan Ma
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx
Ivan Ma
 

More from Ivan Ma (13)

Exploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in PythonExploring MySQL Operator for Kubernetes in Python
Exploring MySQL Operator for Kubernetes in Python
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
 
20190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev220190615 hkos-mysql-troubleshootingandperformancev2
20190615 hkos-mysql-troubleshootingandperformancev2
 
20180420 hk-the powerofmysql8
20180420 hk-the powerofmysql820180420 hk-the powerofmysql8
20180420 hk-the powerofmysql8
 
20171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v120171104 hk-py con-mysql-documentstore_v1
20171104 hk-py con-mysql-documentstore_v1
 
20161029 py con-mysq-lv3
20161029 py con-mysq-lv320161029 py con-mysq-lv3
20161029 py con-mysq-lv3
 
20160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab0120160821 coscup-my sql57docstorelab01
20160821 coscup-my sql57docstorelab01
 
Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07Hkosc group replication-lecture_lab07
Hkosc group replication-lecture_lab07
 
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a20151010 my sq-landjavav2a
20151010 my sq-landjavav2a
 
01 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv101 demystifying mysq-lfororacledbaanddeveloperv1
01 demystifying mysq-lfororacledbaanddeveloperv1
 
Exploring mysql cluster 7.4
Exploring mysql cluster 7.4Exploring mysql cluster 7.4
Exploring mysql cluster 7.4
 
20150110 my sql-performanceschema
20150110 my sql-performanceschema20150110 my sql-performanceschema
20150110 my sql-performanceschema
 
20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx20141011 my sql clusterv01pptx
20141011 my sql clusterv01pptx
 

Recently uploaded

HERO.pdf hero company working cap management project
HERO.pdf hero company working cap management projectHERO.pdf hero company working cap management project
HERO.pdf hero company working cap management project
SambalpurTokaSatyaji
 
Pengukuran berat badan anak dan tinggi badan anak
Pengukuran berat badan anak dan tinggi badan anakPengukuran berat badan anak dan tinggi badan anak
Pengukuran berat badan anak dan tinggi badan anak
DeviDamayanti53
 
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
saroohilakhatariroy
 
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
rajk0345
 
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
parichopra4
 
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
sabiyatanaparveenmum
 
stackconf 2024 | On-Prem is the new Black by AJ Jester
stackconf 2024 | On-Prem is the new Black by AJ Jesterstackconf 2024 | On-Prem is the new Black by AJ Jester
stackconf 2024 | On-Prem is the new Black by AJ Jester
NETWAYS
 
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
ankitamarik05
 
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationArjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
rajk0345
 
A study on drug utilization evaluation of bronchodilators using DDD method
A study on drug utilization evaluation of bronchodilators using DDD methodA study on drug utilization evaluation of bronchodilators using DDD method
A study on drug utilization evaluation of bronchodilators using DDD method
Dr. Afreen Nasir
 
Destyney Duhon personal brand exploration
Destyney Duhon personal brand explorationDestyney Duhon personal brand exploration
Destyney Duhon personal brand exploration
minxxmaree
 
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationTakrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
meenukumari59
 
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
parichopra4
 
the sparks foundation JOB READINESS- how to be job ready. task 2
the sparks foundation JOB READINESS- how to be job ready. task 2the sparks foundation JOB READINESS- how to be job ready. task 2
the sparks foundation JOB READINESS- how to be job ready. task 2
Rashi427200
 
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
vishalbowli92
 
A Deepfake video detection system is a type of artificial intelligence (AI) a...
A Deepfake video detection system is a type of artificial intelligence (AI) a...A Deepfake video detection system is a type of artificial intelligence (AI) a...
A Deepfake video detection system is a type of artificial intelligence (AI) a...
MuhallabBinAshfaq
 
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationAliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
parsantkumar7896
 
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
annujverma2
 
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC WorkshopWorkshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
saastr
 
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
giihuu300#S07
 

Recently uploaded (20)

HERO.pdf hero company working cap management project
HERO.pdf hero company working cap management projectHERO.pdf hero company working cap management project
HERO.pdf hero company working cap management project
 
Pengukuran berat badan anak dan tinggi badan anak
Pengukuran berat badan anak dan tinggi badan anakPengukuran berat badan anak dan tinggi badan anak
Pengukuran berat badan anak dan tinggi badan anak
 
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
(Nishatganj ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unl...
 
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
Ashiyana Colony @Call @Girls Lucknow 08923113531 Unlimited Short Near by your...
 
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
(Aminabad ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlim...
 
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
@Call @Girls Mohanlalganj Lucknow 8923113531 Priya Sharma Beautiful And Cute ...
 
stackconf 2024 | On-Prem is the new Black by AJ Jester
stackconf 2024 | On-Prem is the new Black by AJ Jesterstackconf 2024 | On-Prem is the new Black by AJ Jester
stackconf 2024 | On-Prem is the new Black by AJ Jester
 
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
Marketing Articles and ppt on how to do marketing ..Challenges faced during M...
 
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationArjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Arjunganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
 
A study on drug utilization evaluation of bronchodilators using DDD method
A study on drug utilization evaluation of bronchodilators using DDD methodA study on drug utilization evaluation of bronchodilators using DDD method
A study on drug utilization evaluation of bronchodilators using DDD method
 
Destyney Duhon personal brand exploration
Destyney Duhon personal brand explorationDestyney Duhon personal brand exploration
Destyney Duhon personal brand exploration
 
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationTakrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Takrohi @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
 
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
(Amausi ) @Call @Girls Lucknow +91-8923113531 (MONIKA) - High Profile Unlimit...
 
the sparks foundation JOB READINESS- how to be job ready. task 2
the sparks foundation JOB READINESS- how to be job ready. task 2the sparks foundation JOB READINESS- how to be job ready. task 2
the sparks foundation JOB READINESS- how to be job ready. task 2
 
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
@Call @Girls Kakori Lucknow phone 8630512678 You Are Serach A Beautyfull Doll...
 
A Deepfake video detection system is a type of artificial intelligence (AI) a...
A Deepfake video detection system is a type of artificial intelligence (AI) a...A Deepfake video detection system is a type of artificial intelligence (AI) a...
A Deepfake video detection system is a type of artificial intelligence (AI) a...
 
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your locationAliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
Aliganj @Call @Girls Lucknow 08923113531 Unlimited Short Near by your location
 
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
(Aishbagh Road ) ₹Call ₹Girls Lucknow 08923113531 (MONIKA) - The perfect matc...
 
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC WorkshopWorkshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
Workshop Wednesday with SaaStr CEO Jason Lemkin - VC Workshop
 
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
₹Call ₹Girls Kalyanpur Lucknow 08630512678 Deshi Chori Near You
 

MySQL InnoDB Cluster and MySQL Group Replication @HKOSC 2017

  • 1. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | https://www.facebook.com/groups/hkmysqlusergroup/
  • 2. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication Deep Dive 马楚成 (Ivan Ma) ivan-cs.ma@oracle.com 2017-06-10
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 22y Constant improvements of MySQL as a relational database. 3 JSON Functions Stored Procedures Async Replication Semi-Sync Replication Group Replication Foreign Keys Performance Schema Multi-Triggers Partitioning Sub-queriesDocument Store Prepared Statements R-Trees B-Trees Row-based Replication Plugin API Event Scheduler Unicode Full-Text Search Enterprise Monitor WorkbenchInnoDB
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 4 Scale-Out High Performance Ease-of-Use Built-in HA Out-of-Box Solution Everything Integrated MySQL InnoDB cluster GA
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Connector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell MySQL Connector Application MySQL Router MySQL Connector Application MySQL Router MySQL InnoDB Cluster: High Level Architecture MySQL InnoDB cluster MySQL Enterprise Monitor … 5
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL InnoDB Cluster: Internal Architecture M M M MySQL Connector Application MySQL Router MySQL Connector Application MySQL Router MySQL Shell HA Group Replication 6
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | InnoDB Cluster 7 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate “High Availability becomes a core first class feature of MySQL!”
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication Natively distributed and highly available replica sets
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Group Replication: What Is It? • Group Replication library – Implementation of Replicated Database State Machine theory • MySQL GCS is based on our home-grown Paxos implementation – Provides virtually synchronous replication for MySQL 5.7+ • Guarantees eventual consistency – Supported on all MySQL platforms • Linux, Windows, Solaris, OSX, FreeBSD “Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership.” 9 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 10 MySQL Server: Full Stack
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Server: Group Replication Plugin • The plugin is responsible for – Maintaining distributed execution context – Detecting and handling conflicts – Handling distributed recovery • Detect membership changes • Donate state if needed • Collect state if needed – Proposing transactions to other members – Receiving and handling transactions from other members – Deciding the ultimate fate of transactions • commit or rollback 11 GCS API Replication Plugin Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Server: GCS • The communication API (and binding) is responsible for: – Abstracting the underlying group communication system implementation from the plugin itself – Mapping the interface to a specific group communication system implementation • The Group Communication System engine: – Variant of Paxos developed at MySQL – Building block to provide distributed agreement between servers 12 GCS API Replication Plugin Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 13. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Router Transparent application connection routing
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Router • Transparent client connection routing – Load balancing – Application connection failover • Stateless design offers easy HA client routing – A local Router becomes part of the application stack ”MySQL Router allows you to easily migrate your standalone MySQL instances to natively distributed and highly available InnoDB clusters without affecting existing applications!” 14 Transparent access to HA databases for MySQL Applications App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Router: 2.1 • Native support for InnoDB clusters – Understands Group Replication topology – Utilizes metadata schema stored on each member • Bootstraps itself and sets up client routing for the InnoDB cluster • Allows for intelligent client routing into the InnoDB cluster – Supports multi-master and single primary modes • Core improvements – Built-in keyring for easy and secure password management 15 App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate ”MySQL Router 2.1, with the new metadata_cache plugin, provides transparent client connection routing and failover into your InnoDB clusters!”
  • 16. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MySQL Shell Single tool for development, setup, management, orchestration, and monitoring
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell 17 A single unified client for all administrative and operations tasks App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate • Multi-Language: JavaScript, Python, and SQL – Naturally scriptable • Supports both Document and Relational models • Exposes full Development and Admin API ”MySQL Shell provides the developer and DBA with a single intuitive, flexible, and powerful interface for all MySQL related tasks!”
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell: Admin API • mysql-js> dba.help() • The global variable 'dba' is used to access the MySQL AdminAPI • Perform DBA operations – Manage MySQL InnoDB clusters • Create clusters • Validate MySQL instances • Configure MySQL instances • Get cluster info • Modify clusters Database Administration Interface App Servers with MySQL Router MySQL Group Replication MySQL Shell Setup, Manage, Orchestrate 18
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Enterprise Monitor • Native holistic support for Group Replication / InnoDB clusters (GA in 3.4!) – Topology views – Detailed metrics and graphs – Best Practice advice 19 GA
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | More … Saturday, December 10, 2016
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Demonstration 21 MySQL Shell MySQL InnoDB cluster Wordpress MySQL MySQL MySQL MySQL Router
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell 22
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell – dba.help(); 23
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell – dba.help(‘deploySandboxInstance’); • dba.deploySandboxInstance(‘3310’); 24 mysql-js> dba.deploySandboxInstance(3310); A new MySQL sandbox instance will be created on this host in /home/mysql/mysql-sandboxes/3310 Please enter a MySQL root password for the new instance: Deploying new MySQL instance... Instance localhost:3310 successfully deployed and started. Use shell.connect('root@localhost:3310'); to connect to the instance.
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Adding more MySQL Instances • dba.deploySandboxInstance(3310); • dba.deploySandboxInstance(3320); • dba.deploySandboxInstance(3330); 25 mysql-js> dba.checkInstanceConfiguration(3310); Invalid connection options, expected either a URI or a Dictionary (ArgumentError) mysql-js> dba.checkInstanceConfiguration('localhost:3310'); Please provide the password for 'root@localhost:3310': Validating instance... The instance 'localhost:3310' is valid for Cluster usage { "status": "ok" }
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell Creating the MySQL InnoDB Cluster • Connecting to Live Instance e.g. mysql-js>connect localhost:3310 • Creating the Cluster e.g. mysql-js>var cluster = dba.createCluster(‘mycluster’) 26 mysql-js> c localhost:3310 Creating a Session to 'root@localhost:3310' Enter password: Classic Session successfully established. No default schema selected. mysql-js> var cluster = dba.createCluster('mycluster'); A new InnoDB cluster will be created on instance 'root@localhost:3310'. Creating InnoDB cluster 'mycluster' on 'root@localhost:3310'... Adding Seed Instance... Cluster successfully created. Use Cluster.addInstance() to add MySQL instances. At least 3 instances are needed for the cluster to be able to withstand up to one server failure.
  • 27. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell Checking Cluster’s status and adding new members to the Cluster 27 mysql-js> cluster.addInstance('localhost:3320'); A new instance will be added to the InnoDB cluster. Depending on the amount of data on the cluster this might take from a few seconds to several hours. Please provide the password for 'root@localhost:3320': Adding instance to the cluster ... The instance 'root@localhost:3320' was successfully added to the cluster. mysql-js> cluster.addInstance('localhost:3330'); A new instance will be added to the InnoDB cluster. Depending on the amount of data on the cluster this might take from a few seconds to several hours. Please provide the password for 'root@localhost:3330': Adding instance to the cluster ... The instance 'root@localhost:3330' was successfully added to the cluster.
  • 28. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 28
  • 29. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Shell dba.configureLocalInstance(uri) 29 mysql-js> dba.configureLocalInstance('localhost:3310'); Please provide the password for 'root@localhost:3310': Detected as sandbox instance. Validating MySQL configuration file at: /home/mysql/mysql- sandboxes/3310/my.cnf Validating instance... The instance 'localhost:3310' is valid for Cluster usage You can now use it in an InnoDB Cluster. { "status": "ok" } mysql-js> dba.configureLocalInstance('localhost:3320'); Please provide the password for 'root@localhost:3320': Detected as sandbox instance. Validating MySQL configuration file at: /home/mysql/mysql- sandboxes/3320/my.cnf Validating instance... The instance 'localhost:3320' is valid for Cluster usage You can now use it in an InnoDB Cluster. { "status": "ok" } mysql-js>
  • 30. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | SandboxInstances • E.g. MySQL configuration file : /home/mysql/mysql-sandboxes/3310/my.cnf • dba.configureLocalInstance(uri) – [mysql@virtual-41 3310]$ ll my.cnf* – -rw------- 1 mysql mysql 2376 May 31 17:04 my.cnf – -rw-rw-r-- 1 mysql mysql 882 May 31 17:04 my.cnf.20170531-170412 30
  • 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Persist configuration - dba.configureLocalInstance(uri) 31
  • 32. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | https://www.facebook.com/groups/hkmysqlusergroup/
  • 33. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Questions Thank You