
# ClickHouse数据分布设计
#### Shard和副本概念介绍
图1ClickHouse集群架构图   
![](https://support.huaweicloud.com/devg-rule-mrs/zh-cn_image_0000001848328860.png)
从横向来看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分片数据的高可靠性存储。
  
 
