ClickHouse为啥在字节跳动能这么火?.docx
《ClickHouse为啥在字节跳动能这么火?.docx》由会员分享,可在线阅读,更多相关《ClickHouse为啥在字节跳动能这么火?.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ClickHouse开源于2016年,在一众大数据计算引擎里算是个后起之秀。但凭借性能方面的突出优势,这几年ClickHouse在分析型数据库领域可谓风 生水起。作为ClickHouse深度用户,字节跳动拥有国内规模最大的ClickHouse集 群。根据官方提供的最新数据,截至2022年2月底,字节跳动内部的 ClickHouse节点总数已经超过18000个,管理总数据量超过700PB,最大的 集群规模在2400余个节点。在这之上,承载着字节跳动广泛的业务增长分析 工作。熟悉ClickHouse的开发者可能会知道,虽然ClickHouse性能强大,但可扩 展性、易用性却差强人意,随着使用不断深
2、入、集群规模不断扩大,使用和 运维的技术门槛会变得越来越高。不支持弹性扩缩容更是一个长期被诟病的 问题。为了解决实际业务场景对ClickHouse的需求,字节跳动基于开源的 ClickHouse做了大量二次开发和深度投入。这局部投入到今天也还在继续, 使得字节跳动在ClickHouse的积累上相对领先业界,并最终沉淀出了去年在 火山引擎平台正式发布的商业化产品ByteHouseo从ClickHouse到ByteHouse,经历了怎样的演进历程?ClickHouse节点增长 至近2万台这一路,技术团队遇到了哪些挑战? ClickHouse云原生化改造是 如何展开的?本文深度采访了火山引擎Byte
3、House团队核心成员,试图更清 晰地呈现出ClickHouse在字节跳动内部的“进化”之路。01试水 ClickHouse字节跳动最早开始接触ClickHouse是在2017年年底。对于字节来说,用户增长分析的重要性不言而喻。这是一项十分考验运营团 队能力的工作,怎么衡量不同运营方法的有效性、该考量哪些数据指标、如 何对指标的波动进行更深层次的原因分析等等,其中涉及大量数据分析,对 于分析的实时性也有很高的要求,这些都离不开一个好用的实时数据分析平 台的支撑。在字节内部第一个“吃螃蟹、试水ClickHouse的业务场景,恰恰就是用户增 长分析,直到现在它也依然是字节ClickHouse最重要
4、的业务场景之一。其实在尝试ClickHouse之前,为了解决数据量和分析效率的问题,字节的工 程师们已经在数据分析引擎层面做了不少探索,当然也经历了一些曲折。在OLAP引擎上,团队尝试过Kylin、Druid、Spark等。这些不同的尝试, 也是根据当时面临的最迫切的问题做出的选择。比方一开始,最需要解决的 是“快”,所以团队选了 Kylin,它的优点是能够提供毫秒级别的查询延时。但 Kylin也存在需要预聚合、需要提前定义数据模型和无法进行交互式分析等问 题,随着数据量变大反而会导致返回结果慢,所以后来团队又改用Spark来 解决问题。但Spark同样存在不少问题困扰着团队,比方查询速度不够
5、快、 资源使用率高、稳定性不够好,以及无法支持更长时间的数据等。这时候团队开始反思:现有的查询引擎是否能持续支撑后续业务高速开展? 我们要从什么维度来考虑?是从我们现有什公样的技术能力,还是从我们需 要什么样的技术能力?基于这个选型思路的转变,团队开始不设边界来看,对于OLAP来说,需要 考量哪些因索?一是对OLAP非常朴素乂简单的要求:高可用和强性能。不管给OLAP加上 多少复用、赋予多少身份,最核心且首要的诉求是能存储足够多的数据、足 够稳定,并且可以非常快地查到数据。这是第一个要求要好用,即满足 海量数据卜交互式分析的性能要求,到达秒级响应。二是复用。在好用的基础上,团队希望能尽量用一套
6、技术栈解决大局部问题 甚至是所有问题,这就需要引擎是可定制的,能让开发人员在这套技术栈上 搭建各种面向场景化的应用。三是易用,能让用户更加自主地把产品使用起来。最终,经过对当时市面上已有的多款开源引擎的调研和测试,团队最终选择 采用ClickHouse作为OLAP查询引擎,并开始基于此不断迭代。在早期试水阶段,团队的基本思路是先提供基础能力,满足特定业务场景用 户的基本使用需求,然后在用户使用过程中一边收集反应一边做优化。要让业务方用起来,首先得为ClickHouse补上原来缺失的数据生命周期管理 能力,提供数据接入的基本功能。这样一来,业务方只需要在数据接入服务 中注册并进行配置,服务就会自
7、动完成元数据管理和导入任务的调度,每次 当外部数据源就绪后,接入服务会自动触发,并将相应的数据转储和格式化 到ClickHouse中。调度任务执行完毕后,业务方用户就可以直接在平台上进 行查询分析。然后是提升SQL-based指标计算的执行效率,包括UD(A)F增 强、SQL语法增强等,另外在数据可视化组件开发匕团队也费了不少功 夫。通过早期试水,ClickHouse整体方案的可行性在实际业务应用中得到了验 证,它能够满足交互式响应的用户体验需求,数据产品迭代较快且稳定性基 本满足耍求。同时,方案整体架构的水平扩展能力,也经历了从几卜台机器 扩大到几百台机器规模的考验。虽然彼时ClickHou
8、se还只是一个能够解决单一应用性能问题、满足特定业务 场景需求的引擎,但团队看到了这套方案的可能性,并为其设定了新的目 标:打造成一个公司级别通用的OLAP系统。ClickHouse很快进入在字节内 部大规模应用的新阶段,新的问题和挑战也随之而来。02规模扩大:从单一业务到全公司随着ClickHouse支持的业务场景从用户增长分析这个单一应用,扩展到B1 分析、AB测试、模型预估等多个场景,需求方不断增多,不同业务需求对技 术的要求也发生了比拟大的变化。通用的技术已经很难解决所有需求,这就 要求团队针对不同的应用场景抽象出对应解决方案,其中涉及不少自底向上 的白研功能。与此同时,ClickHo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ClickHouse 为啥 字节 跳动 这么
限制150内