MySQL NDB Cluster: Features & Benefits
Performance & Scalability | |
Auto-Partitioning (Sharding) | Database is automatically and transparently partitioned across low cost commodity nodes, allowing scale-out of read and write queries, without requiring changes to the application. |
Multi-Master Replication | Each data node can accept write operations. Coupled with auto-sharding, this gives very high write scalability. |
Distributed Cross-Partition JOINs | Cluster executes join and filter conditions directly on the distributed data partitions where they are executed locally and parallel on the data nodes. It gives a consistent transactional view of the entire distriuted dataset. |
Distributed Parallel Query | Queries run on all partitions on all nodes in parallel and are even executed in parallel on each local data node for maximum performance. Point selects and primary key lookups are transparently routed to the correct partition on the correct node. |
Real-Time Responsiveness | Low latency with in-memory tables and indexes, asynchronous checkpointing to disk & binding of threads to CPUs |
Developer APIs and Data Models | |
SQL | The MySQL Server presents a standard SQL interface to the cluster, providing connectivity through all of the standard MySQL connectors for web development languages and frameworks, JDBC, ODBC. NET, etc. |
NoSQL using Memcached | Native Key-Value access, bypassing SQL layer for web services, for schema and schemaless data storage |
NoSQL using JavaScript & node.js | Native JavaScript access, bypassing SQL layer for highly concurrent, social and mobile services |
NoSQL using C++ | Native C++ access, bypassing SQL layer for ultra low-latency |
NoSQL using Java, JPA | Native Java & JPA access, bypassing SQL layer for enterprise, web and telecoms services |
NoSQL using REST | Native HTTP/REST access, bypassing SQL layer using Apache mod_ndb |
Schema & Schemaless Data Model | Fully structured relational data model by default. Using the Memcached API, every Key-Value is written to the same table with each Key-Value pair stored in a single row by default; or can be configured to write to multiple, existing tables instead. |
99.999% Availability & Data Integrity | |
ACID Compliant, Transactional | MySQL Cluster provides full ACID (atomic, consistent, isolated, durable) transaction support. |
Foreign Key Constraints | MySQL Cluster automatically enforces referential integrity between tables. |
Distributed, Shared Nothing Architecture | Each node in the cluster is redundant and can be located on separate hosts to ensure continuous availability in the event of a process, hardware or network failure. |
No Single Point of Failure | Each node has its own disk and memory, so the risk of a failure caused by shared components such as storage, is eliminated. |
Synchronous Replication | Data within each data node is synchronously replicated to at least one other data node. If a data node fails, then there is always at least one other data node storing the same information. |
Automatic Sub-Second Failover | MySQL Cluster’s heartbeating mechanism instantly detects any failures and automatically fails over, typically within one second, to other nodes in the cluster, without interrupting service to clients. |
Self Healing Recovery | Failed nodes are able to self-heal by automatically restarting and resynchronizing with other nodes before re-joining the cluster, with complete application transparency |
Geographic Replication | Replicates a cluster from one data center to another, enabling Disaster Recovery and reducing the affects of network latency. Each cluster can accept write operations with internal conflict handling to ensure consistency between clusters |
Multi-Site Clustering | Data nodes can be split across data centers allowing synchronous replication between sites with automatic failover in the event of a node failure. |
On-Line Operations | |
On-Line Schema Updates | Supports the on-line addition of columns and tables, and the addition or removal of indexes |
On-Line Scaling | Nodes can be added on-demand to a running cluster to scale capacity and performance. For elasticity, application nodes can be added and removed dynamically from the cluster. |
On-Line Maintenance | Support for upgrading or patching the underlying hardware, operating system and MySQL Cluster processes |
On-Line Backup | The backup is a consistent cluster-wide snapshot of the database that can be archived and copied to a secure, remote location. |
Deployment Flexibility | |
Cloud infrastructure | Deploy in Docker and virtualized environments on commodity hardware and cloud infrastructure. |
In-Memory and Disk-Based Tables | Tables can be configured to be managed purely in memory (with full logging and checkpointing to persistent storage for durability) or stored on disk. |
Commodity Hardware | MySQL Cluster is optimized for scaling out across commodity hardware with local storage. No shared-disk is required |
Security & Auditing | |
MySQL Enterprise Authentication* | Provides ready to use external authentication modules for MySQL Servers connected to the cluster, allowing them to easily integrate within existing security infrastructures. |
MySQL Enterprise Firewall* | MySQL Enterprise Firewall guards against cyber security threats by providing real-time protection against database specific attacks, such as an SQL Injection. |
MySQL Enterprise Audit* | Provides an easy to use, policy-based auditing solution that helps organizations implement stronger security controls and satisfy regulatory compliance. |
Management, Monitoring | |
MySQL Cluster Manager* | MySQL Cluster Manager simplifies the creation and management of the MySQL Cluster database by automating common management tasks. |
MySQL Enterprise Monitor* | Provides at-a-glance views of the health of your cluster, alerting you to potential problems before they impact your system |
* Available in MySQL Cluster Carrier Grade Edition only