MySQL NDB Cluster 7.2 Release Notes
MySQL NDB Cluster 7.2.0 is a development preview release of NDB
Cluster, incorporating several new features in the
NDB
storage engine for testing and
user feedback.
Obtaining MySQL NDB Cluster 7.2. MySQL NDB Cluster 7.2.0 source code and binaries can be obtained from https://dev.mysql.com/downloads/cluster/.
This release also incorporates all bug fixes and changes made in previous NDB Cluster releases, as well as all bug fixes and feature changes which were added in mainline MySQL 5.1 through MySQL 5.1.51.
Important Change:
The default values for a number of MySQL NDB Cluster data node
configuration parameters have changed, to provide more
resiliency to environmental issues and better handling of some
potential failure scenarios, and to perform more reliably with
increases in memory and other resource requirements brought
about by recent improvements in join handling by
NDB
. The affected parameters are
listed here:
HeartbeatIntervalDbDb
:
Default increased from 1500 ms to 5000 ms.
ArbitrationTimeout
:
Default increased from 3000 ms to 7500 ms.
TimeBetweenEpochsTimeout
:
Now effectively disabled by default (default changed from
4000 ms to 0).
SharedGlobalMemory
:
Default increased from 20MB to 128MB.
MaxParallelScansPerFragment
:
Default increased from 32 to 256.
In addition, when
MaxNoOfLocalScans
is not
specified, the value computed for it automatically has been
increased by a factor of 4 (that is, to 4 times
MaxNoOfConcurrentScans
,
times the number of data nodes in the cluster).
Important Change:
MySQL user privileges can now be distributed automatically
across all MySQL servers (SQL nodes) connected to the same MySQL
NDB Cluster. Previously, each MySQL Server's user privilege
tables were required to use the
MyISAM
storage engine, which meant
that a user account and its associated privileges created on one
SQL node were not available on any other SQL node without manual
intervention. MySQL NDB Cluster now provides an SQL script file
ndb_dist_priv.sql
that can be found in
share/mysql
under the MySQL installation
directory; loading this script creates a stored procedure
mysql_cluster_move_privileges
that can be
used following initial installation to convert the privilege
tables to the NDB
storage engine,
so that any time a MySQL user account is created, dropped, or
has its privileges updated on any SQL node, the changes take
effect immediately on all other MySQL servers attached to the
cluster. Note that you may need to execute
FLUSH PRIVILEGES
on any SQL nodes
with connected MySQL clients (or to disconnect and then
reconnect the clients) in order for those clients to be able to
see the changes in privileges.
Once mysql_cluster_move_privileges
has been
executed successfully, all MySQL user privileges are distributed
across all connected MySQL Servers. MySQL Servers that join the
cluster after this automatically participate in the privilege
distribution.
ndb_dist_priv.sql
also provides stored
routines that can be used to verify that the privilege tables
have been distributed successfully, and to perform other tasks.
For more information, see Distributed Privileges Using Shared Grant Tables.
Performance:
Added support for pushing down joins to the NDB kernel for
parallel execution across the data nodes, which can speed up
execution of joins across NDB
tables by a factor of 20 or more in some cases. Some
restrictions apply on the types of joins that can be optimized
in this way; in particular, columns to be joined must use
exactly the same data type, and cannot be any of the
BLOB
or
TEXT
types. In addition, columns
to be joined must be part of a table index or primary key.
Support for this feature can be enabled or disabled using the
ndb_join_pushdown
server system
variable (enabled by default); see the description of this
variable for more information and examples.
As part of this improvement, the status variables
Ndb_pushed_queries_defined
,
Ndb_pushed_queries_dropped
,
Ndb_pushed_queries_executed
,
and Ndb_pushed_reads
also been
introduced for monitoring purposes. You can also see whether a
given join is pushed down using
EXPLAIN
. In addition, several new
counters relating to push-down join performance have been added
to the counters
table in the
ndbinfo
database. For more
information, see the descriptions of the status variables
previously mentioned.