The document discusses MySQL NDB 8.0 and high availability solutions for MySQL. It summarizes MySQL NDB Cluster, MySQL InnoDB Cluster, and MySQL Replication as high availability solutions. It also discusses features and performance of MySQL NDB Cluster 8.0, including linear scalability, predictable low-latency performance, and improved backup throughput.
MySQL 8.0 is the latest Generally Available version of MySQL. This session will give a brief introduction to MySQL 8.0 and help you upgrade from older versions, understand what utilities are available to make the process smoother and also understand what you need to bear in mind with the new version and considerations for possible behaviour changes and solutions. It really is a simple process.
MySQL can now be used as a document store, combining the flexibility of the document store model with the power of the relational model. You’ll understand why you’ll be able to choose MySQL for your Relational AND Document Store needs, avoiding significant trade-offs and being forced into choosing multiple solutions.
MySQL 8.0 is the latest Generally Available version of MySQL. This session will give a brief introduction to MySQL 8.0 and help you upgrade from older versions, understand what utilities are available to make the process smoother and also understand what you need to bear in mind with the new version and considerations for possible behaviour changes and solutions. It really is a simple process.
MySQL can now be used as a document store, combining the flexibility of the document store model with the power of the relational model. You’ll understand why you’ll be able to choose MySQL for your Relational AND Document Store needs, avoiding significant trade-offs and being forced into choosing multiple solutions.
Introduction to MySQL, and its features with an explanation of the various processes that should be followed in order to have an efficient MySQL implementation.
MySQL Day Paris 2016 - MySQL as a Document StoreOlivier DASINI
MySQL Day Paris 2016 - MySQL as a Document Store
✔ Built on Proven SQL/InnoDB/Replication
✔ Schema-less/Relational/Hybrid
✔ ACID/Transactions
✔ CRUD/JSON/Documents
✔ Modern Dev API
✔ Modern/Efficient Protocol
✔ SQL Queries/Analytics over JSON Documents
✔ Transparent and Easy HA/Scaling/Sharding
This is a presentation at Bengaluru TechDay -October2019 for Oracle Database Admin and Architects presented by Karthik P R ( CEO Mydbops ). He explains the possible High Availability options in MySQL ecosystem.
https://www.meetup.com/All-India-Oracle-Users-Group-Bangalore-Chapter/events/265252214/
Python Utilities for Managing MySQL DatabasesMats Kindahl
Managing a MySQL database server can become a full time job. What we need are tools that bundle a set of related tasks into a common utility. While there are several such utility libraries to choose, it is often the case that you need to customize them to your needs. The MySQL Utilities library is the answer to that need. It is open source so you can modify and expand it as you see fit.
This is the presentation from OSCON 2011 in Portland.
Presented at Percona Live Amsterdam 2016, this is an in-depth look at MariaDB Server right up to MariaDB Server 10.1. Learn the differences. See what's already in MySQL. And so on.
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
MySQL and MariaDB are becoming more divergent. Learn what is different from a high level. It is also a good idea to ensure that you use the correct database for the correct job.
This talk will explain best practices for upgrade techniques in MySQL. In deep dive, we will go over how to upgrade successfully to MySQL 8.0. Explain MySQL 8.0 upgrade specific challenges. Go over gotchas and best practices. Review the latest version of MySQL 8.0 and bug reports.
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
In most production OpenStack installations, you want the backing metadata store to be highly available. For this, the de facto standard has become MySQL+Galera. In order to help you meet this basic use case even better, I will introduce you to the brand new native MySQL HA solution called MySQL Group Replication. This allows you to easily go from a single instance of MySQL to a MySQL service that's natively distributed and highly available, while eliminating the need for any third party library and implementations.
If you have an extremely large OpenStack installation in production, then you are likely to eventually run into write scaling issues and the metadata store itself can become a bottleneck. For this use case, MySQL NDB Cluster can allow you to linearly scale the metadata store as your needs grow. I will introduce you to the core features of MySQL NDB Cluster--which include in-memory OLTP, transparent sharding, and support for active/active multi-datacenter clusters--that will allow you to meet even the most demanding of use cases with ease.
Introduction to MySQL, and its features with an explanation of the various processes that should be followed in order to have an efficient MySQL implementation.
MySQL Day Paris 2016 - MySQL as a Document StoreOlivier DASINI
MySQL Day Paris 2016 - MySQL as a Document Store
✔ Built on Proven SQL/InnoDB/Replication
✔ Schema-less/Relational/Hybrid
✔ ACID/Transactions
✔ CRUD/JSON/Documents
✔ Modern Dev API
✔ Modern/Efficient Protocol
✔ SQL Queries/Analytics over JSON Documents
✔ Transparent and Easy HA/Scaling/Sharding
This is a presentation at Bengaluru TechDay -October2019 for Oracle Database Admin and Architects presented by Karthik P R ( CEO Mydbops ). He explains the possible High Availability options in MySQL ecosystem.
https://www.meetup.com/All-India-Oracle-Users-Group-Bangalore-Chapter/events/265252214/
Python Utilities for Managing MySQL DatabasesMats Kindahl
Managing a MySQL database server can become a full time job. What we need are tools that bundle a set of related tasks into a common utility. While there are several such utility libraries to choose, it is often the case that you need to customize them to your needs. The MySQL Utilities library is the answer to that need. It is open source so you can modify and expand it as you see fit.
This is the presentation from OSCON 2011 in Portland.
Presented at Percona Live Amsterdam 2016, this is an in-depth look at MariaDB Server right up to MariaDB Server 10.1. Learn the differences. See what's already in MySQL. And so on.
Differences between MariaDB 10.3 & MySQL 8.0Colin Charles
MySQL and MariaDB are becoming more divergent. Learn what is different from a high level. It is also a good idea to ensure that you use the correct database for the correct job.
This talk will explain best practices for upgrade techniques in MySQL. In deep dive, we will go over how to upgrade successfully to MySQL 8.0. Explain MySQL 8.0 upgrade specific challenges. Go over gotchas and best practices. Review the latest version of MySQL 8.0 and bug reports.
OpenStack Days East -- MySQL Options in OpenStackMatt Lord
In most production OpenStack installations, you want the backing metadata store to be highly available. For this, the de facto standard has become MySQL+Galera. In order to help you meet this basic use case even better, I will introduce you to the brand new native MySQL HA solution called MySQL Group Replication. This allows you to easily go from a single instance of MySQL to a MySQL service that's natively distributed and highly available, while eliminating the need for any third party library and implementations.
If you have an extremely large OpenStack installation in production, then you are likely to eventually run into write scaling issues and the metadata store itself can become a bottleneck. For this use case, MySQL NDB Cluster can allow you to linearly scale the metadata store as your needs grow. I will introduce you to the core features of MySQL NDB Cluster--which include in-memory OLTP, transparent sharding, and support for active/active multi-datacenter clusters--that will allow you to meet even the most demanding of use cases with ease.
Modeling Data and Queries for Wide Column NoSQLScyllaDB
Discover how to model data for wide column databases such as ScyllaDB and Apache Cassandra. Contrast the differerence from traditional RDBMS data modeling, going from a normalized “schema first” design to a denormalized “query first” design. Plus how to use advanced features like secondary indexes and materialized views to use the same base table to get the answers you need.
NoSQL, as many of you may already know, is basically a database used to manage huge sets of unstructured data, where in the data is not stored in tabular relations like relational databases. Most of the currently existing Relational Databases have failed in solving some of the complex modern problems like:
• Continuously changing nature of data - structured, semi-structured, unstructured and polymorphic data.
• Applications now serve millions of users in different geo-locations, in different timezones and have to be up and running all the time, with data integrity maintained
• Applications are becoming more distributed with many moving towards cloud computing.
NoSQL plays a vital role in an enterprise application which needs to access and analyze a massive set of data that is being made available on multiple virtual servers (remote based) in the cloud infrastructure and mainly when the data set is not structured. Hence, the NoSQL database is designed to overcome the Performance, Scalability, Data Modelling and Distribution limitations that are seen in the Relational Databases.
Database as a Service on the Oracle Database Appliance PlatformMaris Elsins
Speaker: Marc Fielding, Co-speaker: Maris Elsins.
Oracle Database Appliance provides a robust, highly-available, cost-effective, and surprisingly scalable platform for database as a service environment. By leveraging Oracle Enterprise Manager's self-service features, databases can be provisioned on a self-service basis to a cluster of Oracle Database Appliance machines. Discover how multiple ODA devices can be managed together to provide both high availability and incremental, cost-effective scalability. Hear real-world lessons learned from successful database consolidation implementations.
MySQL Backup
Backup is one of the most critical tasks of database administration. In this webinar we will show you which options are available to run Backups of your MySQL databases and how different backup architectures support backups with minimal impact to ongoing operation of your application. Learn about online backups, quick restores, backup to cloud storage and encryption of backup data. All important features to run a professional, secure and performance backup environment.
MySQL 5.6, news in 5.7 and our HA optionsTed Wennmark
Join us for this free MySQL Tech Tour to learn straight from the source how you can benefit from Oracle’s latest MySQL innovations. Our technical experts will help you understand how to take advantage of the wide range of new features and enhancements available in MySQL Fabric, MySQL 5.6, MySQL Cluster and other MySQL solutions. They will share tips & tricks to help you get the most of your database. You will also discover what’s coming next in MySQL 5.7.
Our (Olle from King and myself) session at OOW2014 (MySQL Central).
You will learn about the setup at King and also have a brief introduction to scaling MySQL.
My MySQL and NoSQL presentation from the NoSQL Search event in Copenhagen: http://nosqlroadshow.com/nosql-cph-2013/speaker/Ted+Wennmark
MySQL offers solutions to implement NoSQL concepts like auto-sharding, key-value access or asynchronous operations. This adds all known solutions from the SQL world to the NoSQL space.
The combined approach of SQL and NoSQL gives developers the choice to select whatever features from both worlds they need.
In this talk we take a deeper look at key-value access to MySQL and MySQL Cluster, auto-sharding and scalability of MySQL Cluster, mapping of schemaless key value access to a relational data model and the performance of NoSQL access to MySQL.
Chatty Kathy - UNC Bootcamp Final Project Presentation - Final Version - 5.23...John Andrews
SlideShare Description for "Chatty Kathy - UNC Bootcamp Final Project Presentation"
Title: Chatty Kathy: Enhancing Physical Activity Among Older Adults
Description:
Discover how Chatty Kathy, an innovative project developed at the UNC Bootcamp, aims to tackle the challenge of low physical activity among older adults. Our AI-driven solution uses peer interaction to boost and sustain exercise levels, significantly improving health outcomes. This presentation covers our problem statement, the rationale behind Chatty Kathy, synthetic data and persona creation, model performance metrics, a visual demonstration of the project, and potential future developments. Join us for an insightful Q&A session to explore the potential of this groundbreaking project.
Project Team: Jay Requarth, Jana Avery, John Andrews, Dr. Dick Davis II, Nee Buntoum, Nam Yeongjin & Mat Nicholas
Show drafts
volume_up
Empowering the Data Analytics Ecosystem: A Laser Focus on Value
The data analytics ecosystem thrives when every component functions at its peak, unlocking the true potential of data. Here's a laser focus on key areas for an empowered ecosystem:
1. Democratize Access, Not Data:
Granular Access Controls: Provide users with self-service tools tailored to their specific needs, preventing data overload and misuse.
Data Catalogs: Implement robust data catalogs for easy discovery and understanding of available data sources.
2. Foster Collaboration with Clear Roles:
Data Mesh Architecture: Break down data silos by creating a distributed data ownership model with clear ownership and responsibilities.
Collaborative Workspaces: Utilize interactive platforms where data scientists, analysts, and domain experts can work seamlessly together.
3. Leverage Advanced Analytics Strategically:
AI-powered Automation: Automate repetitive tasks like data cleaning and feature engineering, freeing up data talent for higher-level analysis.
Right-Tool Selection: Strategically choose the most effective advanced analytics techniques (e.g., AI, ML) based on specific business problems.
4. Prioritize Data Quality with Automation:
Automated Data Validation: Implement automated data quality checks to identify and rectify errors at the source, minimizing downstream issues.
Data Lineage Tracking: Track the flow of data throughout the ecosystem, ensuring transparency and facilitating root cause analysis for errors.
5. Cultivate a Data-Driven Mindset:
Metrics-Driven Performance Management: Align KPIs and performance metrics with data-driven insights to ensure actionable decision making.
Data Storytelling Workshops: Equip stakeholders with the skills to translate complex data findings into compelling narratives that drive action.
Benefits of a Precise Ecosystem:
Sharpened Focus: Precise access and clear roles ensure everyone works with the most relevant data, maximizing efficiency.
Actionable Insights: Strategic analytics and automated quality checks lead to more reliable and actionable data insights.
Continuous Improvement: Data-driven performance management fosters a culture of learning and continuous improvement.
Sustainable Growth: Empowered by data, organizations can make informed decisions to drive sustainable growth and innovation.
By focusing on these precise actions, organizations can create an empowered data analytics ecosystem that delivers real value by driving data-driven decisions and maximizing the return on their data investment.
Opendatabay - Open Data Marketplace.pptxOpendatabay
Opendatabay.com unlocks the power of data for everyone. Open Data Marketplace fosters a collaborative hub for data enthusiasts to explore, share, and contribute to a vast collection of datasets.
First ever open hub for data enthusiasts to collaborate and innovate. A platform to explore, share, and contribute to a vast collection of datasets. Through robust quality control and innovative technologies like blockchain verification, opendatabay ensures the authenticity and reliability of datasets, empowering users to make data-driven decisions with confidence. Leverage cutting-edge AI technologies to enhance the data exploration, analysis, and discovery experience.
From intelligent search and recommendations to automated data productisation and quotation, Opendatabay AI-driven features streamline the data workflow. Finding the data you need shouldn't be a complex. Opendatabay simplifies the data acquisition process with an intuitive interface and robust search tools. Effortlessly explore, discover, and access the data you need, allowing you to focus on extracting valuable insights. Opendatabay breaks new ground with a dedicated, AI-generated, synthetic datasets.
Leverage these privacy-preserving datasets for training and testing AI models without compromising sensitive information. Opendatabay prioritizes transparency by providing detailed metadata, provenance information, and usage guidelines for each dataset, ensuring users have a comprehensive understanding of the data they're working with. By leveraging a powerful combination of distributed ledger technology and rigorous third-party audits Opendatabay ensures the authenticity and reliability of every dataset. Security is at the core of Opendatabay. Marketplace implements stringent security measures, including encryption, access controls, and regular vulnerability assessments, to safeguard your data and protect your privacy.
Techniques to optimize the pagerank algorithm usually fall in two categories. One is to try reducing the work per iteration, and the other is to try reducing the number of iterations. These goals are often at odds with one another. Skipping computation on vertices which have already converged has the potential to save iteration time. Skipping in-identical vertices, with the same in-links, helps reduce duplicate computations and thus could help reduce iteration time. Road networks often have chains which can be short-circuited before pagerank computation to improve performance. Final ranks of chain nodes can be easily calculated. This could reduce both the iteration time, and the number of iterations. If a graph has no dangling nodes, pagerank of each strongly connected component can be computed in topological order. This could help reduce the iteration time, no. of iterations, and also enable multi-iteration concurrency in pagerank computation. The combination of all of the above methods is the STICD algorithm. [sticd] For dynamic graphs, unchanged components whose ranks are unaffected can be skipped altogether.
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
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
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
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
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
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