Redian新闻
>
CK01# ClickHouse术语及知识点梳理

CK01# ClickHouse术语及知识点梳理

科技
引言

尽管使用ElasticSearch冷热存储架构来存储日志,成本依旧高昂,而ElasticSearch的存储成本占用70%以上,寻找新的低成本存储方案也就成了主要解决方式。

根据测评ClickHouse存储成本可以降低到ElasticSearch的三分之一以上,本文就ClickHouse的术语与知识点做个梳理,主要内容有:

  • 日志成本构成
  • ClickHouse高性能特性
  • 多主架构、分片与副本
  • MergeTree系列表引
一、日志成本构成

当前的日志平台的成本主要由下面几个方面构成:

  • 采集agent消耗的CPU和内存
  • 日志Kafka集群成本
  • Flink集群消费的计算资源
  • ElasticSearch的存储成本
  • OSS的存储成本

其中ElasticSearch的存储成本是主要部分,如何优化ES的存储成本呢?当前使用的冷热存储架构,第一天的数据存储在高配的热节点中,磁盘ESSD,之后的数据存在在低配的普通云盘中。

ElasticSearch存储成本优化点:

  • 推动业务减少不必要的日志输出
  • 持续聚焦缩短存储时间
  • 持续聚焦提高ElasticSearch的资源使用率
  • 使用低成本ClickHouse的存储替换ElasticSearch

小结:尽管使用ElasticSearch冷热存储架构来存储日志,成本依旧高昂,而ElasticSearch的存储成本占用70%以上,寻找新的低成本存储方案也就成了主要解决方式。

根据测评ClickHouse存储成本可以降低到ElasticSearch的三分之一以上,下面梳理下ClickHouse特性与知识点。


二、ClickHouse高性能特性

众多的设计和优化成就了ClickHouse的高性能,下面找一些比较突出的点梳理下:

特性描述
列式存储数据按列组织,同一列的数据保存在一起,不同的列分不同的文件保存
压缩算法默认使用LZ4压缩算法,压缩比与数据相关,压缩比1:4~1:8不等
向量化执行引擎1、利用CPU的SIMD(Single Instruction Multiple Data)单条指令操作多条数据
2、在寄存器层面实现数据并行执行,寄存器访问数据的速度是内存的300倍,是磁盘的3000万倍
众多表引擎1、提供近30种的表引擎供选择,选择表表引擎意味着选择了不同的存储查询方式
2、MergeTree系列为官方主流系列

备注:在寄存器层面实现数据并行执行,SIMD大量用于文本转换、数据过滤、数据解压以及JSON转换等场景。

三、多主架构、分片与副本

1、多主架构

  • ClickHouse采用多主架构,而不是主从架构

  • 意味着不像ElasticSearch有Master、Data、Coordinating等角色的区分

  • 访问中集群中的任何节点均可获得相同的结果

2、数据副本

  • Clickhouse的副本其他组件并无差异,多一分相同的冗余数据
  • 副本是表级别的,创建表时需要使用ReplicatedMergeTree系列引擎
  • 基于多主架构通过zookeeper将执行语句分发到副本本地执行

3、数据分片

  • ClickHouse集群中每个节点称为分片

  • 可通过集群借助于ZooKeeper执行分布式DDL语句

    CREATE/DROP TABLE ON CLUSTER my_cluster
  • 数据通过本地表(可以使用_local后缀命名)存储,使用Distributed以外的引擎

  • 分布式表不存储数据,为本地表的代理,类似于分库分表组件,需使用Distributed引擎

  • 分片规则需要声明分片键,否则分布式表中只包含一个分片,失去分片的意义

小结:ClickHouse多主架构中,支持DDL的分布式动态创建,支持通过分布式表查询和写入数据。

四、MergeTree系列表引擎

选择什么样的表引擎意味着选择了不同的数据存储组织方式,ClickHouse中有合并树、外部存储、内存、文件、接口与其他六个系列引擎,其中MergeTree合并树系列为其核心引擎。

合并树表引擎描述
MergeTree1、MergeTree的基础引擎,该系列的其他引擎继承了其能力
2、具备数据分区、一级索引、二级索引、数据TTL一级存储能力
ReplacingMergeTree1、具备删除本分区重复数据的能力
2、通过ORDER BY排序键判断数据是否重复
3、在分区合并的时候删除本分区重复数据,跨分区无法删除重复数据
4、手动执行分区合并消耗大量时间
SummingMergeTree1、合并分区时按照定义条件合并汇总数据,降低查询开销
2、通过ORDER BY排序键作为聚合条件
3、数据的合并和汇总在分区合并时进行,跨分区不会汇总合并
AggregatingMergeTree1、SummingMergeTree的升级版
2、根据ORDER BY排序键聚合数据,并写入表中,本分区相同数据合并
3、在分区合并的时候执行聚合计算,跨分区不计算
CollapsingMergeTree1、折叠合并树通过增加不同sign标志的数据代替删除的方式,实现行数据的修改与删除
2、在合并分区的时候触发
3、对写入的数据有严格的顺序要求
VersionedCollapsingMergeTree1、与CollapsingMergeTree作用相同通过对数据折叠,完成数据的删除与修改
2、通过标志位sign与版本号ver共同完成数据折叠
3、对写入的数据没有顺序要求,内部通过ver倒序判断

小结:基于MergeTree衍生引擎提供删除重复数据、汇总聚合、删除与修改的能力,然而他们只适合特定的场景,都在分区合并的执行,不支持跨分区。


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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
MegaHouse《间谍过家家》阿尼亚:乖巧坐姿+可动脑瓜太萌了!MegaHouse 桌面军队“玄武”:中式僵尸妹造型的可爱机娘!HTC推出Vive Flow商用版本;Khronos Group成立新组织以统一元宇宙标准,微软、高通、索尼等公司加入北约为啥不解散小样的小作文开源ClickHouse是如何成为极致弹性的云原生数据仓库的?CK02# ClickHouse分布式表读写原理梳理Chinese Band Uses Lockdown Metaphors as Tour Titles【吃饭, Airbnb兑换类别延期至9月末过期】“Pay Yourself Back”:Chase UR固定比例兑换介绍​超细节的BatchNorm/BN/LayerNorm/LN知识点天普附近传出70声枪响, 1死1重伤!Rittenhouse广场露天美术展开展! 有机草莓可能携甲肝病毒,全美正在召回Chinese Cities Loosen Housing Policies for Three-Child Families美国婚姻移民,竟然还有这个隐藏知识点?FA15# 日志平台演进点梳理几张老照片Disabled Man in Chinese Countryside Inspires Disillusioned YouthClubhouse:使用空间音频提升对话质量2:30PM打了booster[模型] 骨折三作——1:12 Kawasaki KH400(1979)CustomFacebook创办地House上市出售,房东曾拒绝FB股票抵租金或损失105万每月。。。【独家房源】Lexington独栋别墅本周末Open House震撼!!!大佬们对ClickHouse的讨论,值得深思。。。新黄金时代 | 入选Gold House年度A100榜单 吴弭盛装出席Chinese Courts See Rise in Emojis Used as Evidence in Lawsuits最新!这16个AP科目的5分率已出!哪些知识点最容易丢分?精读俱乐部 | G1-3孩子不容错过的《Magic Tree House》,一起开启探险之旅吧!FA17# 缓存设计治理点梳理法国禁止在电竞中使用英语术语,要"保护法语纯洁性"?!网友:没人会听!重组完成安德玛要打造更高端品牌 推出线上运动社区UA HOUSE服务中国Open House预告|远离网红滤镜,1133Hope凭何成为Downtown下一个卷王?陝西人CK03# ClickHouse日志存储设计点梳理Highlights | MC HOUSE成都太古里正式开幕,59届威尼斯双年展拉开序幕......Open House揭秘|这周五来参观USC最好玩的公寓!The Keg Steakhouse热门菜品排行榜出炉!测测你是几星顾客!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。