1.4.3.1 选择事务协调器

默认方法是选择被确定为“最近”数据节点的事务协调器 (TC),使用基于传输器连接类型的启发式算法来判断距离。从最近到最远的顺序依次为

  1. SHM

  2. TCP/IP (本地主机)

  3. TCP/IP (远程主机)

如果有多个连接的距离相同,则每个事务将轮流选择一个连接。可选地,您可以将 TC 选择方法设置为轮询模式,在这种模式下,每个新事务集都将放置在下一个数据节点上。用于进行此选择的连接池包含所有可用的连接。

第 1.4.3 节,“NDB 集群概念回顾” 中所述,应用程序程序员可以向 NDB API 提供提示,说明应使用哪个事务协调器。这可以通过提供一个表和一个分区键(通常是主键)来完成。如果主键是分区键,则事务将放置在包含该记录的主片段副本的节点上。请注意,这只是一个提示;系统可以随时重新配置,在这种情况下,NDB API 在选择事务协调器时不会使用提示。有关更多信息,请参阅 Column::getPartitionKey()Ndb::startTransaction()

应用程序程序员可以通过使用以下结构从 SQL 中指定分区键

CREATE TABLE ... ENGINE=NDB PARTITION BY KEY (attribute_list);

有关更多信息,请参阅 MySQL 手册中的 分区,尤其是 键分区