一个NDB集群定义为一个或多个MySQL服务器提供访问NDBCLUSTER
存储引擎—即一组NDB集群数据节点(ndbd流程)。从Java到的主要访问路径有三种NDBCLUSTER
,列出如下:
JDBC和mysqld。JDBC通过向MySQL服务器发送SQL语句并返回结果集来工作。使用JDBC时,必须编写SQL、管理连接并从结果集中复制希望在程序中作为对象使用的任何数据。最常用于MySQL服务器的JDBC实现是MySQL连接器/ J.
Java Persistence API (JPA)和JDBC。JPA使用JDBC连接到MySQL服务器。与JDBC不同,JPA提供了数据库中数据的对象视图。
ClusterJ。ClusterJ使用JNI桥接到NDB API如欲直接查阅
NDBCLUSTER
.它采用了一种基于域对象模型的数据访问风格,在许多方面与JPA所采用的类似。ClusterJ不依赖于MySQL Server进行数据访问。
这些路径如下面的API堆栈图所示:
JDBC和mysqld。Connector/J通过MySQL JDBC驱动程序提供标准访问。使用Connector/J,可以编写JDBC应用程序与作为NDB集群SQL节点的MySQL服务器一起工作,就像其他Connector/J应用程序与任何其他MySQL服务器实例一起工作一样。
有关更多信息,请参见第4.2.3节,“在NDB集群中使用连接器/J”.
ClusterJ。ClusterJ是一个本地Java连接器NDBCLUSTER
(或NDB
), NDB集群的存储引擎,样式为Hibernate,JPA,JDO.与其他持久性框架一样,ClusterJ使用数据映射器模式,其中数据表示为域对象,与业务逻辑分离,将Java类映射到存储在数据库中的数据库表NDBCLUSTER
存储引擎。
的NDBCLUSTER
存储引擎通常被简称为(在MySQL文档和其他地方)10bet官方网站NDB
.条款NDB
而且NDBCLUSTER
是同义的,你可以使用任何一个引擎= NDB
或引擎= NDBCLUSTER
在一个创建表
语句创建集群表。
ClusterJ不需要连接到mysqld进程,有直接访问NDBCLUSTER
使用包含在动态库中的JNI桥接libnbdclient
.但是,与JDBC不同,ClusterJ不支持表创建和其他数据定义操作;这些必须通过其他方法来执行,例如JDBC或mysql客户端。此外,ClusterJ仅限于对单个表的查询,不支持关系或继承;如果需要在应用程序中支持这些特性,则应该使用另一种访问路径。