Redian新闻
>
CK02# ClickHouse分布式表读写原理梳理

CK02# ClickHouse分布式表读写原理梳理

科技
引言

本文主要梳理了ClickHouse分布式表,也就是是Distributed表引擎基本工作原理。主要内容有:

  • 分布式表分片算法规则
  • 分布式表写入基本流程
  • 分布式表读出数据流程
  • 非分布式表写入本地表

一、分布式表分片算法规则

使用分布式表时,数据应该落到哪个分片节点上呢?ClickHouse有一套自己的分片算法,下面从概念开始就一探究竟。

分片键(sharding_key): 要求返回一个整数类型的取值,下面语法中sharding_key需整数类型

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = Distributed(cluster, database, table[, sharding_key[, policy_name]])
[SETTINGS name=value, ...]

权重(Weight) :ClickHouse中一个节点一个分片,可以给分片配置权重,权重越大数据分配越多,默认权重为1

槽(Slot): 槽的数量为集群中所有分片的权重之和



小结:通过权重与槽联合使用的一种简单分片算法。

二、分布式表写入基本流程

在使用ClickHouse分布式表写入数据时,大体流程是这样的。

@1 数据先写入一个分片(例如:分片1)

@2 属于本分片的数据写入本地表,属于其他分片的数据先写入本分片的临时目录

例如:其他分片的数据先写入分片1的临时目录

@3 该分片与集群中其他分片建立连接

例如:分片1与分片2、分片1与分片3建立连接

@4 将写入本地临时文件的数据异步发送到其他分片

例如:分片1将临时目录数据发送到分片2与分片3


小结:使用分布式表直接写入数据时,集群中各个节点彼此会建立连接,彼此之间传输数据;性能低于直接写入本地表。

三、分布式表读出数据流程

使用ClickHouse的分布式表查询,大体流程如下:

  • 集群多副本时根据负载均衡选择一个副本,也就是说副本是可以承担查询功能的
  • 将分布式查询语句转换为本地查询语句
  • 将本地插叙语句发送到各个分片节点执行查询
  • 再将返回的结果执行合并

小结:分布式表的查询类似于分库分表中间件,逻辑也很类似。

四、非分布式表写入本地表

写入时通过分布式表,由于先写入本地临时目录,集群节点之间会有数据传输。那如果再写入时直接写入本地表,性能要高于通过分布式表。

小结:负载均衡的方式:

  • 分片节点前挂载SLB等负载均衡,注意带宽限制
  • 客户端写入时轮训与各个分片建立连接,在客户端进行负载均衡选择分片

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
终于有人把分布式机器学习讲明白了HTC推出Vive Flow商用版本;Khronos Group成立新组织以统一元宇宙标准,微软、高通、索尼等公司加入十二月的雪Dr. Long Health Management Center of Canada (DLHMC)Chinese Band Uses Lockdown Metaphors as Tour TitlesChinese Courts See Rise in Emojis Used as Evidence in Lawsuits重组完成安德玛要打造更高端品牌 推出线上运动社区UA HOUSE服务中国Facebook创办地House上市出售,房东曾拒绝FB股票抵租金或损失105万每月。。。Clubhouse:使用空间音频提升对话质量石头与姚老先生的对话录(二)CK01# ClickHouse术语及知识点梳理Chinese Cities Loosen Housing Policies for Three-Child Families【吃饭, Airbnb兑换类别延期至9月末过期】“Pay Yourself Back”:Chase UR固定比例兑换介绍PNAS: 受章鱼皮肤启发,具有分布式神经形态认知能力的全橡胶智能皮肤美西16日19点 | Senior SDE分享谷歌独家面试经验!ES06# Filebeat采集原理与监控指标梳理Highlights | MC HOUSE成都太古里正式开幕,59届威尼斯双年展拉开序幕......零探智能陈烨然:资本狂热之下,分布式储能的另一面 | 甲子碳道[模型] 骨折三作——1:12 Kawasaki KH400(1979)Custom大规模分布式架构中,怎样设计和选择 API 限流技术?母亲节反差式表达爱,山姆为什么能够掀起情感共振?Chinese Court Rejects Appeal in Landmark Sexual Harassment Case【新墨西哥】(4)一日间,从UFO传说到VLA传奇Open House预告|远离网红滤镜,1133Hope凭何成为Downtown下一个卷王?【独家房源】Lexington独栋别墅本周末Open House使用 Locust 进行 Kubernetes 分布式性能测试开源ClickHouse是如何成为极致弹性的云原生数据仓库的?马哥教育520表白日 | 来自学员的花式表白集锦分布式与组件出口,2022光伏产业的胜负手都像德国人骂娘,中共敢不顾死活抗疫?Disabled Man in Chinese Countryside Inspires Disillusioned Youth震撼!!!大佬们对ClickHouse的讨论,值得深思。。。The Keg Steakhouse热门菜品排行榜出炉!测测你是几星顾客!Open House揭秘|这周五来参观USC最好玩的公寓!CK03# ClickHouse日志存储设计点梳理
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。