更新时间:2024-04-15 GMT+08:00
分享

ClickHouse数据分布设计

Shard和副本概念介绍

图1 ClickHouse集群架构图

从横向来看ClickHouse数据库集群,所有数据都会平均分布到多个shard分片中进行保存,数据平均分布后,保证了查询的高度并行性,以提升数据的查询性能。

从纵向来看,每个shard内部有多个副本组成,保证分片数据的高可靠性,以及计算的高可靠性。

数据分布设计

  • Shard数据分片均匀分布

    建议用户的数据均匀分布到集群中的多个shard分片,如图1所示有3个分片。

    假如有30 GB数据需要写入到集群中,需要将30 GB数据均匀切分后分别放到shard-1、shard-2和shard-3的3个分片节点中,以充分发挥MPP查询时并行计算能力,避免数据在shard间倾斜计算出现木桶效应,导致SQL查询性能较差。

    可通过弹性负载均衡(Elastic Load Balance,简称ELB)访问ClickHouse,来实现数据均匀。

  • Shard内数据副本高可靠存储

    数据写入单shard中的一个副本后,ClickHouse会自动异步将数据同步到其他副本,如图1中的shard-3。

    如果将10GB数据导入ClickHouse Node 5节点副本,ClickHouse会自动异步将数据同步到ClickHouse Node 6节点副本,保证shard-3分片数据的高可靠性存储。

分享:

    相关文档

    相关产品