50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

作为国内规模最大的 ClickHouse 用户,字节跳动踩过哪些坑? 

  • 2021-11-02
  • 本文字数:3918 字

    阅读完需:约 13 分钟

作为国内规模最大的ClickHouse用户,字节跳动踩过哪些坑? 

作者 | 蔡芳芳

采访嘉宾 | 郭东东

 

ClickHouse 由于其性能方面的突出优势,正在分析型数据库领域掀起一波新的技术浪潮。作为国内规模最大的 ClickHouse 用户,目前字节跳动内部的 ClickHouse 节点总数超过 15000 个,管理总数据量超过 600PB,最大的集群规模在 2400 余个节点。实际上,字节跳动广泛的业务增长分析很多都建立在 ClickHouse 为基础的查询引擎上。

 

那么,ClickHouse 具体应用于字节跳动哪些业务场景?为什么选择采用 ClickHouse 而不是其他数据分析技术?在使用 ClickHouse 的过程中,字节跳动内部团队又踩过哪些坑?近日,InfoQ 带着上述问题采访了字节跳动数据平台数据应用研发负责人郭东东。

字节跳动数据应用产品

 

InfoQ:您在奇虎 360 工作的时候也曾负责大数据平台建设,能否基于您自己的感受,谈谈 360 和字节两家企业建设大数据平台的侧重点有哪些不同?(比如场景、需求、技术栈等等)

 

郭东东:两家公司的发展阶段,包括本身数据的体量都有一些差异,所以这两个公司可能在建设上有一些比较相通的地方,也有一些差异化。在 360 那时候主要是 Hadoop 生态刚刚兴起,当时更多的工作是把 Hadoop、HBase 等一系列大数据技术引入到 360,去解决之前传统数据库构建、数据分析平台建设这块的一些瓶颈,当时更多只是把这些平台作为底座更好地支撑业务。

 

来字节跳动之后,这些开源的生态已经比较成熟了。我们更多是怎样体系化地建设数据平台,在技术平台的基础之上,更多地构建数据分析的其他能力。当然,字节跳动的数据量后期增速很大,本身底层分析引擎等方面的挑战也比较大。

 

InfoQ:您团队负责的数据应用产品,与前段时间字节对外开放的火山引擎数据中台产品,二者之间的关系应该怎么理解?

 

郭东东:我主要负责数据应用相关产品,跟火山引擎的数据中台其实是上下游的依赖关系。中台更多是把数据整理好加工好,形成相对规范的数据体系。数据应用的话更多考虑的是在数据体系上怎样把更多的数据能力赋能给业务线,比如各种分析能力、AB 实验能力、行为分析能力和可视化能力等等。二者是一个比较密切的协同关系。

 

InfoQ:数据应用产品迭代的节奏和流程是怎样的?

 

郭东东:我们基本上采用敏捷开发,一个迭代周期可能是两到三周,每个产品会不太一样,整体来说是小步快跑的节奏,快速把客户的需求转化成产品能力,然后提供给用户去使用。这里面包括测试环节、活动环节都需要把控,整个有一套相对完善的需求管理和研发管控的系统。

 

InfoQ:能否以一个数据应用产品为例,为我们拆解一下背后的整体技术栈和架构是什么样的?

 

郭东东:我以 AB 实验平台为例,简单介绍一下我们整体的技术栈和架构。AB 实验平台整个产品的技术架构包括指标建设模块、数据分流模块等,以及底层的查询引擎能力。指标建设模块负责数据的接入和清洗,包括整个 AB 实验平台数据体系的建设。数据分流模块模块主要是根据不同用户实时决定用户属于的实验组。最底层的查询引擎是我们的核心,主要负责保证整个交互式查询的能力,这里面还有一些增强分析的子模块等等。整个是以容器化部署的,编程语言的话包括 Python、Go 这些都有用到。

 

ClickHouse 应用实践

 

InfoQ:ClickHouse 其实在 16 年就已经开源了,但似乎直到去年热度和关注度才一下子变得特别高,这是为什么呢?

 

郭东东:其实一个开源技术从开源到逐步成熟、被业内广泛采用,本来就需要一个过程。另外,如果有一些大公司逐步在使用这个技术的话,也有助于更好地推动这项技术在业内被普遍采用。应该说字节跳动内部的 ClickHouse 应用实践,对于 ClickHouse 在业内更大范围的使用也起到比较大的推动作用。很多公司都跟我们交流过 ClickHouse 的使用情况,包括技术改进、技术引进路线等等。

 

另外,从本质上来说 ClickHouse 确实解决了一些特定场景和业务上存在的比较大的痛点。数据分析之前大家更多是困在数据量,很少能得到相对明细数据的分析,而 ClickHouse 强大的分析能力刚好解决了这一痛点。这其实也反映了大家对数据更细粒度的分析需求的持续拓展。

 

InfoQ:据了解,ClickHouse 在字节应用还比较多。能否基于您负责的团队和产品,介绍一下 ClickHouse 主要应用于哪些业务场景?第一个采用 ClickHouse 的业务场景是什么?

 

郭东东:ClickHouse 在字节的应用场景比较多,比如我负责的数据应用平台,基本上很多底层技术都非常多地依赖 ClickHouse 提供的能力,比如 BI 分析能力、AB 实验的分析能力、行为分析能力等等,包括商业化层面的广告效果分析,也都是依赖 ClickHouse 的。

 

InfoQ:在选用 ClickHouse 之前你们做了哪些技术选型工作?为什么上述业务场景选择采用 ClickHouse 而不是其他数据分析技术?主要看重 ClickHouse 的哪些特性?相对应可以解决业务场景中的什么问题?

 

郭东东:其实在选 ClickHouse 之前,我们也做了比较多的技术选型工作。当时我们有一个相对比较有挑战的技术场景,是要基于很多明细数据做行为分析,这一块我们研究了挺长时间,当时也试用了 Presto、Kylin 等等各种各样的分析技术,最后选择了 ClickHouse。主要是 ClickHouse 在相对固定的一个 Panel 场景下,查询能力确实有比较明显的优势,而且本身它是不会损失灵活性的,像 Kylin 的话其实灵活性会比较差,只要做一点修改就需要重刷。

 

另外我们其实也调研过 Druid 等,但使用起来跟 ClickHouse 还是有比较大差异的。我们本身选 ClickHouse,还有一个比较大的原因是 ClickHouse 本身 Engine 是相对简单的,因为它 Engine 的执行引擎写得比较高效,它带来的向量化执行等等这些特性对我们场景化分析的价值还是比较大的。

 

InfoQ:从最初采用到现在,技术方案迭代过吗?团队对基于 ClickHouse 开源版本做了哪些改进和优化?

 

郭东东:ClickHouse 是本身开源版本,我们也会持续进行迭代和优化,还是做了不少工作的。比如说 ClickHouse 的单机用户规模原始是受限的,我们做到了大概几千台的单机用户规模,这里面就做了大量的优化。对于它本身查询能力层面、性能层面,我们也做了比较多的优化,包括特殊的像那些比较复杂的路径转换等等一系列分析。

 

另外我们也做了 ClickHouse 的云原生改造,本身它只支持 Local 部署的模式,我们做到了存储计算分离,就能比较容易地基于容器去调动算力,这些方面也做了很多事情。另外 ClickHouse 不支持事务、实时写入能力,包括对 Update 的支持,这块我们都做了比较多的改进.

 

我们整体来说还是按照云原生和相对完整的一个数据库去推进这个演进,包括对相对复杂 SQL 能力的支持、优化器能力的补足,这块都有投入。

 

InfoQ:在使用 ClickHouse 的过程中,你们都遇到过哪些问题?是否有一些解决的经验可以借鉴?

 

郭东东:我们使用 ClickHouse 算比较早的,中间遇到的问题比较多,踩了不少坑,但是现在来看的话,其实 ClickHouse 本身开源也在逐步成熟,很多问题也在逐步完善。至于有哪些经验可借鉴,我觉得可能有几个点拿出来跟大家分享一下。首先 ClickHouse 本身运维管控是比较弱的,所以我们内部自己搭建了一套相对完善的运维管控系统,以保证 ClickHouse 的稳定性,包括故障节点的停换等等一系列事情。另外 ClickHouse 在对外数据摄入这一方面其实也不算特别完善,这块我们也做了比较多事情,还有包括实时能力等等。

 

对大数据分析技术的观察

 

InfoQ:能否谈谈过去 1-3 年,您对于大数据分析技术的观察?有哪些比较重要的变化和趋势?

 

郭东东:过去三年大数据分析技术发展还是挺快的,尤其业内也有比较多的开源技术出现,像 ClickHouse 这样的技术。另外业内云原生数据分析公司(如 Snowflake)的成功,也在大力推动技术的发展。

 

回到技术本身,大家其实可以看到越来越多的云原生能力,包括 AI 支持和数据分析、数据库和数据仓的结合、湖仓一体、批流一体等等,技术一直在持续推进。未来我认为数据分析能力会持续加强,包括数据分析技术的多样性、整个架构 Layer Out、存储计算分离等等,都是比较大的发展趋势。

 

InfoQ:基于实时数据流的 Kappa 架构现在越来越多企业开始尝试。字节的大数据架构中,目前是 Lambda 架构和 Kappa 架构共存吗?如果是,两者分别用在哪些场景?如果还只有 Lambda 架构,那为什么还没有引入 Kappa 架构?

 

郭东东:目前在我们公司内部这两种架构都是存在的,每一种架构都有不同的使用场景。Lambda 架构本身离线和实时是分开的,在我们内部更多用于一些数据量比较大且整体有一些比较复杂的策略的场景,比如反作弊等策略,实时很难做得很准确,就需要把离线和实时分开,离线先提供一份数据,然后实时进一步修正这个数据,保证数据是可用的且准确性更高。

 

但有些场景其实我们也直接采用 Kappa 架构,尤其数据湖这些技术在内部的广泛使用,保证了实时的分析能力跟离线也差不了太多,类似这种场景我们就会把实时和离线整合起来,就只用一套,保证实时产出的数据就是我们最终需要的数据。我们只有在出现比较大的数据口径调整,或者其他事故的时候,才会跑离线任务去修正,默认的话就是一套。

 

采访嘉宾介绍:

 

郭东东,字节跳动数据平台数据应用研发负责人,负责数据应用相关产品的研发,具体包括 AB 实验平台、行为分析系统、智能 BI 洞察系统相关产品等,支撑内部的抖音、今日头条等核心业务线。曾经任职于奇虎 360,负责大数据平台相关建设,有 10 年的大数据平台以及应用架构经验,对 OLAP、大数据实时 &离线处理技术有比较深入的了解,熟悉 ClickHouse、Spark、Presto 等主流的大数据处理技术。


活动推荐:

 

11 月 12-13 日举办的 ArchSummit 全球架构师峰会深圳站,字节跳动的两位老师将分别在【高可用高性能业务架构】和 【AI 工程化治理】两个专题方向带来以下分享:

 

字节跳动海量时序数据库 ByteTSD 内核探究

王栋,字节跳动基础架构研发工程师

 

字节端上推理演进与实践

黄严,字节跳动智能创作解决方案研发负责人

 

议题内容及演讲提纲已上线官网,更多议题可点击这里查看。

2021-11-02 17:009575
用户头像
蔡芳芳 InfoQ 总编辑

发布了 818 篇内容, 共 613.3 次阅读, 收获喜欢 2822 次。

关注

评论 1 条评论

发布
用户头像
BSN区块链服务网络,全球性基础设施网络,更有各类官方指定应用哦
2021-11-03 17:32
回复
没有更多了
发现更多内容

大模型RAG:基于PgSql的向量检索

程序员架构进阶

大模型 9月日更 9月月更 向量数据库 rag

请不要自己写,Spring Boot非常实用的内置功能

江南一点雨

API接口接入前:确保顺利集成的标准流程与规范指南

代码忍者

828云服务器再添新选择!华为云Flexus X实例重磅亮相

平平无奇爱好科技

MatrixOne助力一道创新打造高性能智能制造AIOT系统

MatrixOrigin

数据库 AIOT 智能制造

正式亮相828!华为云Flexus X实例革新云服务体验

平平无奇爱好科技

抓准中小企业上云关键点!828华为云Flexus X实例强势赋能

平平无奇爱好科技

首款柔性算力云服务器亮相828,华为云Flexus X实例破解上云难题

平平无奇爱好科技

法国亿万富翁加入字节跳动董事会!美国总统候选人哈里斯、特朗普纷纷向人工智能和加密货币产业示好|AI日报

可信AI进展

代码覆盖率:质量的黄金标准,你的软件有多可靠?

禅道项目管理

编程 程序员 测试 代码 代码覆盖率

分享 | 多因素认证让某汽车厂商的数字资产更安全

芯盾时代

身份安全 汽车 mfa

使用豆包Marscode 创建了一个”天气预报“小应用

TRAE.ai

Python 人工智能 程序员 AI 项目

直播标准权威发布,阿里云RTS获首批卓越级评估认证

阿里云CloudImagine

云计算 音视频 视频云 超低延时直播

镜舟科技面对亿级数据分析场景,如何做到金融级放心用?

镜舟科技

大数据 金融 分析型数据库 StarRocks

华为云Flexus X实例亮相828!云上管理更高效

平平无奇爱好科技

上云也有性价比!828华为云Flexus云服务器X实例重磅亮相

平平无奇爱好科技

中国Teams直接路由

cts喜友科技

通信 通讯 云通讯

MatrixOne 助力某电信运营商构建低成本高性能车联网管理系统

MatrixOrigin

数据库 车联网 电信运营商

高并发不慌!超实用缓存优化小窍门,你值得拥有

巧手打字通

redis 缓存 高并发 缓存架构 缓存加速

康养为松,智能为鹤:华为全屋智能画出的松鹤长春图

脑极体

AI

上云也需捷径,转型更加轻松!828首选华为云Flexus云服务器X实例

平平无奇爱好科技

云服务器选购就在828!华为云Flexus X实例让上云更轻松

平平无奇爱好科技

振动韧性与智能的双翼,让数智金融飞向未来之屿

脑极体

AI

828云服务器选择多!华为云Flexus X实例让上云更轻松

平平无奇爱好科技

828云服务选购好时机!华为云Flexus X实例刷新云上体验

平平无奇爱好科技

华为云Flexus云服务器X实例828特惠!赋能企业云上提质增效

平平无奇爱好科技

作为国内规模最大的ClickHouse用户,字节跳动踩过哪些坑? _架构_蔡芳芳_InfoQ精选文章