0

我们如何将分片添加到 citus 中现有的并置表中?

我发现默认是 32,这肯定低于预期。有没有一种无需停机即可轻松调整大小的方法?

4

1 回答 1

0

您可以使用alter_distributed_table并提供shard_count参数来更新分布式表的分片总数。将此更改应用于托管组中的所有分布式表是一个不错的主意,这样您就不会看到分布式表连接的任何性能下降。

-- change shard count of all tables in colocation group
SELECT alter_distributed_table('github_events', shard_count:=6, cascade_to_colocated:=true);

请参阅Citus 10.2 的官方文档

停机时间

Citus 将在一小段时间内需要获取一个ExclusiveLock来更改分片计数,此时并发操作将无法访问托管组中的关系。

如果您在 Citus 集群上运行高工作负载,alter_distributed_table则可能会在等待获取表上的必要锁时被阻塞。

于 2021-10-20T18:40:11.453 回答