当前位置:网站首页>一本揭秘字节万台节点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数据引擎选型的三个核心关注点。
点击阅读原文下载白皮书
边栏推荐
- Compress JS code with terser
- FLIR blackfly s industrial camera: synchronous shooting of multiple cameras through external trigger
- Alibaba cloud middleware open source past
- C#/VB.NET 删除Word文檔中的水印
- Stm32f4 --- PWM output
- Pioneer of Web3: virtual human
- [server data recovery] data recovery case of a Dell server crash caused by raid damage
- Rethinking of investment
- 4 -- Xintang nuc980 mount initramfs NFS file system
- 纽约大学 CITIES 研究中心招聘理学硕士和博士后
猜你喜欢

Infrared camera: juge infrared mag32 product introduction

1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动

FLIR blackfly s usb3 industrial camera: how to use counters and timers

【森城市】GIS数据漫谈(二)

张平安:加快云上数字创新,共建产业智慧生态

A new path for enterprise mid Platform Construction -- low code platform

How to build a 32core raspberry pie cluster from 0 to 1

postgresql之整體查詢大致過程

张平安:加快云上数字创新,共建产业智慧生态

How can reinforcement learning be used in medical imaging? A review of Emory University's latest "reinforcement learning medical image analysis", which expounds the latest RL medical image analysis co
随机推荐
1--新唐nuc980 NUC980移植 UBOOT,从外部mx25l启动
Freeswitch dials extension number source code tracking
豆瓣平均 9.x,分布式领域的 5 本神书!
【论文阅读|深读】ANRL: Attributed Network Representation Learning via Deep Neural Networks
【论文阅读|深读】 GraphSAGE:Inductive Representation Learning on Large Graphs
所谓的消费互联网仅仅只是做行业信息的撮合和对接,并不改变产业本身
处理streamlit库上传的图片文件
C # / vb. Net supprime le filigrane d'un document word
pgpool-II和pgpoolAdmin的使用
最近小程序开发记录
What to do when encountering slow SQL? (next)
Blackfly s usb3 industrial camera: buffer processing
Real project, realized by wechat applet opening code (end)
Processing image files uploaded by streamlit Library
STM32项目 -- 选题分享(部分)
Lumion 11.0 software installation package download and installation tutorial
Recommended collection!! Which is the best flutter status management plug-in? Please look at the ranking list of yard farmers on the island!
本周 火火火火 的开源项目!
#夏日挑战赛#数据库学霸笔记(下)~
Chang'an chain learning notes - certificate model of certificate research