NDB API 是面向对象的 NDB 集群应用程序编程接口,它实现了索引、扫描、事务和事件处理。NDB 事务符合 ACID 规范,因为它们提供了一种对操作进行分组的方法,使它们作为单元成功(提交)或失败(回滚)。还可以以 “无提交” 或延迟模式执行操作,以便稍后提交。
NDB 扫描在概念上与 MySQL 和其他常见企业级数据库管理系统中实现的 SQL 游标非常相似。它们为记录检索目的提供了高速行处理。(NDB 集群自然支持集合处理,就像 MySQL 在其非集群发行版中一样。这可以通过 MySQL 手册和其他地方讨论的常用 MySQL API 来完成。)NDB API 支持表扫描和行扫描;后者可以使用唯一索引或有序索引执行。事件检测和处理在 第 2.3.16 节 “NdbEventOperation 类” 以及 第 2.5.9 节 “NDB API 事件处理示例” 中进行了讨论。
此外,NDB API 提供了面向对象的错误处理工具,以便提供从失败的操作和其他问题中优雅恢复的方法。(有关详细示例,请参阅 第 2.5.4 节 “NDB API 示例:处理错误和重试事务”。)
NDB API 提供了许多类来实现上述功能。其中最重要的是 Ndb
、Ndb_cluster_connection
、NdbTransaction
和 NdbOperation
类。这些类分别对数据库连接、集群连接、事务和操作进行建模。这些类及其子类列在 第 2.3 节 “NDB API 类、接口和结构” 中。NDB API 中的错误条件使用 NdbError
处理。
NDB API 应用程序直接访问 NDB 集群的数据存储,不需要 MySQL 服务器作为中介。这意味着此类应用程序不受 MySQL 权限系统的约束;任何 NDB API 应用程序都可以随时对存储在同一个 NDB 集群中的任何 NDB
表进行读写访问,不受任何限制。