MySQL Cluster 7.6.2 dmr has been released (part 1/2)
Piotr Obrzut <[email protected]> Mon, 8 May 2017 16:15:44 +0200
| Newsgroups | gmane.comp.db.mysql.announce,gmane.comp.db.mysql.general,gmane.comp.db.mysql.packagers |
|---|---|
| Message-ID | <[email protected]> |
Dear MySQL Users,
[Due to file size limitations, the announcement is split in 2
parts. This is part 1.]
MySQL Cluster is the distributed, shared-nothing variant of MySQL.
This storage engine provides:
- In-Memory storage - Real-time performance (with optional
checkpointing to disk)
- Transparent Auto-Sharding - Read & write scalability
- Active-Active/Multi-Master geographic replication
- 99.999% High Availability with no single point of failure
and on-line maintenance
- NoSQL and SQL APIs (including C++, Java, http, Memcached
and JavaScript/Node.js)
MySQL Cluster 7.6.2 dmr, has been released and can be downloaded from
http://www.mysql.com/downloads/cluster/
where you will also find Quick Start guides to help you get your
first MySQL Cluster database up and running.
MySQL Cluster enables users to meet the database challenges of next
generation web, cloud, and communications services with uncompromising
scalability, uptime and agility.
More details can be found at
http://www.mysql.com/products/cluster/
Enjoy !
Changes in MySQL NDB Cluster 7.6.2 (5.7.18-ndb-7.6.2) (2017-04-19,
Development Milestone 2)
MySQL NDB Cluster 7.6.2 is a new release of NDB 7.6, based on
MySQL Server 5.7 and including features in version 7.6 of the
NDB
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
storage engine, as well as fixing recently discovered bugs in
previous NDB Cluster releases.
Obtaining NDB Cluster 7.6. NDB Cluster 7.6 source code and
binaries can be obtained from
http://dev.mysql.com/downloads/cluster/.
For an overview of changes made in NDB Cluster 7.6, see What
is New in NDB Cluster 7.6
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-what-is-new-7-6.html).
This release also incorporates all bugfixes and changes made
in previous NDB Cluster releases, as well as all bugfixes and
feature changes which were added in mainline MySQL 5.7
through MySQL 5.7.18 (see Changes in MySQL 5.7.18
(2017-04-10, General Availability)
(http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html)).
* Platform-Specific Notes
* Functionality Added or Changed
* Bugs Fixed
Platform-Specific Notes
* Solaris: The minimum required version of Solaris is now
Solaris 11 update 3, due to a dependency on system
runtime libraries.
* Solaris: On Solaris, MySQL is now built with Developer
Studio 12.5 instead of gcc. The binaries require the
Developer Studio C/C++ runtime libraries to be installed.
See here for how to install only the libraries:
https://docs.oracle.com/cd/E60778_01/html/E60743/gozsu.html
Functionality Added or Changed
* Important Change: As part of an ongoing effort to
simplify NDB Cluster configuration, memory for indexes is
now allocated dynamically from DataMemory
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-datamemory);
the IndexMemory
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbd-definition.html#ndbparam-ndbd-indexmemory)
configuration parameter is now deprecated, and is subject
to removal in a future release. Any memory which has been
set for IndexMemory in the config.ini file is now
automatically added to DataMemory. In addition, the
default value for DataMemory has been increased to 98M,
and the default for IndexMemory has been decreased to 0.
In addition to simplifying configuration of NDB
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.htm
l), a further benefit of these changes is that scaling up
by increasing the number of LDM threads is no longer
limited by having set an insufficiently large value for
IndexMemory. Previously, it was sometimes the case that
increasing the number of LDM threads could lead to index
memory exhaustion while large amounts of DataMemory
remained available.
Because instances of the DBACC kernel block (responsible
for hash index storage) now share memory with each one
another as well as with DBLQH (the kernel block that acts
as the local data manager), they can take advantage of
the fact that scaling up does not increase DataMemory
usage greatly, and make use of spare memory for indexes
freely. (For more information about these kernel blocks,
see The DBACC Block
(http://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dbacc.html),
and The DBLQH Block
(http://dev.mysql.com/doc/ndb-internals/en/ndb-internals-kernel-blocks-dblqh.html).)
In other words, index memory is no longer a static quantity
allocated to each DBACC instance only once, on startupof the
cluster, but rather this resource can now be allocated and
deallocated whenever conditions require it.
Related changes which have been made as part of this work
are listed here:
+ Several instances of DataMemory usage not related to
storage of table data now use transaction memory
instead. These include RT_DBTUP_COPY_PAGE,
RT_NDBFS_BUILD_INDEX_PAGE, RT_NDBFS_INIT_FILE_PAGE,
RT_SUMA_EVENT_BUFFER, and RT_SUMA_TRIGGER_BUFFER.
+ Data nodes now generate MemoryUsage events (see NDB
Cluster Log Events
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-log-events.html))
and writes appropriate messages in the cluster log when
resource
usage reaches 99%,in addition to when it reaches 80%, 90%,
or 100% as they did previously.
+ REPORT MEMORYUSAGE
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-mgm-client-commands.html#ndbclient-report)
and other commands which expose memory consumption
now shows index memory consumption using a page size
of 32K rather than 8K.
+ IndexMemory is no longer one of the values displayed
in the ndbinfo.memoryusage
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-memoryusage.html)
table's memory_type column.
+ The ndbinfo.resources
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-resources.html)
table now shows the DISK_OPERATIONS resource as
TRANSACTION_MEMORY. The RESERVED resource has been
removed.
+ IndexMemory is no longer displayed in ndb_config
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html)
output.
* Performance: A number of debugging statements and
printouts in the sources for the DBTC and DBLQH kernel
blocks, as well as in related code, were moved into
debugging code or removed altogether. This is expected to
result in an improvement of up to 10% in the performance
of local data management and transaction coordinator
threads in many common use cases.
* ndbinfo Information Database: Added two tables to the
ndbinfo
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo.html)
information database. The config_nodes
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-config-nodes.html)
table provides information about nodes that are configured
as part of a given NDB Cluster, such as node ID and process type.
The processes
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-processes.html)
shows information about nodes currently connected to the cluster;
this information includes the process name and system process ID,
and service address. For each data node and SQL node, it also
shows the process ID of the node's angel process.
As part of the work done to implement the processes
table, a new Ndb_cluster_connection
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection.html)
method set_service_uri()
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-set-service-uri.html)
is added to the NDB API. For more information, see The
ndbinfo config_nodes Table
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-config-nodes.html),
and The ndbinfo processes Table
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-ndbinfo-processes.html),
as well as Ndb_cluster_connection::set_service_uri()
(http://dev.mysql.com/doc/ndbapi/en/ndb-ndb-cluster-connection-set-service-uri.html).
* Added the --query-all
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html#option_ndb_config_query-all)
option to ndb_config
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html).
This option acts much like the --query
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-config.html#option_ndb_config_query)
option except that --query-all (short form: -a) dumps
configuration information for all attributes at one time.
(Bug #60095, Bug #11766869)
* Previously, when one LDM thread experienced I/O lag, such
as during a disk overload condition, it wrote to a local
checkpoint more slowly---that is, it wrote in I/O lag
mode. However, other LDM threads did not necessarily
observe or conform to this state. To ensure that write
speed for the LCP is reduced by all LDM threads when such
a slowdown is encountered, NDB now tracks I/O lag mode
globally, so that I/O lag state is reported as soon as at
least one thread is writing in I/O lag mode, and thus all
LDM threads are forced to write in lag mode while the lag
condition persists. This reduction in write speed by
other LDM instances should increase overall capacity,
enabling the disk overload condition to be overcome more
quickly in such cases than before.
* Added the ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html)
tool to facilitate the loading of CSV-formatted data, such as
that produced by SELECT INTO OUTFILE
(http://dev.mysql.com/doc/refman/5.7/en/select-into.html)
, into an NDB
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster.html)
table. ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html)
is intended to function much like mysqlimport
(http://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html)
or the LOAD DATA INFILE
(http://dev.mysql.com/doc/refman/5.7/en/load-data.html)
SQL statement, and supports many similar options for
formatting of the data file. A connection to an NDB
management server (ndb_mgmd
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-mgmd.html))
is required; there must be an otherwise unused [api] slot
in the cluster's config.ini file for this purpose. In addition,
the target database and table (created using the NDB storage
engine) must already exist, and the name of the CSV file
(less any file extension) must be the same as that of the
target table. A running SQL node is needed for creating
the target database and table, but is not required for
ndb_import
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html)
to function. For more information, see ndb_import ---
Import CSV Data Into NDB
(http://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-programs-ndb-import.html).
[ To be continued...]