What is MySQL Cluster?
MySQL Cluster is the distributed database combining linear scalability and high availability. It provides in-memory real-time access with transactional consistency across partitioned and distributed datasets. It is designed for mission critical applications.
MySQL Cluster has replication between clusters across multiple geographical sites built-in. A shared nothing architecture with data locality awareness make it the perfect choice for running on commodity hardware and in globally distributed cloud infrastructure.
MySQL Cluster is proven daily in systems serving billions of users. Its used in mission critical applications at the core of mobile phone networks, authentication systems and gaming platforms with exploding data volumes and user loads. Driven by growing internet penetration across global communities, social networking, high-speed 4G and 5G mobile broadband connecting richer and ever more devices, and new M2M (Machine to Machine) interactions.
MySQL Cluster's real-time design delivers predictable, millisecond response times with the ability to service millions of operations per second. Support for memory optimized and disk-based tables, automatic data partitioning (sharding) with load balancing and the ability to add nodes to a running cluster with zero downtime allows linear database scalability to handle the most unpredictable web, mobile, enterprise and telecoms workloads.
MySQL Cluster is implemented as a strongly consistent, active/active, multi-master database ensuring updates can be made to any node and are instantly available to the rest of the cluster, without any replication lag.
Tables are automatically sharded across a pool of low cost commodity data nodes, enabling the database to scale horizontally, accessed both from SQL and directly via NoSQL APIs. New nodes can be added on-line, instantly scaling database capacity and performance, even for the heaviest write loads.
By automatically partitioning (sharding) tables within the database, MySQL Cluster eliminates the need to shard at the application layer, greatly simplifying development and maintenance. Sharding is entirely transparent to the application which is able to connect to any node in the cluster and have queries automatically access the correct shards needed to satisfy a query or commit a transaction.
Unlike other distributed databases, MySQL Cluster preserves ACID-guarantees, the flexibility of JOIN operations and maintains referential integrity between tables on different nodes, on different shards, even in different data centers. Queries can be processed in parallel, JOIN and filter operations are executed locally on the partitions and data nodes, delivering high throughput and low latency. As a result, users can perform complex queries against their databases, enabling MySQL Cluster to serve those use-cases that have the need to run real-time analytics across live data sets, alongside high throughput OLTP operations.