SlideShare a Scribd company logo
Ted Wennmark & Stuart Davey
MySQL Solution Engineering EMEA
MySQL Business Unit
February 24, 2021
MySQL News
MySQL NDB 8.0
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, timing, and pricing of any features or functionality described for
Oracle’s products may change and remains at the sole discretion of Oracle Corporation.
2
• Long time MySQL user
– Started developing apps using MySQL over 20 years back
– Worked as MySQL DBA, Trainer and consultant the past
• MySQL Prinicipal Solution Architect at Oracle
• Work with normal MySQL but have focuse on distributed
databases with NDB Cluster.
• My workshops at Github: https://github.com/wwwted/
• Let’s stay in touch:
– https://www.linkedin.com/in/tedwennmark/
• Join us on slack: https://lefred.be/mysql-community-on-slack/
Ted Wennmark
3
MySQL High Availability Solutions
• MySQL NDB Cluster
– NDB storage engine.
– Memory database.
– Automatic sharding of data.
– SQL Access via MySQL with
cross shard join support.
– Native access via several
API’s.
– Read/write consistency.
– Read/write scalability (2pc).
– ACID and transactions.
• MySQL InnoDB Cluster
– Easy HA built into MySQL
5.7+ for InnoDB.
– MySQL Group Replication,
Shell and Router.
– Write consistency.
– Read Scalability.
– Native CRUD API in
MySQL 8.
– Synchrounous (Paxos).
• MySQL Replication
– Core part of MySQL, used
by almost everyone.
– Can be used by any
storage engine.
– Asynchronous and semi-
sync option.
– Scale out reads.
– ReplicaSet from 8.0.19 with
integration to Shell and
Router.
4
MySQL High Availability Solutions
• MySQL NDB Cluster
– NDB storage engine.
– Memory database.
– Automatic sharding of data.
– SQL Access via MySQL with
cross shard join support.
– Native access via several
API’s.
– Read/write consistency.
– Read/write scalability (2pc).
– ACID and transactions.
• MySQL InnoDB Cluster
– Easy HA built into MySQL
5.7+ for InnoDB.
– MySQL Group Replication,
Shell and Router.
– Write consistency.
– Read Scalability.
– Native CRUD API in
MySQL 8.
– Synchrounous (Paxos).
• MySQL Replication
– Core part of MySQL, used
by almost everyone.
– Can be used by any
storage engine.
– Asynchronous and semi-
sync option.
– Scale out reads.
– ReplicaSet from 8.0.19 with
integration to Shell and
Router.
5
Massively linear scale
Always-On 99.9999% Availability
Distributed In-Memory Datasets
Always Consistent
Parallel Real-Time Performance.
Auto-partitioning, data distribution
and replication built-in.
Read- and Write Scale-Out
to many TB on commodity hardware.
Designed for mission critical
systems. Masterless, shared-nothing
with no single point of failure.
Transactional consistency across
distributed and partitioned dataset.
Out of the box straightforward
application programming.
Ease of use
Open Source
Written in C++. Can be used standalone
or with MySQL as a SQL front-end.
6
Requirements on NDB Cluster
• Unavailable less than 30 seconds per year (Class 6)
• Predictable latency (transaction with 20 operations within 10 milliseconds, mixed
read/write)
• Transparent Distribution and Replication
• Write and Read Scalability
• Support SQL, LDAP, File System interface, …
• Mixed OLTP and OLAP for real-time data analysis
• Follow HW development on CPUs, Network, Disks and Memory
7
Class 6 Availability
• Handle many concurrent and sequential failures
• Automatic restart at failure
• Synchronize with live nodes
• Online schema changes
• Global Replication
• Online Add Node
8
Predictable Latency - Real-time
• Defaults to In-Memory storage
• Asynchronous File Operations
• Complex operations divided into multiple executions
• Memory lockable to avoid swapping
• Real-time mode supported
• CPU spinning modes supported
9
When TO consider MySQL Cluster
• You need High Availability 6-9’s (and strong consistency).
• You need Sharding, either due to size or write
performance.
• You need Linear Scalabillity when adding more nodes.
• You need predictable Real-ime response times.
• SQL and cross shard join support.
• You want a ACID distributed in-memory database.
10
Linear scale with MySQL Cluster
11
MySQL Cluster NoSQL Performance
200 Million NoSQL Reads/Second
• Memory optimized tables
− Durable
− Mix with disk-based tables
• Parallel table scans for non-indexed
searches
• MySQL Cluster FlexAsych
− 200M NoSQL Reads/Second
12
MySQL Cluster SQL Performance
2.5M SQL Statements/Second
• Memory optimized tables
− Durable
− Mix with disk-based tables
• Massively concurrent OLTP
• Distributed Joins for analytics
• Parallel table scans for non-indexed
searches
• MySQL Cluster DBT2 BM
− 2.5M SQL Statements/Second
13
YCSB Benchmark
YCSB : Yahoo Cloud Serving Benchmark
• YCSB – Yahoo Cloud Service Benchmark
− De-facto cloud benchmark
− Benchmark can not be changed
• NDB is #1 player in this realm
− NDB Cluster is the Fastest Distributed, In-memory, Transactional Database in
the world!
14
YCSB Benchmark – Scaling NBD
YCSB : Yahoo Cloud Serving Benchmark
YCSB 0.15.0 with JDBC / SQL
• 1kB records
• Uniform distribution
2, 4 and 8 data nodes
• Replication factor 2
• ACID (read committed)
8 DenseIO across 2 AD
• adding 400us network latency
Best throughput and latency on market
1M
2M
3M
4M
2 4 8
(2 ADs)
1.4M
2.8M
3.7M
Transactions
per
second
Nodes
15
YCSB Benchmark – NDB Real-Time
YCSB : Yahoo Cloud Serving Benchmark
4 data nodes with 300M and
600M rows using JDBC
99% SQL reads < 1ms
• 95% < 0.9ms
99% SQL writes < 2ms
• 95% < 1.7ms
1M
Transaction
per
second
2 ms
Same Throughput & Latency
300M rows 600M rows
1.25M
TPS
1.25M
TPS
Reads
Reads
Writes
Writes
1 ms
16
Product Nodes TPS/OPS
32 227k
2 275k
3 715k
6 1.6M
8 1.6M
4 2.8M
YCSB Benchmark – NDB Results
YCSB : Yahoo Cloud Serving Benchmark
• Developed at Yahoo for Cloud Scale
workloads
• Widely used to compare scale-out
databases, NoSQL databases, and (non-
durable) in-memory data grids
• A series of NoSQL workload types are
defined:
• Workload A: 50% reads, 50% Updates
• The YCSB Client cannot be changed
• DB Vendors implement the DB Client
interface in Java
17
Architecture
18
MySQL Cluster Architecture
• Multiple data nodes form a cluster
• Shared nothing architecture
• Data is automatically distributed to data
nodes
19
MySQL Cluster Architecture - Replicas
Copy of 1
Copy of 1
• Multiple copies of data are maintained for
availability
• A group of data nodes shares the same
data
• 1 - 4 replicas/copies of data can be
configured
20
User-id (PK) Service Data
1773467253 chat xxx
6257346892 chat xxx
1773467253 photos xxx
7234782739 photos xxx
8235602099 reminders xxx
8437829249 location xxx
MySQL Cluster Data Nodes
Partition Key
Data distribution
• Auto-partitioning and distribution
− No name-node or central master
• Each dataset is split into fragments and
distributed across data nodes.
• Within a cluster data is always consistent.
21
Data distribution
Cluster uses thousands of virtual partitions
22
Data distribution
These virtual partitions are distributed to data nodes
23
Data distribution
These virtual partitions are distributed to data nodes
24
Data distribution
These virtual partitions are distributed to data nodes
25
Data distribution
These virtual partitions are distributed to data nodes
26
On-line Scaling and Elasticity - Repartitioning
Virtual partitions re-distributed on-line when adding more data nodes
Designed to be a slow background process not impacting real-time performance.
27
On-line Scaling and Elasticity - Repartitioning
Minimal amount of data moved
No re-hashing necessary
Similar to consistent hashing
28
Fully replicated
• Datasets can be marked to be copied to all nodes for best possible read performance
• All copies can be configured to be read from
• Local copy can be preferred when reading
29
Writing data “ACID”
Data
Memory
Flush writes to disk in
background checkpoints
Commit Log (REDO)
writes
…
time
…
• Data in MySQL Cluster is written to
memory and disk in a way that allows
real-time access and recovery
• Memory is locked so it won’t swap
• Writes go to data memory and commit
log
• Background process checkpoints data
memory for recovery
• Reads always happen from memory - not
from disk
30
Reading Data
• Cluster always knows where its data is - without a
name node
• Key-value with hash on primary key
• Complemented by ordered in-memory-optimized T-
Tree indexes for fast searches
31
Cross partition joins
• Cluster queries distributed data as
if it was a single consolidated
database
• Joins are pushed down to data
nodes
• Parallel cross-shard execution in
the data nodes
• Result consolidation in MySQL
Server
32
NDB 8.0 News
33
MySQL Cluster Development: 7.5 -> 8.0 (GA)
- MySQL Server 5.7 (5.6)
- 5x faster restarts
- JSON Support
- 50% faster reads
- 40% faster read/write
Cluster 7.4/7.5
Cluster 7.6
- MySQL Server 5.7
- Designed for Terabyte clusters
- Designed for modern hardware
- Native csv import
- Parallel backup
- Faster restart and recovery
Cluster 8.0 (GA)
- MySQL 8.0
- More Data nodes (144)
- 1-4 replicas
- Dynamic memory mgmt
- Larger rows (32k)
- Faster SQL
- Faster Disk Data
34
Cluster 8.0 Multi-threaded backup
Each data node doing own backup - one data
manager handling all writing
Now each data manager handling own
writing
Data Node 1 Data Node 2 Data Node 1 Data Node 2
35
Cluster 8.0 Multi-threaded backup
Now using all Local Data-Managers (LDM):
− Better system balance, avoids local data-manager overload
− Local Data-Manager with local backup processing - more efficient
− Faster backups (but backup performance limited more by configurable checkpoint speed,
so this is not necessarily true)
N independent file sets, can restore in parallel
36
Cluster 8.0 Transactional Data Dictionary
• Goal: Atomic and Transactional DDL for MySQL Server.
• Centralized data dictionary schema that uniformly stores dictionary data.
• Serialized dictionary format (SDI).
• MySQL Server local dictionary information is synchronized via NDB in a synchronous
fashion.
37
Cluster 8.0 Synchronized privileges I
• Privilege information moved from MyISAM to transactional InnoDB (but not part of Data
Dictionary).
• Changes in code due to data dictionary mandated removal of previous distributed privileges
implementation.
• Privileges are now synchronized via NDB and schema distribution.
38
Cluster 8.0 Synchronized privileges II
mysql>
GRANT
NDB_STORED_USER
ON
db.t1
TO
`bo-l-2`@`localhost`
NDBAPI
Local privilege
tables (InnoDB)
ACL
ndb_sql_metadata table
ACL Replication
Events
39
Cluster 8.0 Dynamic resource allocation
config.ini today
config.ini
MaxNoOfConcurrentTransactions=70000
MaxNoOfConcurrentOperations=359500
# Don't touch the following parameter
unless you really know what you're
doing.
MaxNoOfConcurrentScans=200
MaxNoOfLocalScans=9000
40
Cluster 8.0 Dynamic resource allocation
• Transactional memory dynamically
allocated from pool
• No more MaxNoOfTransactions,
MaxNoOfOperations, MaxNoOf…
• Still possible to use old static allocation
for highest level of performance
• More resources types to follow
config.ini
MaxNoOfConcurrentTransactions=90000
MaxNoOfConcurrentOperations=259200
# Don't touch the following parameter
unless you really know what you're
doing.
MaxNoOfConcurrentScans=300
MaxNoOfLocalScans=10000
41
Cluster 8.0 Dynamic resource allocation
• Transaction resources have a
reserved minimum and can
allocate up to a maximum
amount.
• Transaction resources will first
allocate from fixed size
Transaction Memory pool.
• If Transaction Memory pool is
exhausted then allocation will
happen from Shared Global
Memory - up to maximum per
resource.
Shared Global
Memory
Reserved
per resource
Global
maximum
Transaction
Memory
Concurrent
Operations
Concurrent
Transactions
Concurrent
Scans
Exclusive for
all transaction
resources
42
Cluster 8.0 Dynamic resource allocation
High-level gains:
− Less configuration complexity
− Fewer operational issues due to 'resource X exhausted’
− Potential savings on memory due to over-configured resources.
− Avoids hand-crafted config.ini for every new setup variant
43
Node 2
Node 1
Cluster 8.0 Reading from backup fragment is default
• Entirely local read transactions for co-
located API-nodes! Improved latency.
• Reading from backup allows to read any
node containing a copy of data
• Previously reads were directed towards
the node containing the primary fragment
only
44
Cluster 8 TPC-H Cluster 8.0 versus 7.5
Across all SQL NDB 8.0 is equally fast or faster than 7.5
NDB
8.0
x
times
faster
0,00
17,50
35,00
52,50
70,00
Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 *) Q9 Q10 *) Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 *) Q19 Q20 Q21 Q22
Improvements made in 7.6 vs 7.5 Improvements made in 8.0 vs 7.6
45
Cluster 8.0 More New features
• Larger row sizes (14k -> 30k)
• Support for 4 replicas (max 2 today)
• Larger cluster:
− Up to 144 data nodes
46
Cluster 8.0 Road-map (continous delivery model)
• Security
− Encrypted backup (started, 8.0.21)
− Encrypted data at rest (ongoing)
− Key management
− TLS links
• Other
− SQL improvements (ongoing)
− IPv6
− Blob batching
47
Deployment
StatefulSet
NDB Cluster
Ndb operator
backup /
restore
controller
mysql
controll
NDB
controller
Data Node
Data Node
Data Node
Data Node
Mgm Node
StatefulSet
Mgm Node
CRD
Cluster 8.0 Road-map: Kubernetes operator for NDB
Use Cases
49
MySQL Cluster Use Cases
• Key-Value store
+ High Availability, Scale-Out, Durability
• Transactional object store
+ Multi row transactions and consistency
• Relational database with MySQL Server front-ends
+ SQL joins, foreign keys, triggers, stored procedures, generated columns, JSON
50
SQL, JDBC, ADO, ...
LB or Connector/J
arbitrator
MySQL Cluster: SQL - Read Optimized HA setup
• Optimized 2 server HA setup, 3rd node
with management node is needed for
arbitration only.
• With ReadBackup all data is read/joined
locally.
• MySQL API nodes use shared memory
transporter (UseShm).
• MySQL nodes know who is local data
node using configuration parameter
ndb_data_node_neighbor.
51
application
Data Nodes
NDB Native C++ API
MySQL Cluster: Key-Value store
• High volume OLTP system.
• Linear scalability.
• Real-time response times.
• +50TB systems
• Use cases:
✓ IoT
✓ Financial data
✓ Telco core network data
52
Application(s)
NDB Native C++ API
App
SQL
MySQL Cluster: Hybrid “New SQL”
• High volume OLTP system.
• Linear scalability.
• Real-time response times.
• +50TB systems
• Access via SQL:
✓ Analytics
✓ BI
✓ Fraud
Data Nodes
53
Application(s)
Load Balancers
• High volume OLTP system.
• +50TB systems
• All access via SQL!
• Use cases:
✓ IoT
✓ On-line gaming
✓ Trading or other financial data
✓ Scalable SQL database
MySQL Cluster: New SQL
Data Nodes
54
Node Group 2
Node Group 1
Application(s)
Data Nodes
MySQL Cluster: DR – One Stretched Cluster I
Load Balancers
Application(s)
Load Balancers
DC 1 DC 2
55
MySQL Cluster: DR – One Stretched Cluster II
• This architecture will impact your response times if the latency is high
between the two data center.
− With the use of multithreaded applications and batching NDB can still deliver
good throughput.
− Timeouts for heartbeat can be increased if needed.
• Make sure you configure cluster so node groups are spanning both DC
as seen in picture above.
• This architecture is best used if you have a predictable low latency
network.
• Supports running application active on both sites (DC’s)
56
Application(s)
Data Nodes
MySQL Cluster: DR – Asynchronous Replication I
Load Balancers
Application(s)
Load Balancers
DC 1 DC 2
Data Nodes
57
MySQL Cluster: DR – Asynchronous Replication II
• This architecture is our standard (Active/Passive) DR solution.
• Two independent NDB Custer on each site, no impact on response
times due to latency between the two sites (DS’s) since replication is
asynchronous.
• Asynchronous replication is not native to NDB so dedicated MySQL
nodes are need to take care of replication cross sites.
• Manual work is needed to manage the replication channel.
• Supports running application active/passive setup between sites (DC’s)
− Active/Active can be achieved using replication in both directions
and conflict resolution.
58
Who’s Using MySQL Cluster?
59
MySQL Replication vs InnoDB Cluster vs NDB Cluster
MySQL Replication MySQL InnoDB Cluster MySQL NDB Cluster
Storage Engine All InnoDB NDBCLUSTER
Distributed Architecture Shared Shared nothing Shared nothing
Clustering Mode Master + slaves Multi-master (possible) Multi-master (default)
Replication mode Asynchronous Paxos (Synchronous) 2PC (Synchronous)
Consistency Model Weak Consistency Medium Consistency Strong Consistency
Sharding No No Yes
Arbitration No Yes Yes
Load Balancing No Reads via MySQL Router Yes
NoSQL APIs MySQL CRUD API MySQL CRUD API Native NDB API
Operational Complexity Easy Medium High
Administration Standard (MySQL) Standard (MySQL) Custom (MySQL + NDB)
60
Thank you
Ted Wennmark
MySQL Solution Engineering EMEA
MySQL Business Unit
61

More Related Content

What's hot

MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
Kangaroot
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
Morgan Tocker
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
Ted Wennmark
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
Sanjay Manwani
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
Matt Lord
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
OSSCube
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
Olivier DASINI
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
Karthik .P.R
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Mydbops
 
MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014
Lars Thalmann
 
Python Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL DatabasesPython Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL Databases
Mats Kindahl
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
Colin Charles
 
The New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and MoreThe New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and More
MariaDB Corporation
 
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
Ivan Zoratti
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterMariaDB Corporation
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
Colin Charles
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?
Alkin Tezuysal
 
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
 
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
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
Ted Wennmark
 

What's hot (20)

MariaDB: Connect Storage Engine
MariaDB: Connect Storage EngineMariaDB: Connect Storage Engine
MariaDB: Connect Storage Engine
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
 
MySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB ClustersMySQL High Availability -- InnoDB Clusters
MySQL High Availability -- InnoDB Clusters
 
MySQL Features & Implementation
MySQL Features & ImplementationMySQL Features & Implementation
MySQL Features & Implementation
 
MySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document StoreMySQL Day Paris 2016 - MySQL as a Document Store
MySQL Day Paris 2016 - MySQL as a Document Store
 
Scaling MySQL using Fabric
Scaling MySQL using FabricScaling MySQL using Fabric
Scaling MySQL using Fabric
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014MySQL Fabric Tutorial, October 2014
MySQL Fabric Tutorial, October 2014
 
Python Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL DatabasesPython Utilities for Managing MySQL Databases
Python Utilities for Managing MySQL Databases
 
The Complete MariaDB Server tutorial
The Complete MariaDB Server tutorialThe Complete MariaDB Server tutorial
The Complete MariaDB Server tutorial
 
The New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and MoreThe New MariaDB Offering: MariaDB 10, MaxScale and More
The New MariaDB Offering: MariaDB 10, MaxScale and More
 
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
 
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise ClusterWebseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
Webseminar: MariaDB Enterprise und MariaDB Enterprise Cluster
 
Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0Differences between MariaDB 10.3 & MySQL 8.0
Differences between MariaDB 10.3 & MySQL 8.0
 
How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?How to upgrade like a boss to my sql 8.0?
How to upgrade like a boss to my sql 8.0?
 
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
 
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
 
MySQL 5.7 Replication News
MySQL 5.7 Replication News MySQL 5.7 Replication News
MySQL 5.7 Replication News
 

Similar to MySQL NDB Cluster 8.0

OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
Matt Lord
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
Tesora
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
sqlhjalp
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
hannonhill
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
Bogdan Kecman
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
Bernd Ocklin
 
Ndb cluster 80_requirements
Ndb cluster 80_requirementsNdb cluster 80_requirements
Ndb cluster 80_requirements
mikaelronstrom
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choices
Maynooth University
 
20090425mysqlslides 12593434194072-phpapp02
20090425mysqlslides 12593434194072-phpapp0220090425mysqlslides 12593434194072-phpapp02
20090425mysqlslides 12593434194072-phpapp02
Vinamra Mittal
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
Mario Beck
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQL
ScyllaDB
 
Scalable relational database with SQL Azure
Scalable relational database with SQL AzureScalable relational database with SQL Azure
Scalable relational database with SQL Azure
Shy Engelberg
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
Dave Stokes
 
2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverviewDimas Prasetyo
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Management
sameerfaizan
 
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
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...Qian Lin
 
MySQL overview
MySQL overviewMySQL overview
MySQL overview
Mark Swarbrick
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
Maris Elsins
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive WritesLiran Zelkha
 

Similar to MySQL NDB Cluster 8.0 (20)

OpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStackOpenStack Days East -- MySQL Options in OpenStack
OpenStack Days East -- MySQL Options in OpenStack
 
MySQL Options in OpenStack
MySQL Options in OpenStackMySQL Options in OpenStack
MySQL Options in OpenStack
 
My sql crashcourse_intro_kdl
My sql crashcourse_intro_kdlMy sql crashcourse_intro_kdl
My sql crashcourse_intro_kdl
 
Optimizing MySQL for Cascade Server
Optimizing MySQL for Cascade ServerOptimizing MySQL for Cascade Server
Optimizing MySQL for Cascade Server
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
MySQL NDB Cluster 101
MySQL NDB Cluster 101MySQL NDB Cluster 101
MySQL NDB Cluster 101
 
Ndb cluster 80_requirements
Ndb cluster 80_requirementsNdb cluster 80_requirements
Ndb cluster 80_requirements
 
Chapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choicesChapter1: NoSQL: It’s about making intelligent choices
Chapter1: NoSQL: It’s about making intelligent choices
 
20090425mysqlslides 12593434194072-phpapp02
20090425mysqlslides 12593434194072-phpapp0220090425mysqlslides 12593434194072-phpapp02
20090425mysqlslides 12593434194072-phpapp02
 
MySQL Cluster
MySQL ClusterMySQL Cluster
MySQL Cluster
 
Modeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQLModeling Data and Queries for Wide Column NoSQL
Modeling Data and Queries for Wide Column NoSQL
 
Scalable relational database with SQL Azure
Scalable relational database with SQL AzureScalable relational database with SQL Azure
Scalable relational database with SQL Azure
 
Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk Scaling MySQL -- Swanseacon.co.uk
Scaling MySQL -- Swanseacon.co.uk
 
2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview2010 12 mysql_clusteroverview
2010 12 mysql_clusteroverview
 
NoSql Data Management
NoSql Data ManagementNoSql Data Management
NoSql Data Management
 
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
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
 
MySQL overview
MySQL overviewMySQL overview
MySQL overview
 
Database as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance PlatformDatabase as a Service on the Oracle Database Appliance Platform
Database as a Service on the Oracle Database Appliance Platform
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 

More from Ted Wennmark

Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
Ted Wennmark
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
Ted Wennmark
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
Ted Wennmark
 
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
Ted Wennmark
 
MySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQL
Ted Wennmark
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
Ted Wennmark
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
Ted Wennmark
 
MySQL@king
MySQL@kingMySQL@king
MySQL@king
Ted Wennmark
 
NoSQL and MySQL
NoSQL and MySQLNoSQL and MySQL
NoSQL and MySQL
Ted Wennmark
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smugTed Wennmark
 

More from Ted Wennmark (10)

Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!Upgrade to MySQL 8.0!
Upgrade to MySQL 8.0!
 
MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016MySQL Enterprise Backup apr 2016
MySQL Enterprise Backup apr 2016
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
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 Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQLMySQL Fabric - High Availability & Automated Sharding for MySQL
MySQL Fabric - High Availability & Automated Sharding for MySQL
 
The MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS SchemaThe MySQL Performance Schema & New SYS Schema
The MySQL Performance Schema & New SYS Schema
 
MySQL Enterprise Monitor
MySQL Enterprise MonitorMySQL Enterprise Monitor
MySQL Enterprise Monitor
 
MySQL@king
MySQL@kingMySQL@king
MySQL@king
 
NoSQL and MySQL
NoSQL and MySQLNoSQL and MySQL
NoSQL and MySQL
 
What's new in my sql smug
What's new in my sql smugWhat's new in my sql smug
What's new in my sql smug
 

Recently uploaded

Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
haila53
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
John Andrews
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
ukgaet
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
slg6lamcq
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
balafet
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
ewymefz
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Linda486226
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
Opendatabay
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
enxupq
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
u86oixdj
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
axoqas
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
oz8q3jxlp
 

Recently uploaded (20)

Ch03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdfCh03-Managing the Object-Oriented Information Systems Project a.pdf
Ch03-Managing the Object-Oriented Information Systems Project a.pdf
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
一比一原版(UVic毕业证)维多利亚大学毕业证成绩单
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
一比一原版(UniSA毕业证书)南澳大学毕业证如何办理
 
Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
 
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
一比一原版(UofM毕业证)明尼苏达大学毕业证成绩单
 
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdfSample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
Sample_Global Non-invasive Prenatal Testing (NIPT) Market, 2019-2030.pdf
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
Opendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptxOpendatabay - Open Data Marketplace.pptx
Opendatabay - Open Data Marketplace.pptx
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单一比一原版(QU毕业证)皇后大学毕业证成绩单
一比一原版(QU毕业证)皇后大学毕业证成绩单
 
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
原版制作(Deakin毕业证书)迪肯大学毕业证学位证一模一样
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
做(mqu毕业证书)麦考瑞大学毕业证硕士文凭证书学费发票原版一模一样
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
一比一原版(Deakin毕业证书)迪肯大学毕业证如何办理
 

MySQL NDB Cluster 8.0

  • 1. Ted Wennmark & Stuart Davey MySQL Solution Engineering EMEA MySQL Business Unit February 24, 2021 MySQL News MySQL NDB 8.0
  • 2. 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, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation. 2
  • 3. • Long time MySQL user – Started developing apps using MySQL over 20 years back – Worked as MySQL DBA, Trainer and consultant the past • MySQL Prinicipal Solution Architect at Oracle • Work with normal MySQL but have focuse on distributed databases with NDB Cluster. • My workshops at Github: https://github.com/wwwted/ • Let’s stay in touch: – https://www.linkedin.com/in/tedwennmark/ • Join us on slack: https://lefred.be/mysql-community-on-slack/ Ted Wennmark 3
  • 4. MySQL High Availability Solutions • MySQL NDB Cluster – NDB storage engine. – Memory database. – Automatic sharding of data. – SQL Access via MySQL with cross shard join support. – Native access via several API’s. – Read/write consistency. – Read/write scalability (2pc). – ACID and transactions. • MySQL InnoDB Cluster – Easy HA built into MySQL 5.7+ for InnoDB. – MySQL Group Replication, Shell and Router. – Write consistency. – Read Scalability. – Native CRUD API in MySQL 8. – Synchrounous (Paxos). • MySQL Replication – Core part of MySQL, used by almost everyone. – Can be used by any storage engine. – Asynchronous and semi- sync option. – Scale out reads. – ReplicaSet from 8.0.19 with integration to Shell and Router. 4
  • 5. MySQL High Availability Solutions • MySQL NDB Cluster – NDB storage engine. – Memory database. – Automatic sharding of data. – SQL Access via MySQL with cross shard join support. – Native access via several API’s. – Read/write consistency. – Read/write scalability (2pc). – ACID and transactions. • MySQL InnoDB Cluster – Easy HA built into MySQL 5.7+ for InnoDB. – MySQL Group Replication, Shell and Router. – Write consistency. – Read Scalability. – Native CRUD API in MySQL 8. – Synchrounous (Paxos). • MySQL Replication – Core part of MySQL, used by almost everyone. – Can be used by any storage engine. – Asynchronous and semi- sync option. – Scale out reads. – ReplicaSet from 8.0.19 with integration to Shell and Router. 5
  • 6. Massively linear scale Always-On 99.9999% Availability Distributed In-Memory Datasets Always Consistent Parallel Real-Time Performance. Auto-partitioning, data distribution and replication built-in. Read- and Write Scale-Out to many TB on commodity hardware. Designed for mission critical systems. Masterless, shared-nothing with no single point of failure. Transactional consistency across distributed and partitioned dataset. Out of the box straightforward application programming. Ease of use Open Source Written in C++. Can be used standalone or with MySQL as a SQL front-end. 6
  • 7. Requirements on NDB Cluster • Unavailable less than 30 seconds per year (Class 6) • Predictable latency (transaction with 20 operations within 10 milliseconds, mixed read/write) • Transparent Distribution and Replication • Write and Read Scalability • Support SQL, LDAP, File System interface, … • Mixed OLTP and OLAP for real-time data analysis • Follow HW development on CPUs, Network, Disks and Memory 7
  • 8. Class 6 Availability • Handle many concurrent and sequential failures • Automatic restart at failure • Synchronize with live nodes • Online schema changes • Global Replication • Online Add Node 8
  • 9. Predictable Latency - Real-time • Defaults to In-Memory storage • Asynchronous File Operations • Complex operations divided into multiple executions • Memory lockable to avoid swapping • Real-time mode supported • CPU spinning modes supported 9
  • 10. When TO consider MySQL Cluster • You need High Availability 6-9’s (and strong consistency). • You need Sharding, either due to size or write performance. • You need Linear Scalabillity when adding more nodes. • You need predictable Real-ime response times. • SQL and cross shard join support. • You want a ACID distributed in-memory database. 10
  • 11. Linear scale with MySQL Cluster 11
  • 12. MySQL Cluster NoSQL Performance 200 Million NoSQL Reads/Second • Memory optimized tables − Durable − Mix with disk-based tables • Parallel table scans for non-indexed searches • MySQL Cluster FlexAsych − 200M NoSQL Reads/Second 12
  • 13. MySQL Cluster SQL Performance 2.5M SQL Statements/Second • Memory optimized tables − Durable − Mix with disk-based tables • Massively concurrent OLTP • Distributed Joins for analytics • Parallel table scans for non-indexed searches • MySQL Cluster DBT2 BM − 2.5M SQL Statements/Second 13
  • 14. YCSB Benchmark YCSB : Yahoo Cloud Serving Benchmark • YCSB – Yahoo Cloud Service Benchmark − De-facto cloud benchmark − Benchmark can not be changed • NDB is #1 player in this realm − NDB Cluster is the Fastest Distributed, In-memory, Transactional Database in the world! 14
  • 15. YCSB Benchmark – Scaling NBD YCSB : Yahoo Cloud Serving Benchmark YCSB 0.15.0 with JDBC / SQL • 1kB records • Uniform distribution 2, 4 and 8 data nodes • Replication factor 2 • ACID (read committed) 8 DenseIO across 2 AD • adding 400us network latency Best throughput and latency on market 1M 2M 3M 4M 2 4 8 (2 ADs) 1.4M 2.8M 3.7M Transactions per second Nodes 15
  • 16. YCSB Benchmark – NDB Real-Time YCSB : Yahoo Cloud Serving Benchmark 4 data nodes with 300M and 600M rows using JDBC 99% SQL reads < 1ms • 95% < 0.9ms 99% SQL writes < 2ms • 95% < 1.7ms 1M Transaction per second 2 ms Same Throughput & Latency 300M rows 600M rows 1.25M TPS 1.25M TPS Reads Reads Writes Writes 1 ms 16
  • 17. Product Nodes TPS/OPS 32 227k 2 275k 3 715k 6 1.6M 8 1.6M 4 2.8M YCSB Benchmark – NDB Results YCSB : Yahoo Cloud Serving Benchmark • Developed at Yahoo for Cloud Scale workloads • Widely used to compare scale-out databases, NoSQL databases, and (non- durable) in-memory data grids • A series of NoSQL workload types are defined: • Workload A: 50% reads, 50% Updates • The YCSB Client cannot be changed • DB Vendors implement the DB Client interface in Java 17
  • 19. MySQL Cluster Architecture • Multiple data nodes form a cluster • Shared nothing architecture • Data is automatically distributed to data nodes 19
  • 20. MySQL Cluster Architecture - Replicas Copy of 1 Copy of 1 • Multiple copies of data are maintained for availability • A group of data nodes shares the same data • 1 - 4 replicas/copies of data can be configured 20
  • 21. User-id (PK) Service Data 1773467253 chat xxx 6257346892 chat xxx 1773467253 photos xxx 7234782739 photos xxx 8235602099 reminders xxx 8437829249 location xxx MySQL Cluster Data Nodes Partition Key Data distribution • Auto-partitioning and distribution − No name-node or central master • Each dataset is split into fragments and distributed across data nodes. • Within a cluster data is always consistent. 21
  • 22. Data distribution Cluster uses thousands of virtual partitions 22
  • 23. Data distribution These virtual partitions are distributed to data nodes 23
  • 24. Data distribution These virtual partitions are distributed to data nodes 24
  • 25. Data distribution These virtual partitions are distributed to data nodes 25
  • 26. Data distribution These virtual partitions are distributed to data nodes 26
  • 27. On-line Scaling and Elasticity - Repartitioning Virtual partitions re-distributed on-line when adding more data nodes Designed to be a slow background process not impacting real-time performance. 27
  • 28. On-line Scaling and Elasticity - Repartitioning Minimal amount of data moved No re-hashing necessary Similar to consistent hashing 28
  • 29. Fully replicated • Datasets can be marked to be copied to all nodes for best possible read performance • All copies can be configured to be read from • Local copy can be preferred when reading 29
  • 30. Writing data “ACID” Data Memory Flush writes to disk in background checkpoints Commit Log (REDO) writes … time … • Data in MySQL Cluster is written to memory and disk in a way that allows real-time access and recovery • Memory is locked so it won’t swap • Writes go to data memory and commit log • Background process checkpoints data memory for recovery • Reads always happen from memory - not from disk 30
  • 31. Reading Data • Cluster always knows where its data is - without a name node • Key-value with hash on primary key • Complemented by ordered in-memory-optimized T- Tree indexes for fast searches 31
  • 32. Cross partition joins • Cluster queries distributed data as if it was a single consolidated database • Joins are pushed down to data nodes • Parallel cross-shard execution in the data nodes • Result consolidation in MySQL Server 32
  • 34. MySQL Cluster Development: 7.5 -> 8.0 (GA) - MySQL Server 5.7 (5.6) - 5x faster restarts - JSON Support - 50% faster reads - 40% faster read/write Cluster 7.4/7.5 Cluster 7.6 - MySQL Server 5.7 - Designed for Terabyte clusters - Designed for modern hardware - Native csv import - Parallel backup - Faster restart and recovery Cluster 8.0 (GA) - MySQL 8.0 - More Data nodes (144) - 1-4 replicas - Dynamic memory mgmt - Larger rows (32k) - Faster SQL - Faster Disk Data 34
  • 35. Cluster 8.0 Multi-threaded backup Each data node doing own backup - one data manager handling all writing Now each data manager handling own writing Data Node 1 Data Node 2 Data Node 1 Data Node 2 35
  • 36. Cluster 8.0 Multi-threaded backup Now using all Local Data-Managers (LDM): − Better system balance, avoids local data-manager overload − Local Data-Manager with local backup processing - more efficient − Faster backups (but backup performance limited more by configurable checkpoint speed, so this is not necessarily true) N independent file sets, can restore in parallel 36
  • 37. Cluster 8.0 Transactional Data Dictionary • Goal: Atomic and Transactional DDL for MySQL Server. • Centralized data dictionary schema that uniformly stores dictionary data. • Serialized dictionary format (SDI). • MySQL Server local dictionary information is synchronized via NDB in a synchronous fashion. 37
  • 38. Cluster 8.0 Synchronized privileges I • Privilege information moved from MyISAM to transactional InnoDB (but not part of Data Dictionary). • Changes in code due to data dictionary mandated removal of previous distributed privileges implementation. • Privileges are now synchronized via NDB and schema distribution. 38
  • 39. Cluster 8.0 Synchronized privileges II mysql> GRANT NDB_STORED_USER ON db.t1 TO `bo-l-2`@`localhost` NDBAPI Local privilege tables (InnoDB) ACL ndb_sql_metadata table ACL Replication Events 39
  • 40. Cluster 8.0 Dynamic resource allocation config.ini today config.ini MaxNoOfConcurrentTransactions=70000 MaxNoOfConcurrentOperations=359500 # Don't touch the following parameter unless you really know what you're doing. MaxNoOfConcurrentScans=200 MaxNoOfLocalScans=9000 40
  • 41. Cluster 8.0 Dynamic resource allocation • Transactional memory dynamically allocated from pool • No more MaxNoOfTransactions, MaxNoOfOperations, MaxNoOf… • Still possible to use old static allocation for highest level of performance • More resources types to follow config.ini MaxNoOfConcurrentTransactions=90000 MaxNoOfConcurrentOperations=259200 # Don't touch the following parameter unless you really know what you're doing. MaxNoOfConcurrentScans=300 MaxNoOfLocalScans=10000 41
  • 42. Cluster 8.0 Dynamic resource allocation • Transaction resources have a reserved minimum and can allocate up to a maximum amount. • Transaction resources will first allocate from fixed size Transaction Memory pool. • If Transaction Memory pool is exhausted then allocation will happen from Shared Global Memory - up to maximum per resource. Shared Global Memory Reserved per resource Global maximum Transaction Memory Concurrent Operations Concurrent Transactions Concurrent Scans Exclusive for all transaction resources 42
  • 43. Cluster 8.0 Dynamic resource allocation High-level gains: − Less configuration complexity − Fewer operational issues due to 'resource X exhausted’ − Potential savings on memory due to over-configured resources. − Avoids hand-crafted config.ini for every new setup variant 43
  • 44. Node 2 Node 1 Cluster 8.0 Reading from backup fragment is default • Entirely local read transactions for co- located API-nodes! Improved latency. • Reading from backup allows to read any node containing a copy of data • Previously reads were directed towards the node containing the primary fragment only 44
  • 45. Cluster 8 TPC-H Cluster 8.0 versus 7.5 Across all SQL NDB 8.0 is equally fast or faster than 7.5 NDB 8.0 x times faster 0,00 17,50 35,00 52,50 70,00 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 *) Q9 Q10 *) Q11 Q12 Q13 Q14 Q15 Q16 Q17 Q18 *) Q19 Q20 Q21 Q22 Improvements made in 7.6 vs 7.5 Improvements made in 8.0 vs 7.6 45
  • 46. Cluster 8.0 More New features • Larger row sizes (14k -> 30k) • Support for 4 replicas (max 2 today) • Larger cluster: − Up to 144 data nodes 46
  • 47. Cluster 8.0 Road-map (continous delivery model) • Security − Encrypted backup (started, 8.0.21) − Encrypted data at rest (ongoing) − Key management − TLS links • Other − SQL improvements (ongoing) − IPv6 − Blob batching 47
  • 48. Deployment StatefulSet NDB Cluster Ndb operator backup / restore controller mysql controll NDB controller Data Node Data Node Data Node Data Node Mgm Node StatefulSet Mgm Node CRD Cluster 8.0 Road-map: Kubernetes operator for NDB
  • 50. MySQL Cluster Use Cases • Key-Value store + High Availability, Scale-Out, Durability • Transactional object store + Multi row transactions and consistency • Relational database with MySQL Server front-ends + SQL joins, foreign keys, triggers, stored procedures, generated columns, JSON 50
  • 51. SQL, JDBC, ADO, ... LB or Connector/J arbitrator MySQL Cluster: SQL - Read Optimized HA setup • Optimized 2 server HA setup, 3rd node with management node is needed for arbitration only. • With ReadBackup all data is read/joined locally. • MySQL API nodes use shared memory transporter (UseShm). • MySQL nodes know who is local data node using configuration parameter ndb_data_node_neighbor. 51
  • 52. application Data Nodes NDB Native C++ API MySQL Cluster: Key-Value store • High volume OLTP system. • Linear scalability. • Real-time response times. • +50TB systems • Use cases: ✓ IoT ✓ Financial data ✓ Telco core network data 52
  • 53. Application(s) NDB Native C++ API App SQL MySQL Cluster: Hybrid “New SQL” • High volume OLTP system. • Linear scalability. • Real-time response times. • +50TB systems • Access via SQL: ✓ Analytics ✓ BI ✓ Fraud Data Nodes 53
  • 54. Application(s) Load Balancers • High volume OLTP system. • +50TB systems • All access via SQL! • Use cases: ✓ IoT ✓ On-line gaming ✓ Trading or other financial data ✓ Scalable SQL database MySQL Cluster: New SQL Data Nodes 54
  • 55. Node Group 2 Node Group 1 Application(s) Data Nodes MySQL Cluster: DR – One Stretched Cluster I Load Balancers Application(s) Load Balancers DC 1 DC 2 55
  • 56. MySQL Cluster: DR – One Stretched Cluster II • This architecture will impact your response times if the latency is high between the two data center. − With the use of multithreaded applications and batching NDB can still deliver good throughput. − Timeouts for heartbeat can be increased if needed. • Make sure you configure cluster so node groups are spanning both DC as seen in picture above. • This architecture is best used if you have a predictable low latency network. • Supports running application active on both sites (DC’s) 56
  • 57. Application(s) Data Nodes MySQL Cluster: DR – Asynchronous Replication I Load Balancers Application(s) Load Balancers DC 1 DC 2 Data Nodes 57
  • 58. MySQL Cluster: DR – Asynchronous Replication II • This architecture is our standard (Active/Passive) DR solution. • Two independent NDB Custer on each site, no impact on response times due to latency between the two sites (DS’s) since replication is asynchronous. • Asynchronous replication is not native to NDB so dedicated MySQL nodes are need to take care of replication cross sites. • Manual work is needed to manage the replication channel. • Supports running application active/passive setup between sites (DC’s) − Active/Active can be achieved using replication in both directions and conflict resolution. 58
  • 59. Who’s Using MySQL Cluster? 59
  • 60. MySQL Replication vs InnoDB Cluster vs NDB Cluster MySQL Replication MySQL InnoDB Cluster MySQL NDB Cluster Storage Engine All InnoDB NDBCLUSTER Distributed Architecture Shared Shared nothing Shared nothing Clustering Mode Master + slaves Multi-master (possible) Multi-master (default) Replication mode Asynchronous Paxos (Synchronous) 2PC (Synchronous) Consistency Model Weak Consistency Medium Consistency Strong Consistency Sharding No No Yes Arbitration No Yes Yes Load Balancing No Reads via MySQL Router Yes NoSQL APIs MySQL CRUD API MySQL CRUD API Native NDB API Operational Complexity Easy Medium High Administration Standard (MySQL) Standard (MySQL) Custom (MySQL + NDB) 60
  • 61. Thank you Ted Wennmark MySQL Solution Engineering EMEA MySQL Business Unit 61