一本揭秘字节万台节点ClickHouse背后技术实现的白皮书来了!

ClickHouse 开源于 2016 年,凭借性能方面的突出优势,在分析型数据库领域发展可谓风生水起。目前,国内外许多头部大厂都在深度使用 ClickHouse 技术。

在性能方面,ClickHouse 在 OLAP 场景下的性能超越同类产品数倍不止,它允许系统以亚秒级的延迟从 PB 级的原始数据生成报告,服务器吞吐量高达每秒数亿行。

但是将ClickHouse 引入企业级生产环境中,仍然存在问题。关于落地实践的坑,并不是业内所有团队都需要自己踩一遍,也不是所有团队都能负担得起这样的成本,我们要做的是吸取足够的经验,以及选择自研、采购等更加实际的解决方案。

在这一点上,字节跳动无疑是一家非常有代表性的国内企业:字节跳动从2017 年开始大规模启用 ClickHouse;作为其深度用户,字节跳动拥有国内规模最大的 ClickHouse 集群。

目前,字节跳动内部的ClickHouse 节点总数超过1.8万个,管理总数据量超过 700PB,最大的单个集群部署规模约为2400余个节点。

当前,字节跳动已将经过五年定制化改造的ClickHouse,沉淀为 ByteHouse,正式通过火山引擎对外提供服务。

从采用并改造开源产品,到上线商业版本对外服务,这是一条非常难走的路,同时也让其中的实践思考和经验更具参考价值。

最近,火山引擎ByteHouse 联合InfoQ 发布白皮书《从ClickHouse到ByteHouse》,深度介绍字节跳动万台节点ClickHouse背后的技术实现,本卷白皮书大致分为四个章节:

  1. ClickHouse 的介绍;

  2. ClickHouse 典型场景;

  3. 针对生产环境中的ClickHouse,ByteHouse 的技术优化思考;

  4. ByteHouse 的设计和演进思路。

其中,《从ClickHouse到ByteHouse》从第三章开始,重点介绍 ByteHouse 的优化思路。

目前,ByteHouse 对 ClickHouse 做了很多升级和优化,本次挑选了ByteHouse 对 ClickHouse 优化升级中非常重要的三个方面作为详细展开:

  1. 自研表引擎;

  2. 查询优化器;

  3. 弹性可扩展。

在自研表引擎模块,尽管ClickHouse 提供 MergeTree Family、Memory、File、Interface 等几十种不同的表引擎,但是在字节内部实际使用中,还是明显感觉到了一些表引擎不足以满足业务的使用需求,于是进行了相应的优化。

其中,重点介绍 了HaMergeTree 、HaUniqueMergeTree、HaKafka 三种表引擎。

8aaa0ead4e5e4e683f9af40d6159ccea.png

白皮书配图摘选:HaMergeTree副本协同原理

在查询优化器模块,ByteHouse对Optimizer进行了一年多的改造投入,全面升级产品能力,白皮书详细列举了ByteHouse在查询优化器上的改造与优化功能。

为了追求极致性能,ClickHouse 采用的是计算和存储节点强耦合的架构,不能根据各自实际需求分开扩容, 而且在节点扩展后数据无法自动重新分布的问题给ClickHouse扩展带来很多运维的麻烦。

ByteHouse 在改进与优化ClickHouse的过程中,也重点基于该架构进行了调整,如ByteHouse 在存储和计算上的拆解解耦,实现弹性可扩展的技术优化方案。

e2a0ad2b3d47408ce861905287a60692.png

白皮书配图摘选:计算存储分离架构

除此之外,《从ClickHouse到ByteHouse》还枚举出广告、金融、工业互联网三大行业的实践案例,这些都属于 OLAP 的典型应用行业,并从技术与企业落地等角度给出了当下企业在OLAP数据引擎选型的三个核心关注点。

点击阅读原文下载白皮书

clickhouse到bytehouse - 揭秘字节跳动万台节点 字节跳动在数据分析和大数据处理方面一直是行业的领先者。为了应对快速增长的数据需求以及提高数据分析的效率,字节跳动开发了一种高性能的数据存储和查询引擎,名为ClickHouseClickHouse是一个开源的列式数据库管理系统,通过利用现代硬件的计算和存储能力,能够高效地处理海量数据。 然而,随着字节跳动用户数量的不断增加,ClickHouse在处理大规模数据时也面临一些挑战。为了进一步提升数据分析的速度和效率,字节跳动决定开发一种名为ByteHouse的新型数据存储和查询引擎。 ByteHouse是在ClickHouse的基础上进行了优化和改进的新一代数据处理引擎。它采用了自主设计的分布式架构,将数据存储和查询任务分发到多台节点上进行并行处理。字节跳动部署了数万台节点,每个节点都具备计算和存储能力,以应对海量数据处理的需求。 ByteHouse引擎的主要特点之一是其高度可扩展性。可以根据数据的增长情况随时扩展节点数量,从而保持系统的稳定性和性能。此外,ByteHouse还采用了多级缓存和数据压缩等技术,以进一步提高数据查询的速度和效率。 字节跳动通过使用ByteHouse引擎,实现了对海量数据的高速查询和实时分析。无论是在搜索、内容推荐还是广告投放等方面,ByteHouse都起到了关键作用。该引擎的高性能和可扩展性,使得字节跳动能够处理复杂的数据分析任务,并提供即时的洞察和决策支持。 总的来说,从ClickHouse到ByteHouse的升级,揭示了字节跳动在大数据处理方面的技术实力和创新能力。通过高性能的数据存储和查询引擎,字节跳动能够处理海量数据,并在多个业务场景中发挥关键作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值