我们如何将分片添加到 citus 中现有的并置表中?
我发现默认是 32,这肯定低于预期。有没有一种无需停机即可轻松调整大小的方法?
您可以使用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 将在一小段时间内需要获取一个ExclusiveLock
来更改分片计数,此时并发操作将无法访问托管组中的关系。
如果您在 Citus 集群上运行高工作负载,alter_distributed_table
则可能会在等待获取表上的必要锁时被阻塞。