NDB Cluster Core Concepts Standard MySQL clients.   NDB Cluster can be used with existing MySQL applications written in PHP, Perl, C, C++, Java, Python, Ruby, and so on. Such client applications send SQL statements to and receive responses from MySQL servers acting as NDB Cluster SQL nodes in much the same way that they interact with standalone MySQL servers. MySQL clients using an NDB Cluster as a data source can be modified to take advantage of the ability to connect with multiple MySQL servers to achieve load balancing and failover. For example, Java clients using Connector/J 5.0.6 and later can use  jdbc:mysql:loadbalance://  URLs (improved in Connector/J 5.1.7) to achieve load balancing transparently; for more information about using Connector/J with NDB Cluster, see Using Connector/J with NDB Cluster. NDB client programs.   Client programs can be written that access NDB Cluster data directly from the NDBCLUSTER  storage engine, bypassing any MySQL Servers that may be connected to the cluster, using the  NDB API , a high-level C++ API. Such applications may be useful for specialized purposes where an SQL interface to the data is not needed. For more information, see The NDB API. NDB -specific Java applications can also be written for NDB Cluster using the  NDB Cluster Connector for Java . This NDB Cluster Connector includes  ClusterJ , a high-level database API similar to object-relational mapping persistence frameworks such as Hibernate and JPA that connect directly to  NDBCLUSTER , and so does not require access to a MySQL Server. See Java and NDB Cluster, and The ClusterJ API and Data Object Model, for more information. NDB Cluster also supports applications written in JavaScript using Node.js. The MySQL Connector for JavaScript includes adapters for direct access to the  NDB  storage engine and as well as for the MySQL Server. Applications using this Connector are typically event-driven and use a domain object model similar in many ways to that employed by ClusterJ. For more information, see MySQL NoSQL Connector for JavaScript. Management clients.   These clients connect to the management server and provide commands for starting and stopping nodes gracefully, starting and stopping message tracing (debug versions only), showing node versions and status, starting and stopping backups, and so on. An example of this type of program is the  ndb_mgm  management client supplied with NDB Cluster (see Section 23.4.5, “ndb_mgm — The NDB Cluster Management Client” ). Such applications can be written using the  MGM API , a C- language API that communicates directly with one or more NDB Cluster management servers. For more information, see The MGM API. Oracle also makes available MySQL Cluster Manager, which provides an advanced command-line interface simplifying many complex NDB Cluster management tasks, such restarting an NDB Cluster with a large number of nodes. The MySQL Cluster Manager client also supports commands for getting and setting the values of most node configuration parameters as well as  mysqld  server options and variables relating to NDB Cluster. MySQL Cluster Manager 1.4.8 provides experimental support for NDB 8.0. See MySQL™ Cluster Manager 1.4.8 User Manual, for more information. Event logs.   NDB Cluster logs events by category (startup, shutdown, errors, checkpoints, and so on), priority, and severity. A complete listing of all reportable events may be found in Section 23.5.3, “Event Reports Generated in NDB Cluster” . Event logs are of the two types listed here: Under normal circumstances, it is necessary and sufficient to keep and examine only the cluster log. The node logs need be consulted only for application development and debugging purposes. 3928 • Cluster log : Keeps a record of all desired reportable events for the cluster as a whole. • Node log : A separate log which is also kept for each individual node. Note