Tuple mover
Tuple Mover 管理 ROS 数据存储。在合并时,它会将较小的 ROS 容器合并到较大的 ROS 容器中并清除已删除的数据。Tuple Mover 在后台自动执行这些任务。
数据库模式会影响哪些节点执行 Tuple Mover 操作:
-
在企业模式数据库中,所有节点都运行 Tuple Mover 以对它们存储的数据执行合并操作。
-
在 Eon 模式下,每个 分片的 主订户都针对该分片中的 ROS 容器计划 Tuple Mover 合并操作。它可以将此计划的执行权委托给群集中的另一个节点。
Tuple Mover 操作通常不需要干预。但是,Vertica 提供了多种调整 Tuple Mover 行为的方法。有关详细信息,请参阅管理 Tuple Mover。
Eon 模式数据库中的 Tuple Mover
在 Eon 模式中,Tuple Mover 的操作分为两部分:合并计划和合并执行。合并计划总是由参与合并的分片的 主订户执行。这些主订户是同一主子群集的一部分。作为合并计划的一部分,主订户选择一个节点来执行合并计划。它使用两个标准来决定哪个节点应该执行合并:
-
只有为其 TM 资源池分配了内存的节点才有资格执行合并。主订户忽略其 TM 池的 MEMORYSIZE 和 MAXMEMORYSIZE 的设置为 0 的子群集中的所有节点。
-
从能够执行合并的节点组中,主订户选择其存储库中包含最多 ROS 容器的节点,这些容器参与合并。
限制哪些子群集执行合并任务
可以通过将辅助子群集的 TM 池的 MEMORYSIZE 和 MAXMEMORYSIZE 设置更改为 0 来禁止为辅助子群集分配合并任务。这些设置阻止主订户将合并任务分配给子群集中的节点。
重要
主子群集必须始终能够执行合并任务。仅在辅助子群集上更改这些设置。例如,此语句禁止名为 dashboard 的子群集运行合并任务。
=> ALTER RESOURCE POOL TM FOR SUBCLUSTER dashboard MEMORYSIZE '0%'
MAXMEMORYSIZE '0%';