The world's most popular open source database
USA - Toll Free: +1-866-221-0634
USA - From abroad: +1-208-327-6494
USA - Subscription Renewals: +1-866-221-0634
Latin America: +1 512 535 7751
UK: +44 845 399 1124
Ireland: +353 1 6919191
Germany: +49 89 420 95 98 95
France: +33 1 70 61 48 95
Sweden: +46 730 207 871
Benelux: +31 6 25003558
Italy: +39 06-99268193
Israel: +31 6 25003558
Spain & Portugal: + 34 933905461
Other EMEA countries: +353 1 6919191
Australia/NZ: +61 2 42314328
Asia Pacific: +81 3 5843 1140
The MySQL Cluster database is available from the community download pages,under the GPL license. Commercial versions are available in the following editions:
MySQL Cluster Feature | SE | CGE |
ACID Compliant, Transactional Database | X | X |
In-Memory Index and Data | X | X |
Disk-Based Data | X | X |
Distributed, Shared Nothing Architecture | X | X |
Synchronous Data Replication | X | X |
Automatic Sub-Second Failover & Self-Healing | X | X |
Variable Sized Records | X | X |
User-Defined Partitioning | X | X |
On-Line Schema Updates and Systems Maintenance | X | X |
Scale Up and Scale Out on COTS Systems | X | X |
On-Line Back-Up | X | X |
SQL | X | X |
NDB API (C / C++) | X | |
On-Line Add Node | X | |
Data Store for LDAP Directories | X | |
Geographic Replication | Option | |
Custom Feature Development | Option |
Options are available at additonal cost. Please contact the MySQL Sales Team
Licensed users of MySQL Cluster have a variety of options for commercial support contracts. Click here to learn more about Development and Production support offerings.
Learn more about the New Features of MySQL Cluster 7 »
On-Demand Webinar: Architecture and New Features of MySQL Cluster 7.0 »
MySQL Cluster provides full ACID (atomic, consistent, isolated, durable) transaction support.
To ensure real-time performance, MySQL Cluster stores indexes in memory. Data can also be held and managed in memory when it needs to be accessed for the highest performance, lowest latency applications
Data that must be highly available, but does not demand the real time performance characteristics of In-Memory data can be stored on disk. This enables MySQL Cluster to to be used for a broad set of applications, giving users the ability to create even larger database clusters and manage them effectively.
The architecture of MySQL Cluster is designed to deliver 99.999% availability. This translates into less than 5 minutes downtime per year, including regularly scheduled maintenance operations. MySQL Cluster comprises multiple nodes which can be distributed across hosts to ensure continuous availability in the event of a data node, hardware or network failure. By storing and distributing data in a shared-nothing architecture, (i.e. without the use of a shared-disk) if a Data Node does fail, there will always at least one additional Data Node storing the same information. This allows for requests and transactions to continue to be satisfied without interruption, and data to remain consistent across nodes.
Since all data in the database is automatically replicated on multiple data nodes within the same node group, data is synchronously replicated during transactions, i.e. the effect of each transaction is propagated to all the appropriate data nodes during the transaction. When the transaction is ready to be committed, a request is sent to all data nodes involved in the transaction. When all nodes indicate that they are ready, the transaction is committed and the application is informed of the transaction's success. To ensure that the database is always consistent, if a data node fails during a transaction, it is aborted and the application is informed so that it can roll-back and restart the transaction.
As all data is already replicated across multiple cluster nodes using Synchronous Replication, and with instant detection of any failures, the fail-over time to another node is achieved in less than a second The shared-nothing architecture of MySQL Cluster ensures that there is no added complexity from shared storage and associated lock managers to slow down the failover process.
MySQL Cluster database nodes are able to automatically restart, recover, and dynamically reconfigure themselves in the event of a failure. The MySQL Cluster fail-over and self-healing features are completely transparent to all applications and clients.
Variable-sized records are dealt with by MySQL Cluster in a highly efficient manner by ensuring that only the data that is actually resident within the row consumes memory. As a result, there is no wasted memory, more rows per gigabyte can be stored and larger datasets can be leveraged for in-memory data.
MySQL Cluster offers automatic data partitioning as standard. To further boost linear scalability, MySQL Cluster also allows developers and DBAs to refine access through user-defined partitioning, thus allowing data to be efficiently accessed on a single node, without the need for inter-cluster communication to perform a transaction or a look-up.
To support continuous operation, MySQL Cluster allows on-line updates to live database schema and upgrades to the underlying hardware & software infrastructure of the cluster.
MySQL Cluster supports online schema upgrades, such as adding and removing tables or indexes, as well as changing table schemas, (e.g. adding columns). In MySQL Cluster, adding and removing tables and indexes are performed as normal operations on the cluster, and do not require any rolling upgrade of the cluster.
Using a rolling upgrade, individual components are allowed to shutdown, assume the upgrade, and restart, while redundant (replica) parts continue processing client requests. Thereby database sessions can be maintained and upgrades do not cause downtime.
MySQL Cluster runs on all leading commodity hardware and OS platforms, freeing users from proprietary platforms and vendor lock-in to enhance choice and reduce costs. Users can start on commodity Cluster hosts, adding nodes incrementally as their workload or database size grows, all the while keeping acquisition costs ultra-low.
Using MySQL Cluster's Multi-Threaded Data Nodes, users can scale on hosts equipped with more CPU sockets, cores or threads, delivering higher performance with less hardware resource. As a result, users can reduce hardware sprawl resulting in lower TCO through reduced systems administration, space and energy consumption of the cluster.
MySQL Cluster CGE allows a backup to be made on a running cluster. The backup is consistent cluster-wide snapshot of the database that can be archived and copied to a secure, remote location. Backups can later be applied, if necessary, to a database to restore the contents of the database.
MySQL Server nodes enable SQL access to the clustered Data Nodes. This provides developers a standard SQL interface to program against. MySQL Server in turn, handles sending requests to the Data Nodes, thus eliminating the need for cluster specific, low-level programming within the application.
Applications that need the maximum real-time performance from the MySQL Cluster database should use the native NDB API directly. This C++ API is described in detail in the MySQL Cluster API Developer Guide; available at: http://dev.mysql.com/doc/#cluster
There are also Java and HTTP interfaces to the NDB API for applications to use, thereby providing ultimate developer independence and allowing easy integration of MySQL Cluster with a broad range of web and enterprise applications.
MySQL CGE has the ability to add nodes on-line to a running cluster. This is achieved by re-partitioning data as new node groups are added, ensuring the cluster maintains continuous operation and application connectivity.
Using On-Line Add Node, users can dynamically scale capacity and performance by adding more nodes to a live cluster, allowing mission critical applications to scale effortlessly with zero downtime.
MySQL Cluster has been widely deployed for subscriber databases within Communications Service Provider networks. Extending this capability, MySQL Cluster CGE 7.0 and above can serve as the back-end data store for LDAP directory servers, allowing users to preserve and enhance their existing investments in LDAP technology. It allows operators to embark on initiatives that fully exploit user and network data that is currently distributed across legacy applications and networks.
In order to deploy a range of next generation, highly personalized services delivered over communications networks, operators need to expose subscriber and network data in a standardized way. Subscriber profiles are becoming richer as they capture network preference and media objects alongside traditional customer contact and service entitlement data. At the same time security and auditing requirements force data to be more transactional in nature. Using industry standard LDAP directories with MySQL Cluster serving as the directory data store, operators can leverage standard LDAP interfaces for authentication and authorization of devices and subscribers with real-time performance, carrier-grade availability and a total solution that reduces cost, risk and complexity for large, transaction-intensive directory data sets.
Popular LDAP Directories, including Sun OpenDS and OpenLDAP, provide drivers for MySQL Cluster.
The ability to withstand site failures by replicating clusters across multiple remote locations is an important capability for many deployments. Geographic Replication is available as an option with MySQL Cluster Carrier Grade Edition, and ideally suited to those organizations with multiple data centers. Some popular reasons for implementing geographic replication include:
Commercial customers of MySQL Cluster CGE, can sponsor NRE (Non-Recurring Engineering) projects for implementation by MySQL Engineers and Professional Services. These involve the research, development, design, and testing of potential new database enhancements that presents the customer unique capabilities to solve specific business or technical challenges, or create new value-added solutions with MySQL Cluster.