1.2 MySQL Cluster API Overview: Terminology

Abstract

This section provides a glossary of terms which are unique to the NDB and MGM APIs, or that have a specialized meaning when applied in the context of either or both of these APIs.

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:

Backup.  A complete copy of all MySQL Cluster data, transactions and logs, saved to disk.

Restore.  Return 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. These two types, local checkpoints and global checkpoints, are described in the next few paragraphs:

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; see in particular Defining MySQL Cluster Data Nodes.

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:

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.  A 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 MySQL Cluster node which has stopped on its own or been stopped deliberately. This can be done for several different reasons, listed here:

Initial node restart.  The process of starting a MySQL Cluster node with its file system having been removed. This is sometimes used in the course of software upgrades and in other special circumstances.

System crash (system failure).  This can occur when so many data nodes have failed that the MySQL Cluster's state can no longer be guaranteed.

System restart.  The process of restarting a MySQL Cluster and reinitializing its state from disk logs and checkpoints. This is required after any shutdown of the cluster, planned or unplanned.

Fragment.  Contains a portion of a database table. 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 www.dolphinics.com.

NDB This originally stood for Network DataBase. It now refers to the MySQL storage engine (named NDB or NDBCLUSTER) used to enable the MySQL Cluster distributed database system.

ACC (Access Manager).  An NDB kernel block that handles hash indexes of primary keys providing speedy access to the records. For more information, see Section 8.4.3, “The DBACC Block”.

TUP (Tuple Manager).  This NDB kernel block handles storage of tuples (records) and contains the filtering engine used to filter out records and attributes when performing reads or updates. See Section 8.4.10, “The DBTUP Block”, for more information.

TC (Transaction Coordinator).  Handles coordination of transactions and timeouts in the NDB kernel (see Section 8.4.9, “The DBTC Block”). Provides interfaces to the NDB API for performing indexes and scan operations.

For more information, see Section 8.4, “NDB Kernel Blocks”, elsewhere in this Guide..

See also MySQL Cluster Overview, in the MySQL Manual.