SlideShare a Scribd company logo
1 of 27
Download to read offline
MySQL Options in OpenStack
Matt Lord
MySQL Product Manager
August 23, 2016
Copyright © 2016, 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.
MySQL in OpenStack
Default database component
How Is It Used?
• MySQL is the world’s most popular FOSS database
• The worlds biggest web properties rely on it
• Facebook, Twitter, LinkedIn, Booking.com, Taobao, …
• As well as many of the worlds largest banks and governments
• OpenStack components use MySQL as a persistent data store
• Standard MySQL installation, using InnoDB and UTF8
• Standard operations – install, configure, backup, etc.
• For HA or Active/Active setups, MySQL+Galera is the de facto standard
• At the heart of the RedDwarf project, which became Trove
• MySQL is still the most widely used/supported database in Trove today
4
Galera
3rd party active/active update anywhere clusters
What Is It?
• Write Set Replication library
• Officially called “Galera Cluster for MySQL”
• Implementation of Replicated Database State Machine theory
• More specifically it uses a Totem based GCS
• Provides virtually synchronous replication for MySQL/InnoDB 5.1+
• Bundled in MariaDB 10 and Percona XtraDB Cluster 5.5+
• Fully supported on Linux only
• Created by Codership Oy
• Founded in 2007
• 1.0 GA release in Oct 2011
• 2.0 released Feb 2012
• 3.0 released Sept 2013 (latest major release)
6
MySQL
Group Replication
Native active/active update anywhere clusters
What Is It?
“Multi-master update anywhere replication plugin for MySQL with
built-in conflict detection and resolution, automatic distributed
recovery, and group membership.”
• Group Replication library
• Implementation of Replicated Database State Machine theory
• MySQL GCS is based on Paxos (variant of Mencius)
• Provides virtually synchronous replication for MySQL/InnoDB 5.7+
• Supported on all MySQL platforms
• Linux, Windows, Solaris, OSX, FreeBSD
• Latest release is 0.8, with “1.0” approaching fast
8
What Does It Provide?
• A highly available distributed MySQL database service
• Removes the need for manually handling server fail-over
• Provides distributed fault tolerance
• Enables Active/Active update anywhere setups
• Automates reconfiguration (adding/removing nodes, crashes, failures)
• Automatically detects and handles conflicts
9
Use Cases
• Elastic Replication
• Environments that require a very fluid replication infrastructure, where
the number of servers has to grow or shrink dynamically and with as
little pain as possible.
• Highly Available Shards
• Sharding is a popular approach to achieve write scale-out. Users can
use MySQL Group Replication to implement highly available shards in
a federated system. Each shard can map into a Replication Group.
• Alternative to Master-Slave replication
• It may be that a single master server makes it a single point of
contention. Writing to an entire group may prove more scalable under
certain circumstances.
10
What Does It Look Like?
11
Node Types
R: Traffic routers/proxies: mysqlrouter, haproxy, sqlproxy, ...
M: mysqld nodes participating in Group Replication
The Internal Stack
12
Major Building Blocks: MySQL Server
• Server calls into the plugin through a
generic interface
• Most server internals are hidden from the plugin
• Plugin interacts with the server through a
generic interface
• Replication plugin determines the fate of the
commit operation through a well defined server
interface
• The plugin makes use of the relay log
infrastructure to inject changes in the receiving
server
13
GCS API
Replication
Plugin
Plugin API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Major Building Blocks: 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
14
GCS API
Replication
Plugin
Plugin API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Major Building Blocks: MySQL 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
15
GCS API
Replication
Plugin
Plugin API
MySQL
Server
Group Comm.
System (Corosync)
Group Com. Engine
Why Use It Instead of Galera?
• A single provider of software and support
• Important if you require an Enterprise support contract
• Better performance with > 3 nodes
• MySQL GCS is peer to peer, while Galera uses a ring protocol
• Easier monitoring
• Performance Schema tables for group and node status/stats
• Native MySQL HA being built around it
• Native end-to-end easy to use sharded InnoDB clusters
• Stay tuned!
16
17
The Bigger Picture…
M
App
M M
Orchestrate & Manage
MApp
M M
Simple Shard
Mapping, State and
Extra Metadata
Control, Coordinate,
Provision
...
Monitoring (MEM)
MySQL Router Group Replication – Shard 1
Group Replication – Shard N
C, Java, JavaScript, Python, ...
MySQL Router
MySQL NDB Cluster
For real-time in-memory OLTP and linear R/W scaling
What Is It?
“Distributed in-memory database with automatic transparent sharding –
for painless read-write scaling – with SQL and NoSQL APIs, and with
support for Active/Active multi-datacenter geographic clusters.”
• A strongly consistent partitioned/sharded database cluster
• 2PC protocol used for writes
• High performance cross-shard operations
• Transparent shard rebalancing
• Redundancy at every level with millisecond failover
• SQL access via MySQL servers
• NoSQL access with C++, Node.JS, Java, …
• Latest release is 7.5 (now in Release Candidate stage)
• Supported on Linux, Windows, Solaris, OSX
19
What Does It Provide?
• A highly available distributed MySQL database service
• Transparent sharding
• Support for all cross-shard operations
• Online shard rebalancing
• Automatic and custom sharding schemes
• Strong consistency across all shards
• Transparent built-in load balancing
• Multi-datacenter Active/Active geographic replication
• SQL access via standard MySQL Servers
• Using the NDBCLUSTER storage engine
• Online operations (ALTER TABLE, etc.)
• Direct NoSQL access to the underlying Key/Value storage
• NDB C++ API -- with wrappers for JavaScript, Java, memcached, HTTP/REST
20
SQL
• Industry standard
• Joins & complex queries
• Relational model
Memcached
• Simple to use API
• Key/value based
• Drivers for many languages
Mod-ndb
• RESTful
• JSON over HTTP
• Plugin for Apache
ClusterJ
• Simple to use Java API
• Web & Telco
• Object Relational Mapping
• Native & fast access to data
ClusterJPA
• OpenJPA plugin
• Standards defined ORM
• Cross table Joins
JavaScript/Node.js
• Native JavaScript: client to
DB
• Blazing fast asynchronous
throughput
SQL and NoSQL APIs
21
22
What Does It Look Like?
Node Types
M: MySQL Server (SQL API)
A: NDB API Node
S: NDB Management Server
D: NDB Data Node
23
• Partition customers across
multiple clusters, distributed by
region to optimize low latency
access
• Each sub-cluster is replicated
for High Availability and DR
• Active/Passive or Active/Active
Geographic Replication for Low-Latency
Local Access
Cluster 2C
Cluster 2B
Cluster 1B
Cluster 1CCluster 2
Cluster 1
Cluster 4
Cluster 3
Cluster 3B
Cluster 3C
Cluster 4C
Cluster 4B
24
How Do The Two Compare?
MySQL Group Replication MySQL NDB Cluster
Storage Engine InnoDB NDBCLUSTER
Distributed Architecture Shared nothing Shared nothing
Consistency Model Weak Consistency Strong Consistency
Sharding No Yes
Arbitration No Yes
Load Balancing No Yes
NoSQL APIs MySQL Document Store Native NDB API
Operational Complexity Medium High
Administration Standard (MySQL) Custom (MySQL + NDB)
25
Case Study: Oracle OpenStack
• MySQL NDB Cluster Active/Active
MySQL Cluster
RabbitMQ
Keepalived
Nova
Neutron
Memcached
Cinder
Swift
Keystone
Glance
Heat
Horizon
Docker
Containers
Controller Node(s)
MySQL Cluster
RabbitMQ
Keepalived
Nova
Neutron
Memcached
Cinder
Swift
Keystone
Glance
Heat
Horizon
Docker
Containers
Container life cycle management (Ansible)
Management Controller Nodes
API
MySQL Cluster Data Nodes
Management
Data Layer
HAProxy
Galera MySQL
Cluster
Scaling Read Linear
Read/Write
Performance Standard Real-time
Online DDL No Yes
Auto Sharding No Yes
NoSQL APIs No Yes
Load Balancing No Yes
More Information
• Quick Start Guide: http://mysqlhighavailability.com/mysql-group-
replication-a-quick-start-guide/
• MySQL HA Blog: http://mysqlhighavailability.com
• MySQL Documentation: http://dev.mysql.com/doc/
• Forums
• MySQL Group Replication: http://forums.mysql.com/list.php?26
• MySQL NDB Cluster: http://forums.mysql.com/list.php?25
• Existing customers: http://support.oracle.com
• Sales questions: https://www.mysql.com/buy-mysql/
• Reach out to me directly: @mattalord
26
27
THANK YOU!

More Related Content

What's hot

Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLMatt Lord
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLMario Beck
 
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 for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsMario Beck
 
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMark Swarbrick
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMario Beck
 
OpenStack Trove and DBaaS API: Impedance Match? By Fred Dalrymple
OpenStack Trove and DBaaS API: Impedance Match? By Fred DalrympleOpenStack Trove and DBaaS API: Impedance Match? By Fred Dalrymple
OpenStack Trove and DBaaS API: Impedance Match? By Fred DalrympleCloud Expo
 
MySQL High Availibility Solutions
MySQL High Availibility SolutionsMySQL High Availibility Solutions
MySQL High Availibility SolutionsMark Swarbrick
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMark Swarbrick
 
OpenStack and MySQL
OpenStack and MySQLOpenStack and MySQL
OpenStack and MySQLMatt Lord
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial EditionMario Beck
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication FeaturesMark Swarbrick
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
 
MySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 SecurityMySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 SecurityMark Swarbrick
 
MySQL Security
MySQL SecurityMySQL Security
MySQL SecurityMario Beck
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016Ted Wennmark
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL ContainersMatt Lord
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
MySQL 5.7: Focus on Replication
MySQL 5.7: Focus on ReplicationMySQL 5.7: Focus on Replication
MySQL 5.7: Focus on ReplicationMario Beck
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMatt Lord
 

What's hot (20)

Unlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQLUnlocking Big Data Insights with MySQL
Unlocking Big Data Insights with MySQL
 
Oracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQLOracle Enterprise Manager for MySQL
Oracle Enterprise Manager for MySQL
 
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 for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/NetMySQL Tech Tour 2015 - 5.7 Connector/J/Net
MySQL Tech Tour 2015 - 5.7 Connector/J/Net
 
MySQL Enterprise Edition Overview
MySQL Enterprise Edition OverviewMySQL Enterprise Edition Overview
MySQL Enterprise Edition Overview
 
OpenStack Trove and DBaaS API: Impedance Match? By Fred Dalrymple
OpenStack Trove and DBaaS API: Impedance Match? By Fred DalrympleOpenStack Trove and DBaaS API: Impedance Match? By Fred Dalrymple
OpenStack Trove and DBaaS API: Impedance Match? By Fred Dalrymple
 
MySQL High Availibility Solutions
MySQL High Availibility SolutionsMySQL High Availibility Solutions
MySQL High Availibility Solutions
 
MySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise EditionMySQL Manchester TT - MySQL Enterprise Edition
MySQL Manchester TT - MySQL Enterprise Edition
 
OpenStack and MySQL
OpenStack and MySQLOpenStack and MySQL
OpenStack and MySQL
 
MySQL Community and Commercial Edition
MySQL Community and Commercial EditionMySQL Community and Commercial Edition
MySQL Community and Commercial Edition
 
MySQL Manchester TT - Replication Features
MySQL Manchester TT  - Replication FeaturesMySQL Manchester TT  - Replication Features
MySQL Manchester TT - Replication Features
 
MySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA optionsMySQL 5.6, news in 5.7 and our HA options
MySQL 5.6, news in 5.7 and our HA options
 
MySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 SecurityMySQL Tech Tour 2015 - 5.7 Security
MySQL Tech Tour 2015 - 5.7 Security
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
 
MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
MySQL 5.7: Focus on Replication
MySQL 5.7: Focus on ReplicationMySQL 5.7: Focus on Replication
MySQL 5.7: Focus on Replication
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 

Viewers also liked

MySQL 5.7 GIS
MySQL 5.7 GISMySQL 5.7 GIS
MySQL 5.7 GISMatt Lord
 
Getting Started with MySQL Full Text Search
Getting Started with MySQL Full Text SearchGetting Started with MySQL Full Text Search
Getting Started with MySQL Full Text SearchMatt Lord
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017Dave Stokes
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)Aurimas Mikalauskas
 
MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions oysteing
 
How to analyze and tune sql queries for better performance
How to analyze and tune sql queries for better performanceHow to analyze and tune sql queries for better performance
How to analyze and tune sql queries for better performanceoysteing
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 

Viewers also liked (7)

MySQL 5.7 GIS
MySQL 5.7 GISMySQL 5.7 GIS
MySQL 5.7 GIS
 
Getting Started with MySQL Full Text Search
Getting Started with MySQL Full Text SearchGetting Started with MySQL Full Text Search
Getting Started with MySQL Full Text Search
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions MySQL 8.0: Common Table Expressions
MySQL 8.0: Common Table Expressions
 
How to analyze and tune sql queries for better performance
How to analyze and tune sql queries for better performanceHow to analyze and tune sql queries for better performance
How to analyze and tune sql queries for better performance
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 

Similar to OpenStack Days East -- MySQL Options in OpenStack

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
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterContinuent
 
MySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMySQL InnoDB Cluster and NDB Cluster
MySQL InnoDB Cluster and NDB ClusterMario Beck
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityIvan Zoratti
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlsqlhjalp
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inSakari Keskitalo
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMatt Lord
 
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 '15Dave Stokes
 
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 DolphinOlivier DASINI
 
MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0Ted Wennmark
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLContinuent
 
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 ParisOlivier DASINI
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB MeetupColin Charles
 
Membase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationBogdan Kecman
 
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 ClusterOlivier DASINI
 
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009eLiberatica
 

Similar to OpenStack Days East -- MySQL Options in OpenStack (20)

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!
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s InnoDB Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #5: Oracle’s 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
 
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More FlexibilityNOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
NOSQL Meets Relational - The MySQL Ecosystem Gains More Flexibility
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
The MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits inThe MySQL High Availability Landscape and where Galera Cluster fits in
The MySQL High Availability Landscape and where Galera Cluster fits in
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
 
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 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 NDB Cluster 8.0
MySQL NDB Cluster 8.0MySQL NDB Cluster 8.0
MySQL NDB Cluster 8.0
 
MySQL overview
MySQL overviewMySQL overview
MySQL overview
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQLWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #4: MS Azure Database MySQL
 
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
 
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB MeetupMariaDB 10.1   what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
MariaDB 10.1 what's new and what's coming in 10.2 - Tokyo MariaDB Meetup
 
Membase Meetup - Silicon Valley
Membase Meetup - Silicon ValleyMembase Meetup - Silicon Valley
Membase Meetup - Silicon Valley
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
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
 
Maria DBMS
Maria DBMSMaria DBMS
Maria DBMS
 
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009
"Clouds on the Horizon Get Ready for Drizzle" by David Axmark @ eLiberatica 2009
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

OpenStack Days East -- MySQL Options in OpenStack

  • 1. MySQL Options in OpenStack Matt Lord MySQL Product Manager August 23, 2016
  • 2. Copyright © 2016, 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. MySQL in OpenStack Default database component
  • 4. How Is It Used? • MySQL is the world’s most popular FOSS database • The worlds biggest web properties rely on it • Facebook, Twitter, LinkedIn, Booking.com, Taobao, … • As well as many of the worlds largest banks and governments • OpenStack components use MySQL as a persistent data store • Standard MySQL installation, using InnoDB and UTF8 • Standard operations – install, configure, backup, etc. • For HA or Active/Active setups, MySQL+Galera is the de facto standard • At the heart of the RedDwarf project, which became Trove • MySQL is still the most widely used/supported database in Trove today 4
  • 5. Galera 3rd party active/active update anywhere clusters
  • 6. What Is It? • Write Set Replication library • Officially called “Galera Cluster for MySQL” • Implementation of Replicated Database State Machine theory • More specifically it uses a Totem based GCS • Provides virtually synchronous replication for MySQL/InnoDB 5.1+ • Bundled in MariaDB 10 and Percona XtraDB Cluster 5.5+ • Fully supported on Linux only • Created by Codership Oy • Founded in 2007 • 1.0 GA release in Oct 2011 • 2.0 released Feb 2012 • 3.0 released Sept 2013 (latest major release) 6
  • 8. What Is It? “Multi-master update anywhere replication plugin for MySQL with built-in conflict detection and resolution, automatic distributed recovery, and group membership.” • Group Replication library • Implementation of Replicated Database State Machine theory • MySQL GCS is based on Paxos (variant of Mencius) • Provides virtually synchronous replication for MySQL/InnoDB 5.7+ • Supported on all MySQL platforms • Linux, Windows, Solaris, OSX, FreeBSD • Latest release is 0.8, with “1.0” approaching fast 8
  • 9. What Does It Provide? • A highly available distributed MySQL database service • Removes the need for manually handling server fail-over • Provides distributed fault tolerance • Enables Active/Active update anywhere setups • Automates reconfiguration (adding/removing nodes, crashes, failures) • Automatically detects and handles conflicts 9
  • 10. Use Cases • Elastic Replication • Environments that require a very fluid replication infrastructure, where the number of servers has to grow or shrink dynamically and with as little pain as possible. • Highly Available Shards • Sharding is a popular approach to achieve write scale-out. Users can use MySQL Group Replication to implement highly available shards in a federated system. Each shard can map into a Replication Group. • Alternative to Master-Slave replication • It may be that a single master server makes it a single point of contention. Writing to an entire group may prove more scalable under certain circumstances. 10
  • 11. What Does It Look Like? 11 Node Types R: Traffic routers/proxies: mysqlrouter, haproxy, sqlproxy, ... M: mysqld nodes participating in Group Replication
  • 13. Major Building Blocks: MySQL Server • Server calls into the plugin through a generic interface • Most server internals are hidden from the plugin • Plugin interacts with the server through a generic interface • Replication plugin determines the fate of the commit operation through a well defined server interface • The plugin makes use of the relay log infrastructure to inject changes in the receiving server 13 GCS API Replication Plugin Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 14. Major Building Blocks: 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 14 GCS API Replication Plugin Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 15. Major Building Blocks: MySQL 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 15 GCS API Replication Plugin Plugin API MySQL Server Group Comm. System (Corosync) Group Com. Engine
  • 16. Why Use It Instead of Galera? • A single provider of software and support • Important if you require an Enterprise support contract • Better performance with > 3 nodes • MySQL GCS is peer to peer, while Galera uses a ring protocol • Easier monitoring • Performance Schema tables for group and node status/stats • Native MySQL HA being built around it • Native end-to-end easy to use sharded InnoDB clusters • Stay tuned! 16
  • 17. 17 The Bigger Picture… M App M M Orchestrate & Manage MApp M M Simple Shard Mapping, State and Extra Metadata Control, Coordinate, Provision ... Monitoring (MEM) MySQL Router Group Replication – Shard 1 Group Replication – Shard N C, Java, JavaScript, Python, ... MySQL Router
  • 18. MySQL NDB Cluster For real-time in-memory OLTP and linear R/W scaling
  • 19. What Is It? “Distributed in-memory database with automatic transparent sharding – for painless read-write scaling – with SQL and NoSQL APIs, and with support for Active/Active multi-datacenter geographic clusters.” • A strongly consistent partitioned/sharded database cluster • 2PC protocol used for writes • High performance cross-shard operations • Transparent shard rebalancing • Redundancy at every level with millisecond failover • SQL access via MySQL servers • NoSQL access with C++, Node.JS, Java, … • Latest release is 7.5 (now in Release Candidate stage) • Supported on Linux, Windows, Solaris, OSX 19
  • 20. What Does It Provide? • A highly available distributed MySQL database service • Transparent sharding • Support for all cross-shard operations • Online shard rebalancing • Automatic and custom sharding schemes • Strong consistency across all shards • Transparent built-in load balancing • Multi-datacenter Active/Active geographic replication • SQL access via standard MySQL Servers • Using the NDBCLUSTER storage engine • Online operations (ALTER TABLE, etc.) • Direct NoSQL access to the underlying Key/Value storage • NDB C++ API -- with wrappers for JavaScript, Java, memcached, HTTP/REST 20
  • 21. SQL • Industry standard • Joins & complex queries • Relational model Memcached • Simple to use API • Key/value based • Drivers for many languages Mod-ndb • RESTful • JSON over HTTP • Plugin for Apache ClusterJ • Simple to use Java API • Web & Telco • Object Relational Mapping • Native & fast access to data ClusterJPA • OpenJPA plugin • Standards defined ORM • Cross table Joins JavaScript/Node.js • Native JavaScript: client to DB • Blazing fast asynchronous throughput SQL and NoSQL APIs 21
  • 22. 22 What Does It Look Like? Node Types M: MySQL Server (SQL API) A: NDB API Node S: NDB Management Server D: NDB Data Node
  • 23. 23 • Partition customers across multiple clusters, distributed by region to optimize low latency access • Each sub-cluster is replicated for High Availability and DR • Active/Passive or Active/Active Geographic Replication for Low-Latency Local Access Cluster 2C Cluster 2B Cluster 1B Cluster 1CCluster 2 Cluster 1 Cluster 4 Cluster 3 Cluster 3B Cluster 3C Cluster 4C Cluster 4B
  • 24. 24 How Do The Two Compare? MySQL Group Replication MySQL NDB Cluster Storage Engine InnoDB NDBCLUSTER Distributed Architecture Shared nothing Shared nothing Consistency Model Weak Consistency Strong Consistency Sharding No Yes Arbitration No Yes Load Balancing No Yes NoSQL APIs MySQL Document Store Native NDB API Operational Complexity Medium High Administration Standard (MySQL) Custom (MySQL + NDB)
  • 25. 25 Case Study: Oracle OpenStack • MySQL NDB Cluster Active/Active MySQL Cluster RabbitMQ Keepalived Nova Neutron Memcached Cinder Swift Keystone Glance Heat Horizon Docker Containers Controller Node(s) MySQL Cluster RabbitMQ Keepalived Nova Neutron Memcached Cinder Swift Keystone Glance Heat Horizon Docker Containers Container life cycle management (Ansible) Management Controller Nodes API MySQL Cluster Data Nodes Management Data Layer HAProxy Galera MySQL Cluster Scaling Read Linear Read/Write Performance Standard Real-time Online DDL No Yes Auto Sharding No Yes NoSQL APIs No Yes Load Balancing No Yes
  • 26. More Information • Quick Start Guide: http://mysqlhighavailability.com/mysql-group- replication-a-quick-start-guide/ • MySQL HA Blog: http://mysqlhighavailability.com • MySQL Documentation: http://dev.mysql.com/doc/ • Forums • MySQL Group Replication: http://forums.mysql.com/list.php?26 • MySQL NDB Cluster: http://forums.mysql.com/list.php?25 • Existing customers: http://support.oracle.com • Sales questions: https://www.mysql.com/buy-mysql/ • Reach out to me directly: @mattalord 26