Glossary¶
- Cluster Replication
- Normal replication path for cluster members. Can be encrypted (not by default) and unicast or multicast (unicast by default). Runs on tcp port 4567 by default.
- Donor Node
- The node elected to provide a state transfer (SST or IST).
- Galera Arbitrator
An external process that functions as an additional node in certain cluster operations, such as Quorum calculations and generating consistent application state snapshots.
For example, consider a situation where your cluster becomes partitioned due to a loss of network connectivity that results in two components of equal size. Each component initiates quorum calculations to determine which should remain the Primary Component and which should become a non-operational component. If the components are of equal size, it risks a split-brain condition. Galera Arbitrator provides an addition vote in the quorum calculation, so that one component registers as larger than the other. The larger component then remains the Primary Component.
Unlike the main
mysqld
process,garbd
doesn’t generate replication events of its own and doesn’t store replication data. It does, however, acknowledge all replication events. Furthermore, you can route replication through Galera Arbitrator, such as when generating a consistent application state snapshot for backups.For more information, see Galera Arbitrator and Backing Up Cluster Data.
- Galera Replication Plugin
Galera Replication Plugin is a general purpose replication plugin for any transactional system. It can be used to create a synchronous multi-primary replication solution to achieve high availability and scale-out.
See Galera Replication Plugin for more details.
- GCache
- See Write-set Cache.
- Global Transaction ID
To keep the state identical on all nodes, the wsrep API uses global transaction IDs (GTID), which are used to identify the state change and to identify the state itself by the ID of the last state change
The GTID consists of a state UUID, which uniquely identifies the state and the sequence of changes it undergoes, and an ordinal sequence number (seqno, a 64-bit signed integer) to denote the position of the change in the sequence.
For more information on Global Transaction ID’s, see wsrep API.
- Incremental State Transfer
In an Incremental State Transfer (IST) a node only receives the missing write-sets and catches up with the group by replaying them. See also the definition for State Snapshot Transfer (SST).
For more information on IST’s, see Incremental State Transfer (IST).
- IST
- See Incremental State Transfer.
- Joiner Node
- The node joining the cluster, usually a state transfer target.
- Logical State Transfer Method
This is a type of back-end state transfer method that operates through the database server (e.g.,
mysqldump
).For more information, see Logical State Snapshot.
- NBO
- See Non-Blocking Operations.
- Node
- A cluster node – a single mysql instance that is in the cluster.
- Non-Blocking Operations
With the NBO method, DDL statements are processed similarly as with the TOI method, except that the NBO method uses a more efficient locking strategy. Compared with TOI, NBO offers significant flexibility in DDL statement processing.
For more information, see Non-Blocking Operations.
- PF
- PF is packet filter used for firewall software, that has been ported to several operating systems. It can be configured for firewall protection of a Galera Cluster.
- Physical State Transfer Method
This is another type of back-end state transfer method, but it operates on the physical media in the datadir (e.g.,
rsync
andxtrabackup
).For more information, see Physical State Snapshot.
- Primary Cluster
- A cluster with quorum. A non-primary cluster will not allow any operations and will give
Unknown command
errors on any clients attempting to read or write from the database. - Primary Component
In addition to single-node failures, the cluster may be split into several components due to network failure. In such a situation, only one of the components can continue to modify the database state to avoid history divergence. This component is called the Primary Component (PC).
For more information on the Primary Component, see Quorum Components.
- Quorum
- A majority (> 50%) of nodes. In the event of a network partition, only the cluster partition that retains a quorum (if any) will remain Primary by default.
- Rolling Schema Upgrade
The rolling schema upgrade is a DDL processing method in which the DDL will only be processed locally on the node. The node is desynchronized from the cluster for the duration of the DDL processing in a way that it doesn’t block the other nodes. When the DDL processing is complete, the node applies the delayed replication events and synchronizes with the cluster.
For more information, see Rolling Schema Upgrade.
- RSU
- See Rolling Schema Upgrade.
- seqno
- See Sequence Number.
- Sequence Number
- This is a 64-bit signed integer that the node uses to denote the position of a given transaction in the sequence. The seqno is second component to the Global Transaction ID.
- Split Brain
- Split brain occurs when two parts of a computer cluster are disconnected, each part believing that the other is no longer running. This problem can lead to data inconsistency.
- SST
- See State Snapshot Transfer.
- State Snapshot Transfer
State Snapshot Transfer refers to a full data copy from one cluster node (i.e., a donor) to the joining node (i.e., a joiner). See also the definition for Incremental State Transfer (IST).
For more information, see State Snapshot Transfer (SST).
- State UUID
- Unique identifier for the state of a node and the sequence of changes it undergoes. It’s the first component of the Global Transaction ID.
- Streaming Replication
This provides an alternative replication method for handling large or long-running write transactions. It’s a new feature in version 4.0 of Galera Cluster. In older versions, the feature is unsupported.
Under normal operation, the node performs all replication and certification operations when the transaction commits. With large transactions this can result in conflicts if smaller transactions are committed first. With Streaming Replication, the node breaks the transaction into fragments, then certifies and replicates them to all nodes while the transaction is still in progress. Once certified, a fragment can no longer be aborted by a conflicting transaction.
For more information see Streaming Replication and Using Streaming Replication.
- TOI
- See Total Order Isolation.
- Total Order Isolation
By default, DDL statements are processed by using the Total Order Isolation (TOI) method. In TOI, the query is replicated to the nodes in a statement form before executing on the primary. The query waits for all preceding transactions to commit and then gets executed in isolation on all nodes, simultaneously.
For more information, see Total Order Isolation.
- write-set
- Transaction commits the node sends to and receives from the cluster.
- Write-set Cache
Galera stores write-sets in a special cache called, Write-set Cache (GCache). GCache is a memory allocator for write-sets. Its primary purpose is to minimize the write set footprint on the RAM.
For more information, see Write-Set Cache (GCache).
- wsrep API
The wsrep API is a generic replication plugin interface for databases. The API defines a set of application callbacks and replication plugin calls.
For more information, see wsrep API.