Introduction
在数据驱动的时代,数据已成为企业决策的关键资产。快手作为一家领先的社交娱乐平台,其 OLAP(在线分析处理)系统每天处理着近10亿的查询请求,为内外多个业务场景提供数据服务。然而,原有的湖仓分离架构面临着存储冗余、资源抢占、治理复杂等挑战。为了解决这些问题,快手引入了 Apache Doris,实现了从 ClickHouse 到湖仓一体架构的升级。本文将详细介绍这一变革的过程及其带来的显著效益。
Background and Problem
快手的 OLAP 系统最初由离线数据湖和实时数仓组成。离线数据湖的核心引擎是 Hive/Hudi,实时数仓的核心引擎是 ClickHouse。这套架构在快手内部稳定运行了很长时间,但随着数据的不断积累和需求的变化,一些问题逐渐显现:
- 冗余存储:数据同步到 ClickHouse 后虽然提高了查询性能,但也导致了数据冗余存储,影响了数据就绪时间和存储效率。
- 资源占用:数据同步和写入 ClickHouse 过程中会占用 ClickHouse 集群资源,特别是在高并发查询时,资源抢占问题更加明显,影响了其他查询任务的执行效率和集群的整体性能。
- 治理复杂:数据工程师需要投入大量精力建立 ADS 层模型,增加了治理的复杂性。
Solution: Apache Doris 的引入
为了解决上述问题,快手引入了 Apache Doris,实现了从 ClickHouse 到湖仓一体架构的升级。Doris 是一个高性能的实时分析数据库,具有以下优势:
- 统一存储:Doris 可以统一管理离线数据湖和实时数仓的数据,减少了存储冗余,提高了数据就绪时间。
- 高性能查询:Doris 支持物化视图改写和自动物化服务,能够实现高性能的数据查询。
- 灵活的数据治理:Doris 提供了灵活的数据治理能力,减少了数据工程师的工作量,提高了治理效率。
Implementation and Benefits
快手在 OLAP 系统中引入了 Doris,并结合 Doris 的物化视图改写能力和自动物化服务,实现了以下显著效益:
- 减少冗余存储:通过统一存储,Doris 减少了数据冗余,提高了数据就绪时间和存储效率。
- 优化资源使用:Doris 优化了资源使用,减少了对 ClickHouse 集群资源的占用,提高了集群的整体性能。
- 简化数据治理:Doris 提供了灵活的数据治理能力,减少了数据工程师的工作量,提高了治理效率。
Conclusion
快手通过引入 Apache Doris,实现了从 ClickHouse 到湖仓一体架构的升级,解决了原有架构中的冗余存储、资源抢占和治理复杂等问题。这一变革不仅提高了数据查询的性能,还简化了数据治理,为快手的业务提供了更加高效的数据支持。未来,快手将继续探索更多数据技术的应用,为业务提供更加精准的数据服务。
References
- 李振炜, 曾斯维, 周思闽. (2024). 统一存储、缩短链路,快手从 Clickhouse 到 Apache Doris 实现湖仓分离向湖仓一体的升级. 快手 InfoQ.
- Doris 官方文档. (2024). [访问链接]
- ClickHouse 官方文档. (2024). [访问链接]
通过上述步骤,我们不仅详细介绍了快手从 ClickHouse 到 Apache Doris 的架构升级过程,还突出了这一变革带来的显著效益,为读者提供了有价值的信息。
Views: 0