USA/Canada - Toll Free: +1-866-221-0634
USA - From abroad: +1-208-338-8100
USA/Canada - Subscription Renewals: +1-866-221-0634
Latin America: +1 512 535 7751
Brazil: +55 11 5187 6193
South Africa: +27 113194408
UK: +44 207 553 8447
Ireland: +353 1 8031050
Germany: +49 89 143 01280
France: +33 1 57 60 83 57
Benelux: +31 30 662 7960
Italy: +39 02 249 59 120
Israel: +353 1 8031123
Spain & Portugal: +34 916312182
Sweden: +46 84773853
Other EMEA countries: +353 1 8031050
Asia Pacific: Toll Free
The MySQL Cluster database is available from the community download pages under the GPL license, and as the commercially licensed MySQL Cluster Carrier Grade Edition (CGE)
| Community | CGE | |
|---|---|---|
| Database Functionality | ||
| MySQL Cluster Database (Application, Data & Management Nodes) | • | • |
| ACID Compliant & Transactional | • | • |
| In-Memory Index & Data | • | • |
| Disk-Based Data | • | • |
| Distributed, Shared Nothing Architecture | • | • |
| Synchronous Data Replication | • | • |
| Geographic (asynchronous) Replication Between Remote Clusters | • | • |
| Automatic Sub-Second Failover & Self-Healing | • | • |
| On-Line Schema Updates and Systems Maintenance | • | • |
| Multi-Threaded Data Nodes: Scale Up and Scale Out on Commodity Systems | • | • |
| On-Line Add Node | • | • |
| On-Line Back-Up of Data Nodes | • | • |
| SQL Interface | • | • |
| NDB API (C++) | • | • |
| MySQL Cluster Connector for Java | • | • |
| Data Store for LDAP Directories | • | • |
| Variable Sized Records | • | • |
| User-Defined Partitioning | • | • |
| InnoDB & MyISAM Storage Engines | • | • |
| Database Monitoring, Management & Administration | ||
| NDBINFO Real Time Cluster Monitoring | • | • |
| MySQL Cluster Manager | • | |
| MySQL Enterprise Monitor | • | |
| MySQL Enterprise Back-Up for InnoDB & MyISAM Tables | • | |
MySQL Cluster is the industry's leading real-time, write-scalable transactional database, combining 99.999% availability with the low TCO of open source. With a distributed shared-nothing architecture and no single point of failure, MySQL Cluster can scale linearly to meet the unprecedented demands of next generation web and telecommunications services.
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.
The ability to withstand site failures by replicating clusters across multiple remote locations is an important capability for many deployments. Geographic Replication is ideally suited to those organizations with multiple data centers. Some popular reasons for implementing geographic replication include:
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.
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 without downtime.
MySQL Cluster supports online schema upgrades, such as adding and removing tables or indexes, as well as changing table schemas, (e.g. adding columns).
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 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 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 can 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, JPA, LDAP 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 telecoms applications.
Designed for Java developers, the new MySQL Cluster Connector for Java implements a high performance and easy-to-use native Java interface and OpenJPA plug-in that directly maps Java objects to relational tables stored in the MySQL Cluster database.
By eliminating data transformations into SQL, users get lower data access latency and higher throughput. In addition, Java developers have a more natural programming method to directly manage their data, with a complete, feature-rich solution for Object/Relational Mapping. As a result, the development of Java applications is simplified with faster development cycles resulting in accelerated time to market for new services.
Learn more by accessing the following resources:
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.
NDBINFO presents real-time status and usage statistics from the MySQL Cluster Data Nodes as SQL tables and views, providing developers and administrators a simple and consistent means of pro-actively monitoring and optimizing database performance and availability.
NDBINFO makes it simple to:
Rather than manually trawl through logs to root-cause errors or optimize configurations, NDBINFO enables administrators to quickly and easily monitor MySQL Cluster operations in real-time, and to pro-actively tune configuration parameters and application access to ensure seamless database operations.
MySQL Cluster Manager simplifies the creation and management of MySQL Cluster Carrier Grade Edition (CGE) by automating common management tasks. As a result, Database Administrators (DBAs) and Systems Administrator are more productive, enabling them to focus on strategic IT initiatives that support the business and respond more quickly to changing user requirements. At the same time risks of database downtime, which previously resulted from manual configuration errors, are significantly reduced.
MySQL Cluster Manager is commercially licensed and available with MySQL Cluster Carrier Grade Edition only.
MySQL Enterprise Monitor can monitor the status of the MySQL Server Application nodes and provides performance metrics. It also provides the benefits of the query analyzer – which can show those queries that are consuming excessive time and resource.
With the release MySQL Enterprise Monitor 2.3, advisors and graphs are available to monitor MySQL Cluster data nodes, and integrate alerts with SNMP-based management processes.
Can be used for backing up MyISAM and InnoDB managed by MySQL Server Application nodes only.
