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 池的 MEMORYSIZEMAXMEMORYSIZE 的设置为 0 的子群集中的所有节点。

  • 从能够执行合并的节点组中,主订户选择其存储库中包含最多 ROS 容器的节点,这些容器参与合并。

限制哪些子群集执行合并任务

可以通过将辅助子群集的 TM 池的 MEMORYSIZEMAXMEMORYSIZE 设置更改为 0 来禁止为辅助子群集分配合并任务。这些设置阻止主订户将合并任务分配给子群集中的节点。

例如,此语句禁止名为 dashboard 的子群集运行合并任务。

=> ALTER RESOURCE POOL TM FOR SUBCLUSTER dashboard MEMORYSIZE '0%'
   MAXMEMORYSIZE '0%';

本节内容