MySQL NDB Cluster API 开发人员指南 / 第 1 章 NDB Cluster API:概述和概念 / 1.4 NDB交易和扫描API / 1.4.3 NDB集群概念回顾 /
1.4.3.1 选择事务协调器
默认方法是选择确定为“最近”数据节点的事务协调器 (TC),使用基于传输器连接类型的接近度启发式方法。按照从最近到最远的顺序,这些是:
健康管理学院
TCP/IP(本地主机)
TCP/IP(远程主机)
如果有多个可用连接具有相同的邻近度,则以循环方式为每个事务选择一个连接。或者,您可以将 TC 选择的方法设置为循环模式,其中每组新的交易都放在下一个数据节点上。进行此选择的连接池包含所有可用连接。
如第 1.4.3 节“NDB Cluster 概念回顾”中所述,应用程序程序员可以向 NDB API 提供有关应使用哪个事务协调器的提示。这是通过提供表和分区键(通常是主键)来完成的。如果主键是分区键,则事务将放置在该记录的主分片副本所在的节点上。请注意,这只是一个提示;系统可以随时重新配置,在这种情况下,NDB API 会在不使用提示的情况下选择事务协调器。有关详细信息,请参阅 Column::getPartitionKey()和 Ndb::startTransaction()。
应用程序员可以使用以下结构从 SQL 中指定分区键:
CREATE TABLE ... ENGINE=NDB PARTITION BY KEY (attribute_list);