NDB Client programs. Client programs can be written that access MySQL Cluster data directly from
the NDBCLUSTER storage engine, bypassing any MySQL Serversthat may 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 morę information, see The NDB API.
NDB-specific Java applications can also be written for MySQL Cluster using the MySQL Cluster
Connector for Java. This MySQL 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.
Support is also provided
in MySQL Cluster NDB 7.1 and later for Cluster JPA, an OpenJPA implementation for MySQL Cluster
that leverages the strengths of ClusterJ and JDBC; ID lookups and other fast operations are performed
using ClusterJ (bypassing the MySQL Server), while morę complex queries that can benefit from
MySQL's query optimizer are sent through the MySQL Server, using JDBC. See Java and MySQL
Cluster, and The ClusterJ API and Data Object Model, for morę information.
MySQL Cluster NDB 7.3 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 morę information, see MySQL NoSQL Connector for JavaScript.
The Memcache API for MySQL Cluster, implemented as the loadable ndbmemcache storage engine
for memcached version 1.6 and later, can be used to provide a persistent MySQL Cluster data storę,
accessed using the memcache protocol.
The standard memcached caching engine is included in the MySQL Cluster NDB 7.3 distribution. Each
memcached server has direct access to data stored in MySQL Cluster, but is also able to cache data
locally and to serve (some) requests from this local cache.
For morę information, see ndbmemcache—Memcache API for MySQL Cluster.