16.4.4.9. MySQL Cluster Shared-Memory Connections
MySQL Cluster attempts to use the shared memory transporter
and configure it automatically where possible, chiefly where
more than one node runs concurrently on the same cluster host.
(In very early versions of MySQL Cluster, shared memory
segments functioned only when the server binary was built
using --with-ndb-shm
.)
[SHM]
sections in the
config.ini
file explicitly define
shared-memory connections between nodes in the cluster. When
explicitly defining shared memory as the connection method, it
is necessary to define at least NodeId1
,
NodeId2
and ShmKey
. All
other parameters have default values that should work well in
most cases.
Important: SHM
functionality is considered experimental only. It
is not officially supported in any MySQL release series up to
and including 5.1. This means that you must
determine for yourself or by using our free resources (forums,
mailing lists) whether it can be made to work correctly in
your specific case.
-
NodeId1
, NodeId2
To identify a connection between two nodes it is necessary
to provide node identifiers for each of them, as
NodeId1
and NodeId2
.
-
ShmKey
When setting up shared memory segments, a node ID,
expressed as an integer, is used to identify uniquely the
shared memory segment to use for the communication. There
is no default value.
-
ShmSize
Each SHM connection has a shared memory segment where
messages between nodes are placed by the sender and read
by the reader. The size of this segment is defined by
ShmSize
. The default value is 1MB.
-
SendSignalId
To retrace the path of a distributed message, it is
necessary to provide each message with a unique
identifier. Setting this parameter to Y
causes these message IDs to be transported over the
network as well. This feature is disabled by default.
-
Checksum
This parameter is a boolean
(Y
/N
) parameter
which is disabled by default. When it is enabled,
checksums for all messages are calculated before being
placed in the send buffer.
This feature prevents messages from being corrupted while
waiting in the send buffer. It also serves as a check
against data being corrupted during transport.