Fonctionnalité ajoutée ou modifiée :
Many queries in MySQL Cluster are executed as range scans or full table scans. All queries that don't use a unique hash index or the primary hash index will use this access method. In a distributed system it is crucial that batching is properly performed.
In previous version the batch size was fixed to 16 per storage node. In this version it is configurable per MySQL Server. So for queries using lots of large scans it is appropriate to set this parameter rather large and for queries using lots of small scans only fetching a small amount of records it is appropriate to set it low.
The performance of queries can easily change as much as 40% based on how this variable is set.
In future versions more logic will be made to assess the
batch size on per query basis. Thus the semantics of this
new configuration variable ScanBatchSize
is likely to change.
The fixed size overhead of the ndbd process was greatly decreased. Also overhead per operation record was greatly decreased and also overhead per table and index was greatly decreased.
A number of new configuration variables was introduced to be able to configure more buffers in the system. Configuration variables to specify the number of tables, unique hash indexes and ordered indexes was introduced as well.
New configuration variables:
MaxNoOfOrderedIndexes
,
MaxNoOfUniqueHashIndexes
Configuration variables no longer used:
MaxNoOfIndexes
(split into the two
above).
In previous versions ALTER TABLE
,
TRUNCATE TABLE
, and LOAD
DATA
were performed as one big transaction. In
this version, all those statements will be automatically
separated into a number of transactions.
This removes the limitation that one could not change very
large tables due to the
MaxNoOfConcurrentOperations
parameter.
The online backup feature of MySQL Cluster now also backs up the indexes such that the restore ensures that both data and indexes are restored.
In previous versions it was not possible to use
NULL
in indexes. This is now possible in
all indexes.
Much work has been put onto making
AUTO_INCREMENT
features work as for other
table handlers. Autoincrements as a partial key is still
only supported by MyISAM
.
In previous version,s mysqld would crash
if the cluster wasn't started and the
--ndbcluster
option was used. Now
mysqld will handle cluster crashes and
not started without crashing.
The -i
option for initial startup has
been removed from ndbd. Initial startup
still can be specified by using the
--initial
option. The reason is to ensure
that it is clearer what takes place when using the
--initial
option. This option completely
removes all data from the disk and should only be used at
initial start, in certain software upgrade cases, and in
some cases when node restarts don't work as a workaround.
The management client (ndb_mgm) now has
more commands and more information is printed in some
commands such as show
.
In previous versions, the files were called
ndb_0..
when it wasn't possible to
allocate a node ID when starting the node. To ensure that
files are not so easily overwritten, these files are now
named ndb_pid..
, where pid is the
process ID assigned by the OS.
The default parameters have changed for
ndb_mgmd and ndbd. Yn
particular, they are now started as daemons by default. The
-n
option was removed since it could
confusion as to whether its meaning is nostart or nodaemon.
In the configuration file, you can now use
[NDBD]
as an alias for
[DB]
, [MYSQLD]
as an
alias for [API]
, and
[NDB_MGMD]
as an alias for
[MGM]
.
Many more checks of the consistency of the configuration have been introduced to provide quicker feedback on configuration errors.
In the connect string, it is now possible to use both
‘;
’ and
‘,
’ as the separator between
entries. So "nodeid=2,host=localhost:2200" is equivalent to
"nodeid=2;host=localhost:2200".
In the configuration, it is possible to use
‘:
’ or
‘=
’ as the assignment symbol.
Thus MaxNoOfOrderedIndexes : 128
and
MaxNoOfOrderedIndexes = 128
are
equivalent.
The configuration variable names are now case insensitive so
MaxNoOfOrderedIndexes: 128
is equivalent
to MAXNOOFORDEREDINDEXES = 128
.
It is possible now to set the backup directory separately
from the FileSystemPath
by using the
BackupDir
config variable.
Log files and trace files can now be put in any directory by
setting the DataDir
configuration
variable.
FileSystemPath
is no longer mandatory and
defaults to DataDir
.
It is now supported to perform queries involving tables from different databases in MySQL.
It is now possible to update the primary key.
The performance of the ordered index has been greatly improved, particularly the maintenance of the index at updates, inserts and deletes.
Bogues corrigés :
Quite a few bugs fixed.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.