SlideShare a Scribd company logo
1 of 39
Download to read offline
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster
Bernd Ocklin
MySQL Cluster Development
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Asynchronous Parallel Database Design for High Performance
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended
for information purposes only, and may not be incorporated into any contract. It
is not a commitment to deliver any material, code, or functionality, and should
not be relied upon in making purchasing decisions. The development, release,
and timing of any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
Copyright 2015, oracle and/or its affiliates. All rights reserved 2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Bernd Ocklin
Snr Director
MySQL Cluster Engineering
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Today
MySQL Cluster Overview
MySQL Cluster 8.0
Data Distribution
Asynchronous Model
Cluster Virtual Machine
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster
Proven in serving billions of people every day when making phone calls,
playing online games or handling financial transactions.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 6
Massive 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.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster 8.0
- MySQL Server 5.7
- 5x faster restarts
- JSON Support
- 50% faster reads
- 40% faster read/write
MySQL 7.4 / 7.5
MySQL 7.6
- MySQL Server 5.7
- Redesigned for Terabyte clusters
- Redesigned for modern hardware
- 50% faster joins
- 100% faster scans
- 1000% faster restarts
MySQL 8.0
- Adopting data dictionary
- Hundreds of nodes
- 3 - 4 replicas
- Larger rows
Download and test 8.0.13 now
https://dev.mysql.com/downloads/cluster/
DMR
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster 7.6.7 - 2 x faster scans
• example: Sysbench RO
0
2250
4500
6750
9000
1 2 4 8 16 32 64 128 256 384 512
RO 7.6.8 7.6.7 7.5.11 7.4.21
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster 7.6.7 - 10 x faster restarts
• example: restart with 600 DBT2 warehouses - 280M rows
7.5.11 7.6.6 7.6.7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
MySQL Cluster Architecture
• Multiple data nodes form a cluster
• Shared nothing
• Data distributed to data nodes
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• 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
transactionally consistent
Data distribution User-id (PK) Service (PK) 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
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Dataset distribution to virtual
partitions
• Hash on partition key as
default
• No re-hashing for data re-
organisation
Data distribution User-id (PK) Service (PK) Data
1773467253 chat xxx
6257346892 chat xxx
1773467253 photos xxx
7234782739 photos xxx
8235602099 reminders xxx
8437829249 location xxx
Partition Key
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Data distribution
• Cluster uses thousands of virtual partitions
• Distributed to data nodes and within data nodes
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Data distribution
• These virtual partitions are distributed to data nodes
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Data distribution
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Data distribution
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Data distribution
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Global consistent view of distributed data
User-id (PK) Service (PK) Data
1773467253 chat xxx
6257346892 chat xxx
1773467253 photos xxx
7234782739 photos xxx
8235602099 reminders xxx
8437829249 location xxx
Partition Key
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Across one or many parallel MySQL Servers and API nodes
Global consistent view of distributed data
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Data distribution awareness
• Key-value with hash on primary key
• Complemented by ordered in-memory-
optimised T-Tree indexes for fast searches
• Cluster always knows where its data is - without a name node
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Parallel cross-partition queries
•Parallel execution on
the data nodes and
within data nodes
• Utilizes up to 64 cores
efficiently
• Parallelizes all work
even on single queries
• Batches automatically
• Event driven and
asynchronous
• Always consistent access to the entire distributed and partitioned dataset
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Just mentioning - not topic of these slides
Cluster and High Availability
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
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Replication locally and between physical locations
• With awareness of data locality and availability domains for cloud
Cluster
Data Nodes
Replication
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Reading and writing data
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Asynchronous design for reads and writes
• Tasks organized in working
blocks
• Signals for communication
between blocks
• Job buffers for each
working block
• Executed in cluster VM
• Cluster virtual machine kernel
Working 

„block“
Job 

queue
Signals

(Events)
• Transaction 

Coordination
• Data Manager
• …
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Single asynchronous simple read
• A single transaction is coordinated by one Transaction Coordinator
• One Data Manager per partition
Transaction
Coordinator (TC)
Data
Managers (DM)
Async Signals
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Single asynchronous simple read - distributed
• Signals are send between blocks inside and between data nodes
Transaction
Coordinator (TC)
Data
Manager (DM)
Data Node Data Node
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Multiple asynchronous simple reads
Transaction
Coordinator (TC)
Data
Managers (DM)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Single asynchronous table scan
Transaction
Coordinator (TC)
Data
Managers (DM)
• Scanning multiple partitions in parallel
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
In a bit more detail
LQH ACC TUP TUX API TC
Scan request
Stored procedure request
Next scan request
prepareTupleKeyRequest
Next scan confirmation
Tuple key request
TransAI
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Cluster virtual machine
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Cost of CPU context switches - around 3 - 5us
Context
switch
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Multiple Threads per data node
• Each thread handles some blocks
• Parallel execution of
• … multiple queries from …
• … multiple users on …
• … multiple MySQL Servers
• Communication with signals
• Goal: minimize context
switching
Virtual machine model
NIC
Main thread
Data manager
Receive
Send
Disk/SSD IO
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Data is partitioned inside the
data nodes
• Communication asynchronously,
event driven on cluster’s VM
• No group communication -
instead using
• Distributed row locks
• Non-blocking 2-phase commit
Lock free and multi core VM
NIC
Main thread
Data manager
Receive
Send
Disk/SSD IO
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Concurrent requests in multithreaded Virtual Machine
• Out of order execution possible
Transaction
Coordinator (TC)
Data
Managers (DM)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Multithreaded Virtual Machine
• Each partition can be managed in its own thread via Data Manager
• There can be separate threads for disks, sending and receiving over
network as well
• Threads can be distributed and locked to CPU cores for real time
Data manager threads
Data nodes with 

data partitions
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Cross partition joins
•Parallel execution
across data nodes and
within data nodes
•Cluster queries
distributed data as if
it was a single
consolidated database
• Joins are pushed
down to data nodes
• Result consolidation
in MySQL Server
• Parallel joins with MySQL Server query engine
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Massive parallel system executing parallel queries
Receive Send
Transaction Data Manager
Data Node
Receive Send
Transaction Data Manager
Data Node
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Some conclusions
• Asynchronous event driven model
• Very hard to establish (distributed, out of order execution, …)
• Once established it is easy to extend (create new blocks, signals)
• Very simple to split, scale and multithread as blocks already communicate
asynchronously
• Allows to parallelize even single queries over multiple machines and cores
• Network is the bottleneck
• Virtual machine model helps to avoid CPU overhead
• Context switches
• Memory

More Related Content

What's hot

Gpu computing workshop
Gpu computing workshopGpu computing workshop
Gpu computing workshopdatastack
 
Understanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problemsUnderstanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problemsAcunu
 
Nyc summit intro_to_cassandra
Nyc summit intro_to_cassandraNyc summit intro_to_cassandra
Nyc summit intro_to_cassandrazznate
 
Migration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a HitchMigration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a HitchDataStax Academy
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)DataStax Academy
 
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)Ontico
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureScyllaDB
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStoreMariaDB plc
 
NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015Ivan Glushkov
 
Cisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStackCisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStackDataStax Academy
 
Optimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageOptimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageKai Sasaki
 
Large partition in Cassandra
Large partition in CassandraLarge partition in Cassandra
Large partition in CassandraShogo Hoshii
 
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBComparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBScyllaDB
 
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016DataStax
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesScyllaDB
 
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...DataStax
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation Yahoo Developer Network
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database OverviewSteve Min
 
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive Omid Vahdaty
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache CassandraDataStax
 

What's hot (20)

Gpu computing workshop
Gpu computing workshopGpu computing workshop
Gpu computing workshop
 
Understanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problemsUnderstanding Cassandra internals to solve real-world problems
Understanding Cassandra internals to solve real-world problems
 
Nyc summit intro_to_cassandra
Nyc summit intro_to_cassandraNyc summit intro_to_cassandra
Nyc summit intro_to_cassandra
 
Migration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a HitchMigration Best Practices: From RDBMS to Cassandra without a Hitch
Migration Best Practices: From RDBMS to Cassandra without a Hitch
 
How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)How to size up an Apache Cassandra cluster (Training)
How to size up an Apache Cassandra cluster (Training)
 
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
The Future of Postgres Sharding / Bruce Momjian (PostgreSQL)
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database Architecture
 
MariaDB ColumnStore
MariaDB ColumnStoreMariaDB ColumnStore
MariaDB ColumnStore
 
NewSQL overview, Feb 2015
NewSQL overview, Feb 2015NewSQL overview, Feb 2015
NewSQL overview, Feb 2015
 
Cisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStackCisco: Cassandra adoption on Cisco UCS & OpenStack
Cisco: Cassandra adoption on Cisco UCS & OpenStack
 
Optimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageOptimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud Storage
 
Large partition in Cassandra
Large partition in CassandraLarge partition in Cassandra
Large partition in Cassandra
 
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDBComparing Apache Cassandra 4.0, 3.0, and ScyllaDB
Comparing Apache Cassandra 4.0, 3.0, and ScyllaDB
 
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
Cassandra at Instagram 2016 (Dikang Gu, Facebook) | Cassandra Summit 2016
 
Cassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary DifferencesCassandra vs. ScyllaDB: Evolutionary Differences
Cassandra vs. ScyllaDB: Evolutionary Differences
 
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
Cold Storage That Isn't Glacial (Joshua Hollander, Protectwise) | Cassandra S...
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
 
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive AWS Big Data Demystified #2 |  Athena, Spectrum, Emr, Hive
AWS Big Data Demystified #2 | Athena, Spectrum, Emr, Hive
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 

Similar to Mysql NDB Cluster's Asynchronous Parallel Design for High Performance

MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)Olivier DASINI
 
What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017Ivan Ma
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability MattersMatt Lord
 
Unlocking big data with Hadoop + MySQL
Unlocking big data with Hadoop + MySQLUnlocking big data with Hadoop + MySQL
Unlocking big data with Hadoop + MySQLRicky Setyawan
 
MySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIMySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIRui Quelhas
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014Sanjay Manwani
 
Rac 12c rel2_operational_best_practices_sangam_2017
Rac 12c rel2_operational_best_practices_sangam_2017Rac 12c rel2_operational_best_practices_sangam_2017
Rac 12c rel2_operational_best_practices_sangam_2017Anil Nair
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Fran Navarro
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsAndrew Morgan
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLOlivier DASINI
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ssAnil Nair
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015Sanjay Manwani
 
Exadata architecture and internals presentation
Exadata architecture and internals presentationExadata architecture and internals presentation
Exadata architecture and internals presentationSanjoy Dasgupta
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQLTed Wennmark
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)Mario Beck
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)Andrew Morgan
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016Geir Høydalsvik
 

Similar to Mysql NDB Cluster's Asynchronous Parallel Design for High Performance (20)

MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)MySQL 5.7 InnoDB Cluster (Jan 2018)
MySQL 5.7 InnoDB Cluster (Jan 2018)
 
What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017What's New in MySQL 8.0 @ HKOSC 2017
What's New in MySQL 8.0 @ HKOSC 2017
 
Why MySQL High Availability Matters
Why MySQL High Availability MattersWhy MySQL High Availability Matters
Why MySQL High Availability Matters
 
Novinky v Oracle Database 18c
Novinky v Oracle Database 18cNovinky v Oracle Database 18c
Novinky v Oracle Database 18c
 
Unlocking big data with Hadoop + MySQL
Unlocking big data with Hadoop + MySQLUnlocking big data with Hadoop + MySQL
Unlocking big data with Hadoop + MySQL
 
MySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIMySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPI
 
MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014MySQL & Oracle Linux Keynote at Open Source India 2014
MySQL & Oracle Linux Keynote at Open Source India 2014
 
Rac 12c rel2_operational_best_practices_sangam_2017
Rac 12c rel2_operational_best_practices_sangam_2017Rac 12c rel2_operational_best_practices_sangam_2017
Rac 12c rel2_operational_best_practices_sangam_2017
 
Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster Simplify IT: Oracle SuperCluster
Simplify IT: Oracle SuperCluster
 
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worldsOUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
OUG Scotland 2014 - NoSQL and MySQL - The best of both worlds
 
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQLMySQL InnoDB Cluster - A complete High Availability solution for MySQL
MySQL InnoDB Cluster - A complete High Availability solution for MySQL
 
New availability features in oracle rac 12c release 2 anair ss
New availability features in oracle rac 12c release 2 anair   ssNew availability features in oracle rac 12c release 2 anair   ss
New availability features in oracle rac 12c release 2 anair ss
 
Oracle Storage a ochrana dat
Oracle Storage a ochrana datOracle Storage a ochrana dat
Oracle Storage a ochrana dat
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015My sql5.7 whatsnew_presentedatgids2015
My sql5.7 whatsnew_presentedatgids2015
 
Exadata architecture and internals presentation
Exadata architecture and internals presentationExadata architecture and internals presentation
Exadata architecture and internals presentation
 
Introduction to MySQL
Introduction to MySQLIntroduction to MySQL
Introduction to MySQL
 
MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)MySQL for Software-as-a-Service (SaaS)
MySQL for Software-as-a-Service (SaaS)
 
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
MySQL Cluster - Latest Developments (up to and including MySQL Cluster 7.4)
 
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
What's new in MySQL 5.7, Oracle Virtual Technology Summit, 2016
 

Recently uploaded

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Recently uploaded (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Mysql NDB Cluster's Asynchronous Parallel Design for High Performance

  • 1. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Bernd Ocklin MySQL Cluster Development Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Asynchronous Parallel Database Design for High Performance
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Copyright 2015, oracle and/or its affiliates. All rights reserved 2
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Bernd Ocklin Snr Director MySQL Cluster Engineering
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Today MySQL Cluster Overview MySQL Cluster 8.0 Data Distribution Asynchronous Model Cluster Virtual Machine
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Proven in serving billions of people every day when making phone calls, playing online games or handling financial transactions.
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 6 Massive 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.
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster 8.0 - MySQL Server 5.7 - 5x faster restarts - JSON Support - 50% faster reads - 40% faster read/write MySQL 7.4 / 7.5 MySQL 7.6 - MySQL Server 5.7 - Redesigned for Terabyte clusters - Redesigned for modern hardware - 50% faster joins - 100% faster scans - 1000% faster restarts MySQL 8.0 - Adopting data dictionary - Hundreds of nodes - 3 - 4 replicas - Larger rows Download and test 8.0.13 now https://dev.mysql.com/downloads/cluster/ DMR
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster 7.6.7 - 2 x faster scans • example: Sysbench RO 0 2250 4500 6750 9000 1 2 4 8 16 32 64 128 256 384 512 RO 7.6.8 7.6.7 7.5.11 7.4.21
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster 7.6.7 - 10 x faster restarts • example: restart with 600 DBT2 warehouses - 280M rows 7.5.11 7.6.6 7.6.7
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | MySQL Cluster Architecture • Multiple data nodes form a cluster • Shared nothing • Data distributed to data nodes
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • 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 transactionally consistent Data distribution User-id (PK) Service (PK) 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
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Dataset distribution to virtual partitions • Hash on partition key as default • No re-hashing for data re- organisation Data distribution User-id (PK) Service (PK) Data 1773467253 chat xxx 6257346892 chat xxx 1773467253 photos xxx 7234782739 photos xxx 8235602099 reminders xxx 8437829249 location xxx Partition Key
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Data distribution • Cluster uses thousands of virtual partitions • Distributed to data nodes and within data nodes
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Data distribution • These virtual partitions are distributed to data nodes
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Data distribution
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Data distribution
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Data distribution
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Global consistent view of distributed data User-id (PK) Service (PK) Data 1773467253 chat xxx 6257346892 chat xxx 1773467253 photos xxx 7234782739 photos xxx 8235602099 reminders xxx 8437829249 location xxx Partition Key
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Across one or many parallel MySQL Servers and API nodes Global consistent view of distributed data
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Data distribution awareness • Key-value with hash on primary key • Complemented by ordered in-memory- optimised T-Tree indexes for fast searches • Cluster always knows where its data is - without a name node
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Parallel cross-partition queries •Parallel execution on the data nodes and within data nodes • Utilizes up to 64 cores efficiently • Parallelizes all work even on single queries • Batches automatically • Event driven and asynchronous • Always consistent access to the entire distributed and partitioned dataset
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Just mentioning - not topic of these slides Cluster and High Availability 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
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Replication locally and between physical locations • With awareness of data locality and availability domains for cloud Cluster Data Nodes Replication
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Reading and writing data
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Asynchronous design for reads and writes • Tasks organized in working blocks • Signals for communication between blocks • Job buffers for each working block • Executed in cluster VM • Cluster virtual machine kernel Working 
 „block“ Job 
 queue Signals
 (Events) • Transaction 
 Coordination • Data Manager • …
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Single asynchronous simple read • A single transaction is coordinated by one Transaction Coordinator • One Data Manager per partition Transaction Coordinator (TC) Data Managers (DM) Async Signals
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Single asynchronous simple read - distributed • Signals are send between blocks inside and between data nodes Transaction Coordinator (TC) Data Manager (DM) Data Node Data Node
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Multiple asynchronous simple reads Transaction Coordinator (TC) Data Managers (DM)
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Single asynchronous table scan Transaction Coordinator (TC) Data Managers (DM) • Scanning multiple partitions in parallel
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | In a bit more detail LQH ACC TUP TUX API TC Scan request Stored procedure request Next scan request prepareTupleKeyRequest Next scan confirmation Tuple key request TransAI
  • 31. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Cluster virtual machine
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Cost of CPU context switches - around 3 - 5us Context switch
  • 33. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Multiple Threads per data node • Each thread handles some blocks • Parallel execution of • … multiple queries from … • … multiple users on … • … multiple MySQL Servers • Communication with signals • Goal: minimize context switching Virtual machine model NIC Main thread Data manager Receive Send Disk/SSD IO
  • 34. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Data is partitioned inside the data nodes • Communication asynchronously, event driven on cluster’s VM • No group communication - instead using • Distributed row locks • Non-blocking 2-phase commit Lock free and multi core VM NIC Main thread Data manager Receive Send Disk/SSD IO
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Concurrent requests in multithreaded Virtual Machine • Out of order execution possible Transaction Coordinator (TC) Data Managers (DM)
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Multithreaded Virtual Machine • Each partition can be managed in its own thread via Data Manager • There can be separate threads for disks, sending and receiving over network as well • Threads can be distributed and locked to CPU cores for real time Data manager threads Data nodes with 
 data partitions
  • 37. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Cross partition joins •Parallel execution across data nodes and within data nodes •Cluster queries distributed data as if it was a single consolidated database • Joins are pushed down to data nodes • Result consolidation in MySQL Server • Parallel joins with MySQL Server query engine
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Massive parallel system executing parallel queries Receive Send Transaction Data Manager Data Node Receive Send Transaction Data Manager Data Node
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Some conclusions • Asynchronous event driven model • Very hard to establish (distributed, out of order execution, …) • Once established it is easy to extend (create new blocks, signals) • Very simple to split, scale and multithread as blocks already communicate asynchronously • Allows to parallelize even single queries over multiple machines and cores • Network is the bottleneck • Virtual machine model helps to avoid CPU overhead • Context switches • Memory