天翼云:Apache Doris + Iceberg 超大规模湖仓一体实践

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB

导读:天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB。天翼云基于 Apache Doris 和 Apache Iceberg 构建的湖仓一体方案,兼具灵活性、高性能和低成本优势,同时满足了报表和 BI 分析、湖仓融合分析、日志存储分析、高并发实时分析、MPPDB 国产化替代等多种场景需求。

本文转录自李康(天翼云 大数据总监)在 Doris Summit Asia 2024 上的演讲,经编辑整理。

天翼云是中国电信旗下一家科技型、平台型、服务型公司,以“云网融合、安全可信、绿色低碳、生态开放”四大优势向客户提供公有云、私有云、专属云、混合云、边缘云全栈云服务。目前,天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,部署节点超 3000 个,存储容量超 15PB。 天翼云基于 Apache Doris 和 Apache Iceberg 构建的湖仓一体方案,兼具灵活性、高性能和低成本优势,同时满足了报表和 BI 分析、湖仓融合分析、日志存储分析、高并发实时分析、MPPDB 国产化替代等多种场景需求。

Apache Doris 湖仓一体方案

天翼云数据来源众多,在数据整合和共享方面面临挑战。早期采用的数据仓库与数据湖分离的架构导致数据分散在不同系统和存储中,形成了数据孤岛。此外,面对大规模和多样化数据时,常常遭遇性能不足和灵活性差的问题。

为此,天翼云全新架构基于 Apache Doris 和 Apache Iceberg 实现湖仓一体方案,构建了一个兼具灵活性、高性能和低成本的数据平台。

Apache Doris 湖仓一体方案.png

天翼云的数据来源多样,包括 B 域、O 域和 M 域等多方数据。数据通过 Kafka 进行采集,并使用 Flink 和 Spark 实现数据加工处理。依据数据时效性的需求,数据被接入 Iceberg 数据湖或 Doris 内部存储。在这一架构中,Doris 扮演了两个重要角色:

  • 数据湖分析处理引擎: Doris 与 Iceberg 数据湖深度融合,能够直接访问 Iceberg 表中数据,实现湖中数据的加速查询。分析结果不仅可以展示给应用层,也可以通过 Doris 写回到 Iceberg 中进行存储。消除了数据孤岛、提升了分析效率。
  • 实时分析引擎: Doris 具备强大的实时分析能力,能够对数据进行极速分析。对于时效性要求更高(秒级)的数据,经过处理后直接流入 Doris,使其能够快速进行分析和对外服务。

在多场景中的应用实践

01 实时报表与多维分析

实时报表和多维分析是天翼云内部应用最广泛的场景之一,主要面向数据分析人员,提供经营分析、地市公式 BI 等服务。该场景将 Doris 作为数据分析和即席查询工具,显著提升了各省数据平台的查询效率,推动了数字化转型的进程。

在多场景中的应用实践.png

  • 加速报表周期性:使用 Doris 替代原有经分系统的 Impala+Redis 架构,解决 Impala 稳定性差和 Redis 缓存量有限的问题。这一转变不仅加速了报表的生成周期,还提高了整体的数据处理能力,使得数据分析更加高效。
  • 实现去“O”目标: 通过能开平台直连 Doris,成功替代数据集市 Oracle 数据库。基于 Doris 高效分析能力,满足业务侧对数据调用及查询响应的严格要求,响应时间控制在 0.4s~0.7s
  • 秒级别快速检索: 使用 Doris 替代地市公司 BI 系统使用的 PG 组件,使得在数据分析过程中,计数、聚合和单条快速检索等运算都能在秒级内完成。这种快速检索能力极大地提高了数据分析的实时性,为业务决策提供了更加及时和准确的数据支持。
  • 统一多技术栈: 基于 Doris 替换了多个技术组件,实现技术栈的统一,显著简化了架构。这不仅降低了系统的复杂性,还带来了性能的显著提升。

02 湖仓融合分析

湖仓一体架构在天翼云内部的应用已成熟。Apache Iceberg 作为主要的湖格式,其中存放 TB ~ PB 级别的数据,再通过 Doris 引擎对 Iceberg 数据进行查询加速,支撑了 BI 报表、实时战报、智能运维、在线应用等多种业务场景。

下图是以 Doris 作为核心分析引擎的湖仓一体架构全景图:

02 湖仓融合分析.png

Doris 作为核心分析引擎,可以直接访问 Iceberg 表数据进行数据分析获取结果。结合数据缓存、物化视图透明加速等能力,可以极大的提升湖上数据得分析性能。在权限管理方面,天翼云使用 Apache Ranger 对 Doris、Spark、Hive、Iceberg 等组件进行统一管理。结合 Doris 对包括内表在内的其他数据源的关联查询能力,为业务提供统一、高效的实时数据分析能力。

在湖仓一体建设过程中,天翼云和 Doris 社区紧密合作,在查询性能和 Iceberg 生态对接方面共建完成了大量工作,显著提升了 Doris 在湖仓融合场景下的实践能力。

  • 查询性能调优

    在查询性能方面,天翼云和 Doris 社区共同完成了复杂类型(Array、Map、Struct)的延迟物化功能。延迟物化是减少网络 IO 的一项重要技术,开启延迟物化功能后,数据扫描节点会优先读取谓词条件列,在使用过滤后的行号,读取剩余的列数据。如下 SQL:

    SELECT name, age, email, phone, address
    FROM users 
    WHERE age > 25 AND city = 'Shanghai';
    
    AI 代码解读

    没有延迟物化的情况下,会将 name, age, email, phone, address这 5 列数据全部读取后,再进行 age > 25 AND city = 'Shanghai';的条件过滤。而开启延迟物化后,会先读取 agecity 列进行条件过滤,再读取剩余的 email, phone, address 列。当谓词条件过滤率很高时,可以极大减少不必要的数据读取。

    02 湖仓融合分析-2.png

    优化后,相关类型查询的 IO 请求量从几百 GB 降至几百 MB,有效缓解了网络带宽压力,并提升了整体查询性能。

  • Iceberg 表写回

    天翼云在 2024 年中旬,结合自身业务的发展和用户需求,亟需在 Doris 中支持 Iceberg 的写回能力,以便用户能够在 Doris 对 Iceberg 表数据进行完整的数据处理操作。因此,天翼云和 Doris 社区合作,共同完成了 Iceberg 表的写回能力,并对分区数据倾斜、写入并发度调整等方面进行了深入的设计和开发。目前该功能已经在 2.1 系列版本发布。

    02 湖仓融合分析-3.png

    通过 Iceberg 写回能力,用户可以在 Doris 中进行数据处理。结合异步物化视图进行数据的分层加工,并将结果数据直接写回到 Iceberg 表。利用 Iceberg 表基于共享存储的特性,这些分析后的结果可以方便的共享给其他 Doris 集群或其他业务,达到数据共享的目的。

    未来,天翼云将进一步优化和增强 Doris 对 Iceberg 的数据处理能力,包括数据 Rewrite、Snapshot 管理等功能,将 Doris 打造成完善的湖仓数据处理引擎。

03 日志存储分析

在现代 IT 环境中,日志管理和分析是确保系统安全性和高效性的关键。传统的日志架构,如 ELK(Elasticsearch, Logstash, Kibana),虽然广泛应用,但在处理大规模日志数据时,常常面临成本高昂、查询效率低下、扩展性不足的问题。这一问题在省市级别的安全网关和系统运维场景中尤为突出,随着数据量的激增,日志检索和存储的压力不断增加。

因此,天翼云决定通过引入 Doris 替代传统的 ELK 架构,提升日志系统的查询效率,以满足安全网关和系统运维等场景基于日志的在线应用、聚类分析、异常分析、智能诊断的服务。

03 日志存储分析.png

具体来说,通过 Agent 或 Open Telemetry 上报日志数据。对于日志量较大或重要性较高的日志,首先将其存储在 Kafka 中,以确保数据的可回溯性。随后,这些日志数据可以通过 Flink 进行加工,或直接使用 Doris 的 Routine Load 功能导入到 Doris 中。对于日志量较小的业务系统(如天级别百亿数据量以下的系统),则直接通过 Open Telemetry 写入 Doris。最终由 Doris 提供对外的服务支持。

通过引入 Doris,最终实现写入吞吐提升 5 倍、存储成本降低 80%、百亿级日志检索秒级响应、查询效率提升 3 倍的显著收益。

04 物联网数据分析

天翼云的物联网平台(AIoT)主要是对智能监控设备、用户行为数据、环境监测等数据进行分析。各设备实时上传数据,平台需处理超过 1 万的并发请求,确保高效运行。数据表规模庞大,总记录数达到百亿,单日新增数据可达几个亿,且大多数查询返回单行结果,要求快速执行和高效查询。同时,系统需实时更新数据,以确保信息的时效性和准确性。

基于 3AZ 多活云资源池(苏州、无锡、太湖三个可用区),天翼物联网平台通过云原生技术完成了架构升级。通过引入 Doris,提供海量数据的高并发查询能力,助力物联网行业应用的快速发展。

该项目充分运用了 Doris 在高并发读取和写入场景下的技术特性,包括:

  • 合理的分区分桶规划: 合理的分区分桶规划能够确保数据均匀的分布在 Doris 集群内。不论写入还是查询操作,都能充分且均衡的利用集群资源。同时,通过分区分桶裁剪能力,能够极大程度减少单查询的资源消耗,提升并发能力。
  • 强大的数据索引: Doris 支持丰富的数据索引类型。包括智能索引、布隆过滤器、倒排索引等。通过合理使用索引,可以进一步减少不必要的数据扫描,提升数据的检索速度。
  • 合理的导入批次: 通过合理的设置每批次导入数据量的大小,可以在导入吞吐和数据时效性之间找到最佳平衡点。用户可以在客户端进行数据赞批,也可以利用 Doris 的 Group Commit 功能在 Doris 服务端进行赞批。服务端攒批降低了用户维护导入状态的成本,也降低了客户端数据处理的压力。

天翼云通过合理运用以上技术手段,并进行了详细测试和调优,最终在物联网业务中实现了平均 QPS 8000,峰值 QPS 15000 的性能表现。

05 信创 MPPDB 应用

天翼云围绕国产化基础设施(CPU、OS),在采集、存储、调度和计算等四个核心业务层面构建国产化大数据平台。其中,Doris 作为大数据 MPP 计算的重要角色,经过优化后成功在鲲鹏芯片上落地,并进行了权限扩展和安全加固,为国产化大数据平台的构建贡献了力量。

05 信创 MPPDB 应用.png

天翼云与Doris 社区、鲲鹏 ARM 芯片联合共建了以下能力:

  • 编译效率提升:结合毕昇编译器,Doris 编译效率提升 30%。开发和部署新功能的速度显著加快,缩短了产品的迭代周期。
  • 运行效率提升: 优化 Bitshuffle ,使得 Doris 的运行效率提升了 25%。这一提升不仅提高了数据处理的速度,还有效降低了资源消耗,进一步增强了系统的稳定性和可扩展性,支持更大规模的数据集处理。
  • 数据安全性增强:实施安全加固措施,包括数据传输和存储的加密处理、访问控制的优化以及实时监测机制的引入,确保用户数据在使用过程中的安全性,有效防止了未授权访问和数据泄露。

结束语

天翼云基于 Apache Doris 成功落地项目已超 20 个,整体集群规模超 50 套,存储节点达 3000 个,存储容量超 15PB。所服务场景包括报表和 BI 分析、湖仓融合分析、日志存储分析、高并发实时分析、MPPDB 国产化替代等多个场景。 未来,天翼云也将继续推广 Doris,并在以下几方面发力:

  • 存算分离:探索 Doris 存算分离架构,利用存算分离解决业务场景中数据共享、冷热分离,资源隔离等难题。
  • 业务落地:积极推广 Doris 在数据分析、日志检索、即席查询等场景的落地,助力客户实现数字化转型。
  • 推动国产化:继续优化 Doris 在 ARM 平台的性能问题,推动国产化进程。
  • 拥抱社区:积极参与社区共建工作,合作完善元数据、Catalog、CRC、存算分离等模块建设,推动 Doris 向好发展。

更多湖仓一体相关文章,推荐阅读。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
打赏
0
1
2
0
232
分享
相关文章
vivo基于Paimon的湖仓一体落地实践
本文整理自vivo互联网大数据专家徐昱在Flink Forward Asia 2024的分享,基于实际案例探讨了构建现代化数据湖仓的关键决策和技术实践。内容涵盖组件选型、架构设计、离线加速、流批链路统一、消息组件替代、样本拼接、查询提速、元数据监控、数据迁移及未来展望等方面。通过这些探索,展示了如何优化性能、降低成本并提升数据处理效率,为相关领域提供了宝贵的经验和参考。
414 3
vivo基于Paimon的湖仓一体落地实践
云原生时代的架构革新,Apache Doris 存算分离如何实现弹性与性能双重提升
随着云基础设施的成熟,Apache Doris 3.0 正式支持了存算分离全新模式。基于这一架构,能够实现更低成本、极致弹性以及负载隔离。本文将介绍存算分离架构及其优势,并通过导入性能、查询性能、资源成本的测试,直观展现存算分离架构下的性能表现,为读者提供具体场景下的使用参考。
云原生时代的架构革新,Apache Doris 存算分离如何实现弹性与性能双重提升
StarRocks 在爱奇艺大数据场景的实践
本文介绍了爱奇艺大数据OLAP服务负责人林豪在StarRocks年度峰会上的分享,重点讲述了爱奇艺OLAP引擎的演进及引入StarRocks后的显著效果。在广告业务中,StarRocks替换Impala+Kudu后,接口性能提升400%,P90查询延迟缩短4.6倍;在“魔镜”数据分析平台中,StarRocks替代Spark达67%,P50查询速度提升33倍,P90提升15倍,节省4.6个人天。未来,爱奇艺计划进一步优化存算一体和存算分离架构,提升整体数据处理效率。
StarRocks 在爱奇艺大数据场景的实践
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
445 33
The Past, Present and Future of Apache Flink
|
5月前
|
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
1118 13
Apache Flink 2.0-preview released
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
196 3
Apache Doris Flink Connector 24.0.0 版本正式发布
该版本新增了对 Flink 1.20 的支持,并支持通过 Arrow Flight SQL 高速读取 Doris 中数据。
您有一份 Apache Flink 社区年度报告请查收~
您有一份 Apache Flink 社区年度报告请查收~

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 推荐镜像

    更多