为了测试分片和复制配置,我已经配置了具有2个服务器的Clickhouse集群。
这是配置详细信息。
<macros>
<cluster>hwangpd</cluster>
<shard>02</shard>
<replica>ccmd105</replica>
</macros>
这是表的配置。
已创建分布式表(按日期划分,以实现不均匀的配置)
CREATE TABLE default.stock400 ( d Date, title String, type String, screen String, event String, v Int32) ENGINE = Distributed(hwangpd, default, t_r10, sipHash64(d))
数据表已创建
CREATE TABLE default.t_r10 ( d Date, title String, type String, screen String, event String, v Int32) ENGINE = ReplicatedMergeTree('/clickhouse/tables/t_r102', '02', d, (d, title, type, screen, event, v), 16192)
请注意,分配表的键是日期。
因此,当我们按单个日期进行选择时,分片根本无法利用此配置,因为数据仅位于服务器中。
但是我注意到的问题是分布式表的选择性能甚至比单节点设置还要糟糕。 (大约40%是慢的。)
我正在尝试确定是否可能发生某些间接费用。
我缺少任何配置吗?
或者谁能解释这种奇怪表现的原因。 ?