当前位置:网站首页>一本揭秘字节万台节点ClickHouse背后技术实现的白皮书来了!
一本揭秘字节万台节点ClickHouse背后技术实现的白皮书来了!
2022-07-06 18:47:00 【芋道源码】
ClickHouse 开源于 2016 年,凭借性能方面的突出优势,在分析型数据库领域发展可谓风生水起。目前,国内外许多头部大厂都在深度使用 ClickHouse 技术。
在性能方面,ClickHouse 在 OLAP 场景下的性能超越同类产品数倍不止,它允许系统以亚秒级的延迟从 PB 级的原始数据生成报告,服务器吞吐量高达每秒数亿行。
但是将ClickHouse 引入企业级生产环境中,仍然存在问题。关于落地实践的坑,并不是业内所有团队都需要自己踩一遍,也不是所有团队都能负担得起这样的成本,我们要做的是吸取足够的经验,以及选择自研、采购等更加实际的解决方案。
在这一点上,字节跳动无疑是一家非常有代表性的国内企业:字节跳动从2017 年开始大规模启用 ClickHouse;作为其深度用户,字节跳动拥有国内规模最大的 ClickHouse 集群。
目前,字节跳动内部的ClickHouse 节点总数超过1.8万个,管理总数据量超过 700PB,最大的单个集群部署规模约为2400余个节点。
当前,字节跳动已将经过五年定制化改造的ClickHouse,沉淀为 ByteHouse,正式通过火山引擎对外提供服务。
从采用并改造开源产品,到上线商业版本对外服务,这是一条非常难走的路,同时也让其中的实践思考和经验更具参考价值。
最近,火山引擎ByteHouse 联合InfoQ 发布白皮书《从ClickHouse到ByteHouse》,深度介绍字节跳动万台节点ClickHouse背后的技术实现,本卷白皮书大致分为四个章节:
- ClickHouse 的介绍;
- ClickHouse 典型场景;
- 针对生产环境中的ClickHouse,ByteHouse 的技术优化思考;
- ByteHouse 的设计和演进思路。
其中,《从ClickHouse到ByteHouse》从第三章开始,重点介绍 ByteHouse 的优化思路。
目前,ByteHouse 对 ClickHouse 做了很多升级和优化,本次挑选了ByteHouse 对 ClickHouse 优化升级中非常重要的三个方面作为详细展开:
- 自研表引擎;
- 查询优化器;
- 弹性可扩展。
在自研表引擎模块,尽管ClickHouse 提供 MergeTree Family、Memory、File、Interface 等几十种不同的表引擎,但是在字节内部实际使用中,还是明显感觉到了一些表引擎不足以满足业务的使用需求,于是进行了相应的优化。
其中,重点介绍 了HaMergeTree 、HaUniqueMergeTree、HaKafka 三种表引擎。
白皮书配图摘选:HaMergeTree副本协同原理
在查询优化器模块,ByteHouse对Optimizer进行了一年多的改造投入,全面升级产品能力,白皮书详细列举了ByteHouse在查询优化器上的改造与优化功能。
为了追求极致性能,ClickHouse 采用的是计算和存储节点强耦合的架构,不能根据各自实际需求分开扩容, 而且在节点扩展后数据无法自动重新分布的问题给ClickHouse扩展带来很多运维的麻烦。
ByteHouse 在改进与优化ClickHouse的过程中,也重点基于该架构进行了调整,如ByteHouse 在存储和计算上的拆解解耦,实现弹性可扩展的技术优化方案。
白皮书配图摘选:计算存储分离架构
除此之外,《从ClickHouse到ByteHouse》还枚举出广告、金融、工业互联网三大行业的实践案例,这些都属于 OLAP 的典型应用行业,并从技术与企业落地等角度给出了当下企业在OLAP数据引擎选型的三个核心关注点。
点击阅读原文下载白皮书
边栏推荐
- The cities research center of New York University recruits master of science and postdoctoral students
- 新一代云原生消息队列(一)
- Sensor: introduction of soil moisture sensor (xh-m214) and STM32 drive code
- 处理streamlit库上传的图片文件
- 阿里云中间件开源往事
- 老板被隔离了
- Schedulx v1.4.0 and SaaS versions are released, and you can experience the advanced functions of cost reduction and efficiency increase for free!
- 云原生混部最后一道防线:节点水位线设计
- [leetcode] day97 remove linked list elements
- 【森城市】GIS数据漫谈(二)
猜你喜欢
UC伯克利助理教授Jacob Steinhardt预测AI基准性能:AI在数学等领域的进展比预想要快,但鲁棒性基准性能进展较慢
张平安:加快云上数字创新,共建产业智慧生态
The boss is quarantined
低代码平台中的数据连接方式(上)
云原生混部最后一道防线:节点水位线设计
1 -- Xintang nuc980 nuc980 porting uboot, starting from external mx25l
Schedulx v1.4.0 and SaaS versions are released, and you can experience the advanced functions of cost reduction and efficiency increase for free!
3 -- Xintang nuc980 kernel supports JFFS2, JFFS2 file system production, kernel mount JFFS2, uboot network port settings, and uboot supports TFTP
阿里云中间件开源往事
Go swagger use
随机推荐
纽约大学 CITIES 研究中心招聘理学硕士和博士后
Metaforce force meta universe development and construction - fossage 2.0 system development
Collection recommandée!! Quel plug - in de gestion d'état flutter est le plus fort? Regardez le classement des manons de l'île, s'il vous plaît!
Blackfly s usb3 industrial camera: buffer processing
Recommended collection!! Which is the best flutter status management plug-in? Please look at the ranking list of yard farmers on the island!
如何从0到1构建32Core树莓派集群
C#/VB. Net to delete watermarks in word documents
Several classes and functions that must be clarified when using Ceres to slam
Schedulx v1.4.0 and SaaS versions are released, and you can experience the advanced functions of cost reduction and efficiency increase for free!
Introduction to the internal structure of the data directory of PostgreSQL
Argo workflows source code analysis
The last line of defense of cloud primary mixing department: node waterline design
Tips for web development: skillfully use ThreadLocal to avoid layer by layer value transmission
真实项目,用微信小程序开门编码实现(完结)
Gee upgrade can realize one piece of run tasks
FLIR blackfly s usb3 industrial camera: how to use counters and timers
postgresql之整体查询大致过程
unity中跟随鼠标浮动的面板,并可以自适应文字内容的大小
Draco - gltf model compression tool
[paper reading | deep reading] dngr:deep neural networks for learning graph representations