• 作者:老汪软件技巧
  • 发表时间:2024-12-27 17:06
  • 浏览量:

在 12 月 14 日的 Doris Summit Asia 2024 上,Apache Doris 创始人 & PMC 成员马如悦在开场演讲中,围绕“现代化数据仓库”这一主题,指出 3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“统一之路”和“弹性之路”,详细介绍了所对应的核心特性的设计思考与应用价值,揭晓了 2025 年社区发展蓝图。

本文节选自马如悦在 Doris Summit Asia 2024 上的演讲,以马如悦第一人称叙述,经编辑。

最具影响力开源大数据项目之一

Apache Doris 自 2013 年创建至今已 10 年有余,截至目前,GitHub Stars 已近 13,000,社区的贡献者达到近 670 名,平均每月活跃贡献者超过 120 名。这一成就使其超越了 Spark、Kafka 等项目,成为开源大数据和数据库领域中月活开发者最多的项目。此外,Apache Doris 在所有 Apache 项目中官网浏览量稳居第一,2024 年 4 月网站 PV 高达 900w,可见其受欢迎程度。

全球中大型企业规模突破 5000 家

在 Apache Doris 技术持续创新与稳步发展下,越来越多的用户及企业选择并使用 Apahce Doris。我记忆犹新的是,2022 年时,Apache Doris 所覆盖企业规模不足千家,然而时隔仅 2-3 年,目前正在使用 Apache Doris 的中大型企业已突破 5000 家,并且不断有新的用户了解并尝试使用 Doris。这一迅猛增长得益于社区所有用户及开发者的反馈、建议及开发共建,同时也离不开其商业公司飞轮科技提供的技术驱动、用户维系和社区建设等全方位的支持。

这 5000 家企业覆盖范围十分广泛且多元化,包括金融、互联网、电信、游戏、交通物流、零售快消、能源制造等多个领域,并且正在不断拓展新的应用场景,这充分证明了 Apache Doris 的强大性能及广泛适用性。今天到场的许多嘉宾正是我们的用户,在接下来的议程中,他们也将带来精彩的主题演讲,期待能给更多人带来启发与洞见。

2024 年,Apache Doris 重点推出了 3.0 版本,这一版本是研发之路上的重要里程碑。其缘由在于,自诞生之初,Apache Doris 就定位于现代化实时数据仓库。在 3.0 版本之前,尽管它在很多特性上都非常领先、大受欢迎,但并未完全实现现代化特性。然而,"现代化"这一理念在 3.0 版本中得以全面实现,并得到了充分的验证。接下来,我将从实时、统一和弹性三个方面,介绍 Apache Doris 在现代化数据仓库创新之路上的进展。

Real-Time,实时之路

随着工业 3.0 发展阶段的到来,数字技术已成为主流,企业正全面迈入实时分析时代。从以往批量报表转变为如今的实时仪表盘,从面向内部的分析扩展为面向外部的分析服务,从静态报表到交互式即时查询,从以人为中心到自动算法调用.....这些变化都对实时性提出了非常高的要求。

实时分析是 Apache Doris 最为基础且核心的特性之一。项目建立之初,大多数用户正是被 Doris 的实时性所吸引。如今,Apache Doris 的实时性无疑已成为业界的标杆。那么,Apache Doris 是如何实现如此强大的实时分析性能呢?

01 秒级实时数据写入

实时数据的核心在于确保数据的新鲜度和快速可见性。为实现这一目标,Apache Doris 在实时数据的导入与存储方面进行了大量优化,具体分为以下三部分:

02 极速交互式分析性能

相较于事务型数据库,分析数据库则更注重交互式分析体验。为提供更好的交互性分析,Apache Doris 在性能上不断优化,包括对向量化引擎、基于 CBO 的优化器、丰富的索引支持、单表/多表物化视图以及在 ARM 架构下的深度优化等。在这些能力的加持下,Apache Doris 在测试集中表现优异:

03 超大规模用户高并发查询

在数据量不断激增的当下,高并发查询的需求也愈发的明显。Apache Doris 在高并发查询方面进行多项优化,最终实现了单节点最高上万 QPS 的并发:

04 高可用架构设计

分析型数据仓库如今不仅为企业内部提供 BI 报表和分析,还广泛服务于外部客户及大量高并发用户。因此实时系统需要秒级数据入库和查询,且不允许停机维护。对于此,Apache Doris 的优势也十分明显:

Unified,统一之路

在大数据分析领域,企业面临着多样化的分析需求,往往需要部署多个工具或技术来应对不同场景。这种做法往往导致组件繁多、运维成本高昂、数据链路冗长以及数据重复存储等诸多问题。

数据仓库几经发展,逐步从传统数据仓库演变为大数据平台/数据湖,如今又迎来了现代化数据仓库,对应的架构也在发生着变化。底层数据源类型从传统的结构化数据扩展为多种半结构化数据;中间层从 ETL、数据仓库、数据湖相互独立演变为相互融合;顶层则引入了数据科学、机器学习和人工智能应用。这些演变都对数据处理的时效性、灵活性与效率提出更高的要求。

数据仓库概念的创始人__数据仓库兴起的原因

在这样的背景下,Doris 作为现代化统一数据仓库,能够有效应对多样的分析场景。其 All-In-One 的设计理念不仅简化了数据的使用和管理,还使企业将精力从复杂的数据基础设施管理转向上层的数据应用。

01 湖仓无界

"湖仓无界",即 Lakehouse,是数据领域的全新概念。Apache Doris 作为一款现代化的数据仓库,凭借其独特的架构,完美诠释了这一理念。而 Apache Doris 之所以能被称为 Lakehouse,主要得益于其两大特性:

凭借这些特性,Apache Doris 既能作为强大的 SQL 查询引擎,也能作为开放、灵活的数据湖,实质上满足了 Lakehouse 的定义。

那么,Apache Doris 与其他纯粹的 Lakehouse 相比较,其优势在哪里? 其核心在于“避免过早复杂性”,这里我通过一个例子来说明。

对于许多业务团队而言,其业务数据量可能仅有几百 GB,甚至更少,且尚未引入如 HDFS 这类复杂的数据架构。对于这种情况,Apache Doris 只需简单的几个节点即可迅速投入使用,部署过程极为简便。随着系统和业务需求的逐步复杂化,比如需要集成机器学习引擎或查询 HDFS 上数据时,凭借 Apache Doris 灵活的架构设计及弹性,能够实现逐步的升级与演进,无需在最开始就搭建复杂的系统。

许多用户在使用某些 Lakehouse 产品时感到不便,其根源在于这些产品要求用户在数据量有限的情况下就搭建复杂的 HDFS 及多个组件,这无疑增加了不必要的复杂性,也即“过早复杂性”。相比之下,Apache Doris 则秉持着从简单到复杂的逐步演进原则,有效避免了这一问题。

02 半结构化数据分析

2024 年,我们注意到一个显著的趋势,将近一半的 Elasticsearch 使用者倾向于采用 Apache Doris 来替代 Elasticsearch。尽管 Elasticsearch 在半结构化数据分析领域占有一席之地,但随着 Apache Doris 的持续突破,正逐步成为未来半结构化数据分析的核心引擎。这一转变主要归功于三大关键点:

Elastic,弹性之路

弹性的重要性在于它能够提升数据库的灵活性、可扩展性以及资源利用率,同时可降低企业的运维成本和潜在风险。为此,Apache Doris 在提升弹性方面也不断努力。

01 存算一体

在存算一体时代,Apache Doris 便提供了弹性资源管理功能,先是推出了基于资源标签(Resource Tag)的物理隔离方案,后在 2.1 版本中推出了 Workload Group 管理方案,能够基于 CGroup 技术在每台机器上实现 CPU 资源的硬限和软限。在存储方面也很早便实现了冷热分层策略,热数据存储在成本更高的 SSD 盘上,而冷数据则存储在相对低成本的 HDD 盘甚至更为廉价的对象存储上,保存方式也从多副本变为单副本,冷数据无需占用宝贵的本地机器资源,从而避免了因扩充容量而购买更多机器的需求。

02 存算分离全新架构

而在 3.0 版本中,Apache Doris 开始支持存算分离模式,基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。在存算分离架构中,元数据存储在 FoundationDB,数据则存储在 S3 等对象存储中。在这一架构下,FE 和 BE 节点均变得无状态,所有数据都存放于共享的对象存储,而非本地存储。同时,为了提升性能,Doris 引入了高速缓存机制。

针对存算分离是否会影响性能的问题,我们进行了存算一体模式和存算分离模式在不同缓存下的 TPC-DS 1TB 性能测试。结果显示,在缓存命中的情况下,性能基本无损;部分命中缓存时,性能损耗约为 10%;而在缓存不命中的情况下,性能损失约为 30%。但相较于业内其他同类系统,存算分离模式下的 Apache Doris 仍有着极为明显的性能优势。

Elastic,弹性之路-2.png

03 两种部署形态融合

弹性的资源管理始终是数据分析基础设施的永恒追求。我们提供存算一体和存算分离两种部署形态,以便发挥各自的优势:存算一体部署简便且性能优越,而存算分离则支持灵活的独立扩缩容。

进一步来看,存算分离的部署需要依赖高性能的对象存储或文件系统,以及充足的网络带宽。如果企业的存储基础设施或网络带宽受限,存算分离的性能可能受到影响。这也解释了为何存算分离常与云原生技术相关联,虽然存算分离并非云原生特有,但云原生环境为其提供了高带宽和优质对象存储,为其提供了理想的设施基础。

当前,一些用户认为在开始时就要选择存算一体或存算分离的部署形态并不合理,尤其是在数据量较小时。因此,Apache Doris 未来计划融合这两种部署形态,用户无需再纠结于选择哪种部署形态,无论是从存算一体切换到存算分离,还是反向切换,都可以通过简单的参数配置实现自动切换,而无需重建集群或重新导入数据。

03 两种部署形态融合.png


上一条查看详情 +关于Android 16你想知道的都在这里
下一条 查看详情 +没有了