Table of Contents [+/-]
MySQL NDB Cluster is a
high-availability, high-redundancy version of MySQL adapted for the
distributed computing environment. Recent releases of NDB Cluster
use version 7 of the
engine (also known as
NDB) to enable
running several computers with MySQL servers and other software in a
cluster. NDB Cluster 7.5, now available as a General Availability
(GA) release beginning with version 7.5.4, incorporates version 7.5
NDB storage engine. NDB Cluster 7.6,
currently under development and available for evaluation and testing
as a Developer Preview release, uses version 7.6 of
NDB. Previous GA releases still available for
production, NDB Cluster 7.3 and NDB Cluster 7.4, incorporate
NDB versions 7.3 and 7.4, respectively.
Support for the
engine is not included in standard MySQL Server 5.5 binaries built
by Oracle. Instead, users of NDB Cluster binaries from Oracle should
upgrade to the most recent binary release of NDB Cluster for
supported platforms—these include RPMs that should work with
most Linux distributions. NDB Cluster users who build from source
should use the sources provided for NDB Cluster. (Locations where
the sources can be obtained are listed later in this section.)
This chapter contains information about NDB Cluster 7.2 releases through 5.5.60-ndb-7.2.34. Currently, NDB Cluster 7.5 is available as a General Availability release, and recommended for new deployments. The NDB Cluster 7.4 and NDB Cluster 7.3 release series are previous GA releases still supported in production. NDB Cluster 7.2 is a previous GA release series which is still supported, although we recommend that new deployments for production use NDB Cluster 7.5 (see MySQL NDB Cluster 7.5 and NDB Cluster 7.6). For more information about NDB Cluster 7.4 and NDB Cluster 7.3, see MySQL NDB Cluster 7.3 and NDB Cluster 7.4. NDB Cluster 7.6, currently under development, is now available for evaluation and testing as a Developer Preview release; for information about NDB Cluster 7.6, see What is New in NDB Cluster 7.6.
Release notes for the changes in each release of NDB Cluster are located at NDB Cluster 7.2 Release Notes.
Supported Platforms. NDB Cluster is currently available and supported on a number of platforms. For exact levels of support available for on specific combinations of operating system versions, operating system distributions, and hardware platforms, please refer to http://www.mysql.com/support/supportedplatforms/cluster.html.
Availability. NDB Cluster binary and source packages are available for supported platforms from http://dev.mysql.com/downloads/cluster/.
NDB Cluster release numbers.
NDB Cluster follows a somewhat different release pattern from the
mainline MySQL Server 5.5 series of releases. In this
Manual and other MySQL documentation, we
identify these and later NDB Cluster releases employing a version
number that begins with “NDB”. This version number is
that of the
NDBCLUSTER storage engine
used in the release, and not of the MySQL server version on which
the NDB Cluster release is based.
Version strings used in NDB Cluster software. The version string displayed by NDB Cluster programs uses this format:
mysql_server_version represents the
version of the MySQL Server on which the NDB Cluster release is
based. For all NDB Cluster 6.x and 7.x releases, this is
the version of the
NDB storage engine
used by this release of the NDB Cluster software. You can see this
format used in the mysql client, as shown here:
shell> mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.60-ndb-7.2.34 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> SELECT VERSION()\G *************************** 1. row *************************** VERSION(): 5.5.60-ndb-7.2.34 1 row in set (0.00 sec)
This version string is also displayed in the output of the
SHOW command in the ndb_mgm
ndb_mgm> SHOW Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=1 @10.0.10.6 (5.5.60-ndb-7.2.34, Nodegroup: 0, *) id=2 @10.0.10.8 (5.5.60-ndb-7.2.34, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=3 @10.0.10.2 (5.5.60-ndb-7.2.34) [mysqld(API)] 2 node(s) id=4 @10.0.10.10 (5.5.60-ndb-7.2.34) id=5 (not connected, accepting connect from any host)
The version string identifies the mainline MySQL version from which
the NDB Cluster release was branched and the version of the
NDBCLUSTER storage engine used. For
example, the full version string for NDB 7.2.4 (the first NDB
Cluster production release based on MySQL Server 5.5) is
mysql-5.5.19-ndb-7.2.4. From this we can
determine the following:
Since the portion of the version string preceding
-ndb-is the base MySQL Server version, this means that NDB 7.2.4 derives from the MySQL 5.5.19, and contains all feature enhancements and bugfixes from MySQL 5.5 up to and including MySQL 5.5.19.
New NDB Cluster releases are numbered according to updates in the
NDB storage engine, and do not necessarily
correspond in a one-to-one fashion with mainline MySQL Server
releases. For example, NDB 7.2.4 (as previously noted) is based on
MySQL 5.5.19, while NDB 7.2.0 was based on MySQL 5.1.51 (version
Compatibility with standard MySQL 5.5 releases.
While many standard MySQL schemas and applications can work using
NDB Cluster, it is also true that unmodified applications and
database schemas may be slightly incompatible or have suboptimal
performance when run using NDB Cluster (see
Section 18.1.6, “Known Limitations of NDB Cluster”). Most of these issues
can be overcome, but this also means that you are very unlikely to
be able to switch an existing application datastore—that
currently uses, for example,
InnoDB—to use the
NDB storage engine without allowing
for the possibility of changes in schemas, queries, and
applications. In addition, the MySQL Server and NDB Cluster
codebases diverge considerably, so that the standard
mysqld cannot function as a drop-in replacement
for the version of mysqld supplied with NDB
NDB Cluster development source trees. NDB Cluster development trees can also be accessed from https://github.com/mysql/mysql-server.
The NDB Cluster development sources maintained at https://github.com/mysql/mysql-server are licensed under the GPL. For information about obtaining MySQL sources using Git and building them yourself, see Section 2.9.3, “Installing MySQL Using a Development Source Tree”.
As with MySQL Server 5.5, NDB Cluster 7.2 is built using CMake.
Currently, NDB Cluster 7.3 and NDB Cluster 7.4 releases are Generally Available (GA). We recommend that new deployments use NDB Cluster 7.4. NDB Cluster 7.1 and earlier versions are no longer in active development. For an overview of major features added in NDB Cluster 7.4, see What is New in NDB Cluster 7.4. For similar information about NDB Cluster 7.3, see What is New in NDB Cluster 7.3. For an overview of major features added in past NDB Cluster releases, see the MySQL 5.1 Reference Manual. NDB Cluster 7.5 is also available as a Developer Preview for testing of new features; for more information, see MySQL NDB Cluster 7.5 and NDB Cluster 7.6.
This chapter represents a work in progress, and its contents are subject to revision as NDB Cluster continues to evolve. Additional information regarding NDB Cluster can be found on the MySQL website at http://www.mysql.com/products/cluster/.
Additional Resources. More information about NDB Cluster can be found in the following places:
For answers to some commonly asked questions about NDB Cluster, see Section A.10, “MySQL FAQ: MySQL 5.5 and NDB Cluster”.
The NDB Cluster mailing list: http://lists.mysql.com/cluster.
The NDB Cluster Forum: http://forums.mysql.com/list.php?25.
Many NDB Cluster users and developers blog about their experiences with NDB Cluster, and make feeds of these available through PlanetMySQL.