content_image/858908.jpg
Such tables are directly accessible from all other MySQL servers (SQL nodes) in the cluster. Thus, in a payroll application storing data in a cluster, if one application updates the salary of an employee, all other MySQL servers that query this data can see this change immediately. 

Although an NDB Cluster SQL node uses the mysqld  server daemon, it differs in a number of critical respects from the mysqld  binary supplied with the MySQL 8.0 distributions, and the two versions of mysqld  are not interchangeable. 

In addition, a MySQL server that is not connected to an NDB Cluster cannot use the NDB  storage engine and cannot access any NDB Cluster data. 

The data stored in the data nodes for NDB Cluster can be mirrored; the cluster can handle failures of individual data nodes with no other impact than that a small number of transactions are aborted due to losing the transaction state. Because transactional applications are expected to handle transaction failure, this should not be a source of problems. 

Individual nodes can be stopped and restarted, and can then rejoin the system (cluster). Rolling restarts (in which all nodes are restarted in turn) are used in making configuration changes and software upgrades (see Section 23.5.5, “Performing a Rolling Restart of an NDB Cluster” ). Rolling restarts are also used as part of the process of adding new data nodes online (see Section 23.5.7, “Adding NDB Cluster Data Nodes Online” ). For more information about data nodes, how they are organized in an NDB Cluster, and how they handle and store NDB Cluster data, see Section 23.1.2, “NDB Cluster Nodes, Node Groups, Fragment Replicas, and Partitions” . 

Backing up and restoring NDB Cluster databases can be done using the NDB -native functionality found in the NDB Cluster management client and the ndb_restore  program included in the NDB Cluster distribution. For more information, see Section 23.5.8, “Online Backup of NDB Cluster” , and Section 23.4.23, “ndb_restore — Restore an NDB Cluster Backup” . You can also use the standard MySQL functionality provided for this purpose in mysqldump  and the MySQL server. See Section 4.5.4, “mysqldump — A Database Backup Program” , for more information. 

NDB Cluster nodes can employ different transport mechanisms for inter-node communications; TCP/IP over standard 100 Mbps or faster Ethernet hardware is used in most real-world deployments. 

## 23.1.1 NDB Cluster Core Concepts 

NDBCLUSTER  (also known as NDB ) is an in-memory storage engine offering high-availability and data- persistence features. 

The NDBCLUSTER  storage engine can be configured with a range of failover and load-balancing options, but it is easiest to start with the storage engine at the cluster level. NDB Cluster’s NDB  storage engine contains a complete set of data, dependent only on other data within the cluster itself. 

The “Cluster”  portion of NDB Cluster is configured independently of the MySQL servers. In an NDB Cluster, each part of the cluster is considered to be a node . 

<img src='content_image/858908.jpg'>

## Note 

In many contexts, the term “node”  is used to indicate a computer, but when discussing NDB Cluster it means a process . It is possible to run multiple nodes on a single computer; for a computer on which one or more cluster nodes are being run we use the term cluster host . 

There are three types of cluster nodes, and in a minimal NDB Cluster configuration, there are at least three nodes, one of each of these types: 

