当前位置:网站首页>一本揭秘字节万台节点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数据引擎选型的三个核心关注点。
点击阅读原文下载白皮书
边栏推荐
- [unity notes] screen coordinates to ugui coordinates
- Sensor: DS1302 clock chip and driver code
- Lumion 11.0软件安装包下载及安装教程
- 纽约大学 CITIES 研究中心招聘理学硕士和博士后
- 老板被隔离了
- go swagger使用
- [C # notes] reading and writing of the contents of text files
- [paper reading | deep reading] dngr:deep neural networks for learning graph representations
- Word wrap when flex exceeds width
- String or binary data will be truncated
猜你喜欢
Schedulx v1.4.0 and SaaS versions are released, and you can experience the advanced functions of cost reduction and efficiency increase for free!
Overall query process of PostgreSQL
[unity notes] screen coordinates to ugui coordinates
[Mori city] random talk on GIS data (II)
机器人队伍学习方法,实现8.8倍的人力回报
[paper reading | deep reading] rolne: improving the quality of network embedding with structural role proximity
The mega version model of dall-e MINI has been released and is open for download
1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动
老板被隔离了
C#/VB.NET 删除Word文档中的水印
随机推荐
解密函数计算异步任务能力之「任务的状态及生命周期管理」
Word wrap when flex exceeds width
Use of fiddler
Stm32f4 --- general timer update interrupt
B站6月榜单丨飞瓜数据UP主成长排行榜(哔哩哔哩平台)发布!
C#/VB.NET 删除Word文档中的水印
Tiflash source code reading (IV) design and implementation analysis of tiflash DDL module
FLIR blackfly s industrial camera: auto exposure configuration and code
postgresql之整体查询大致过程
unity 自定义webgl打包模板
压缩 js 代码就用 terser
The cities research center of New York University recruits master of science and postdoctoral students
Detailed explanation of line segment tree (including tested code implementation)
【Node学习笔记】chokidar模块实现文件监听
【论文阅读|深读】 GraphSAGE:Inductive Representation Learning on Large Graphs
RC振荡器和晶体振荡器简介
UC伯克利助理教授Jacob Steinhardt预测AI基准性能:AI在数学等领域的进展比预想要快,但鲁棒性基准性能进展较慢
建議收藏!!Flutter狀態管理插件哪家强?請看島上碼農的排行榜!
Big guys gather | nextarch foundation cloud development meetup is coming!
【论文阅读|深读】ANRL: Attributed Network Representation Learning via Deep Neural Networks