NDB Cluster
# NDB Cluster

NDB Cluster is the distributed database system underlying MySQL Cluster. It can be used independently of a MySQL Server with users accessing the Cluster via the NDB API (C++). "NDB" stands for Network Database.

From the MySQL Server perspective the NDB Cluster is a Storage engine for storing tables of rows.

From the NDB Cluster perspective, a MySQL Server instance is an API process connected to the Cluster. NDB Cluster can concurrently support access from other types of API processes including Memcached, JavaScript/Node.JS, Java, JPA and HTTP/REST. All API processes can operate on the same tables and data stored in the NDB Cluster.

MySQL Cluster uses the MySQL Server to provide the following capabilities on top of Ndb Cluster:

* SQL parsing / optimising / execution capability
   * Connectors to applications via JDBC, ODBC etc.
* Cross-table join mechanism
* User authentication and authorisation
* Asynchronous data replication to other systems

All API processes including the MySQL Server use the NDBAPI C++ client library to connect to the NDB Cluster and perform operations.

