The world's most popular open source database
In this section, we list limits found in MySQL Cluster that either differ from limits found in, or that are not found in, standard MySQL.
Memory usage and recovery.
Memory comsumed when data is inserted into an
NDB table is not automatically
recovered when deleted, as it is with other storage
engines. Instead, the following rules hold true:
A DELETE statement on
an NDB table makes the memory
formerly used by the deleted rows available for
re-use by inserts on the same table only. This
memory cannot be used by other
NDB tables.
A DROP TABLE or
TRUNCATE operation on
an NDB table frees the memory
that was used by this table for re-use by any
NDB table, either by the same
table or by another NDB table.
Recall that
TRUNCATE drops and
re-creates the table. See
Section 12.2.10, “TRUNCATE Syntax”.
Memory freed by
DELETE operations but
still allocated to a specific table can also be made
available for general re-use by performing a rolling
restart of the cluster. See
Section 17.5.1, “Performing a Rolling Restart of the Cluster”.
Limits imposed by the cluster's configuration. A number of hard limits exist which are configurable, but available main memory in the cluster sets limits. See the complete list of configuration parameters in Section 17.3.4, “Configuration File”. Most configuration parameters can be upgraded online. These hard limits include:
Database memory size and index memory size
(DataMemory and
IndexMemory,
respectively).
DataMemory is allocated
as 32KB pages. As each
DataMemory page is used,
it is assigned to a specific table; once
allocated, this memory cannot be freed
except by dropping the table.
See
Section 17.3.4.5, “Defining Data Nodes”,
for further information about
DataMemory and
IndexMemory.
The maximum number of operations that can be
performed per transaction is set using the
configuration parameters
MaxNoOfConcurrentOperations
and
MaxNoOfLocalOperations.
Bulk loading,
TRUNCATE
TABLE, and
ALTER TABLE
are handled as special cases by running
multiple transactions, and so are not
subject to this limitation.
Different limits related to tables and
indexes. For example, the maximum number of
ordered indexes per table is determined by
MaxNoOfOrderedIndexes.
Memory usage.
All Cluster table rows are of fixed length. This
means (for example) that if a table has one or
more VARCHAR fields
containing only relatively small values, more
memory and disk space is required when using the
NDB storage engine than would
be the case for the same table and data using the
MyISAM engine. (In other words,
in the case of a
VARCHAR column, the
column requires the same amount of storage as a
CHAR column of the
same size.)
Node and data object maximums. The following limits apply to numbers of cluster nodes and metadata objects:
The maximum number of data nodes is 48.
A data node must have a node ID in the range of 1‐49, inclusive. (Management and API nodes may use any integer in the range of 1‐63 inclusive as a node ID.)
The total maximum number of nodes in a MySQL Cluster is 63. This number includes all SQL nodes (MySQL Servers), API nodes (applications accessing the cluster other than MySQL servers), data nodes, and management servers.
The maximum number of metadata objects in MySQL 5.0 Cluster is 20320. This limit is hard-coded.


User Comments
Add your own comment.