Abstract
Provides a glossary of terms which are unique to the NDB and MGM APIs, or have a specialized meaning when applied therein.
The terms in the following list are useful to an understanding of MySQL Cluster, the NDB API, or have a specialized meaning when used in one of these contexts. See also MySQL Cluster Overview, in the MySQL Manual.
Backup: A complete copy of all cluster data, transactions and logs, saved to disk.
Restore: Returning the cluster to a previous state as stored in a backup.
Checkpoint: Generally
speaking, when data is saved to disk, it is said that a
checkpoint has been reached. When working with the
NDB
storage engine, there are two sorts of
checkpoints which work together in order to ensure that a
consistent view of the cluster's data is maintained:
Local Checkpoint (LCP): This is a checkpoint that is specific to a single node; however, LCPs take place for all nodes in the cluster more or less concurrently. An LCP involves saving all of a node's data to disk, and so usually occurs every few minutes, depending upon the amount of data stored by the node.
More detailed information about LCPs and their behavior can be found in the MySQL Manual, in the sections Defining MySQL Cluster Data Nodes, and Configuring MySQL Cluster Parameters for Local Checkpoints.
Global Checkpoint (GCP): A GCP occurs every few seconds, when transactions for all nodes are synchronized and the REDO log is flushed to disk.
A related term is GCI, which stands for “Global Checkpoint ID”. This marks the point in the REDO log where a GCP took place.
Node: A component of MySQL Cluster. 3 node types are supported:
Management (MGM) node: This is an instance of ndb_mgmd, the cluster management server daemon.
Data node (sometimes also referred to as a “storage nodes”, although this usage is now discouraged): This is an instance of ndbd, and stores cluster data.
API node: This is an application that accesses cluster data. SQL node refers to a mysqld process that is connected to the cluster as an API node.
For more information about these node types, please refer to Section 1.3.3, “Review of MySQL Cluster Concepts”, or to MySQL Cluster Programs, in the MySQL Manual.
Node Failure: MySQL Cluster is not solely dependent upon the functioning of any single node making up the cluster, which can continue to run even when one node fails.
Node Restart: The process of restarting a cluster node which has stopped on its own or been stopped deliberately. This can be done for several different reasons, including the following:
Restarting a node which has shut down on its own (when this has occurred, it is known as forced shutdown or node failure; the other cases dicussed here involve manually shutting down the node and restarting it)
To update the node's configuration
As part of a software or hardware upgrade
In order to defragment the node's
DataMemory
Initial Node Restart: The process of starting a cluster node with its file system removed. This is sometimes used in the course of software upgrades and in other special circumstances.
System Crash (or System Failure): This can occur when so many cluster nodes have failed that the cluster's state can no longer be guaranteed.
System Restart: The process of restarting the cluster and reinitialising its state from disk logs and checkpoints. This is required after either a planned or an unplanned shutdown of the cluster.
Fragment: Contains a portion
of a database table; in other words, in the
NDB
storage engine, a table is broken up
into and stored as a number of subsets, usually referred to as
fragments. A fragment is sometimes also called a
partition.
Replica: Under the
NDB
storage engine, each table fragment has
number of replicas in order to provide redundancy.
Transporter: A protocol providing data transfer across a network. The NDB API supports 4 different types of transporter connections: TCP/IP (local), TCP/IP (remote), SCI, and SHM. TCP/IP is, of course, the familiar network protocol that underlies HTTP, FTP, and so forth, on the Internet. SCI (Scalable Coherent Interface) is a high-speed protocol used in building multiprocessor systems and parallel-processing applications. SHM stands for Unix-style shared memory segments. For an informal introduction to SCI, see this essay at dolphinics.com.
NDB
: This originally stood for
“Network Database”. It now refers to the storage
engine used by MySQL AB to enable its MySQL Cluster
distributed database.
ACC: Access Manager. Handles hash indexes of primary keys providing speedy access to the records.
TUP: Tuple Manager. This handles storage of tuples (records) and contains the filtering engine used to filter out records and attributes when performing reads and/or updates.
TC: Transaction Coordinator. Handles co-ordination of transactions and timeouts; serves as the interface to the NDB API for indexes and scan operations.