The NDB API is an object-oriented application programming interface for MySQL Cluster that implements indexes, scans, transactions, and event handling. NDB transactions are ACID-compliant in that they provide a means to group together operations in such a way that they succeed (commit) or fail as a unit (rollback). It is also possible to perform operations in a "no-commit" or deferred mode, to be committed at a later time.
        NDB scans are conceptually rather similar to the SQL cursors
        implemented in MySQL 5.0 and other common enterprise-level
        database management systems. These allow for high-speed row
        processing for record retrieval purposes. (MySQL Cluster
        naturally supports set processing just as does MySQL in its
        non-Cluster distributions. This can be accomplished via the
        usual MySQL APIs discussed in the MySQL Manual and elsewhere.)
        The NDB API supports both table scans and row scans; the latter
        can be performed using either unique or ordered indexes. Event
        detection and handling is discussed in
        Section 2.3.11, “The NdbEventOperation Class”, as well as
        Section 2.4.7, “NDB API Event Handling Example”.
      
In addition, the NDB API provides object-oriented error-handling facilities in order to provide a means of recovering gracefully from failed operations and other problems. See Section 2.4.3, “Handling Errors and Retrying Transactions”, for a detailed example.
        The NDB API provides a number of classes implementing the
        functionality described above. The most important of these
        include the Ndb,
        Ndb_cluster_connection,
        NdbTransaction, and
        NdbOperation classes. These model
        (respectively) database connections, cluster connections,
        transactions, and operations. These classes and their subclasses
        are listed in Section 2.3, “NDB API Classes, Interfaces, and Structures”. Error conditions in
        the NDB API are handled using NdbError, a
        structure which is described in Section 2.3.31, “The NdbError Structure”.
      
