在 Azure Cosmos DB for PostgreSQL 中重新平衡群集中的分片
适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)
若要利用新添加的节点,请重新平衡分布式表分片。 重新平衡将分片从现有节点移动到新节点。 Azure Cosmos DB for PostgreSQL 提供零停机时间重新平衡,意味着查询可以在分片重新平衡期间继续,而不会中断。
确定群集是否平衡
Azure 门户会显示群集中工作器节点之间的数据分布是否均匀。 在“群集管理”菜单中,选择“分片重新平衡器”。
如果工作器之间的数据分布不均:你会看到“建议再平衡”消息,以及每个节点的大小列表。
如果数据已平衡:你会看到“此时不建议再平衡”消息。
运行分片再平衡器
若要启动分片重新平衡器,请连接到群集的协调器节点,然后对分布式表运行 rebalance_table_shards SQL 函数。
该函数会再平衡以参数命名的表的并置组中的所有表。 无需为每个分布式表调用函数。 相反,在每个托管组的代表性表上调用函数。
SELECT rebalance_table_shards('distributed_table_name');
监视再平衡进度
可以从 Azure 门户查看重新平衡进度。 在“群集管理”菜单中,选择“分片重新平衡器”。 将显示“正在重新平衡”消息,并包含两个表:
- 第一个表显示移入或移出节点的分片数。 例如“已移入 6 个,共 24 个”。
- 第二个表显示每个数据库表的进度:名称、受影响的分片计数、受影响的数据大小,以及再平衡状态。
选择“刷新”可更新页面。 再平衡完成后,你会看到“此时不建议再平衡”消息。
后续步骤
- 详细了解群集性能选项。
- 纵向扩展或缩减群集
- 请参阅 rebalance_table_shards 参考资料