Apache Paimon统一大数据湖存储底座

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Apache Paimon,始于Flink Table Store,发展为独立的Apache顶级项目,专注流式数据湖存储。它提供统一存储底座,支持流、批、OLAP,优化了CDC入湖、流式链路构建和极速OLAP查询。Paimon社区快速增长,集成Flink、Spark等计算引擎,阿里巴巴在内部广泛应用,旨在打造统一湖存储,打通Serverless Flink、MaxCompute等,欢迎大家扫码参与体验阿里云上的 Flink+Paimon 的流批一体服务。

摘要:本文整理自 Apache Paimon PMC Chair 李劲松(之信)老师在5月16日 Streaming Lakehouse Meetup · Online 上的分享,主要分享 Apache Paimon 相关的演进、目标及应用。内容主要分为以下四个部分:

  1. 从孵化到毕业,Paimon 的发展与场景
  2. 统一存储底座,Paimon 与流、批、OLAP
  3. 完整生态集成,Paimon 的计算引擎推荐
  4. 阿里巴巴实践,Paimon 数据湖战役

一、 从孵化到毕业,Paimon 的发展与场景

Paimon 最初在Flink社区中以 Flink Table Store 的名称出现,开始在 Flink 社区内孵化。直到 2023 年,Paimon 发展成为一个公共的、与具体引擎无关的湖式(Lakehouse)架构,从 Flink 社区独立出来,转变成一个 Apache 项目。到了 2024 年 4 月,Paimon 正式完成了在 Apache 的孵化过程,成为了一个顶级项目。

1. 数据架构的演进:流批一体的 Lakehouse

在为什么要做 Paimon 之前,必然会谈及数据架构的演进,即为什么最后会做出实时数据库 Apache Paimon。

业界最开始的架构基本上是 Warehouse 架构,比如传统的 Hive 数仓,是一个天级的ETL分析,不管是 LOG 还是 CDC 数据都是通过 Batch 的方式流入数仓,ETL 再进行加工,最终导入业务库。以上方式的好处是流程非常简单,坏处是其数据时效性永远是 T+1 的。

此时,Flink 出现了,Flink 主打流式计算,能将传统离线数仓的时效性从 T+1(天级/小时级)加速至秒级。所有的数据通过秒级流动的方式流入数仓,称为实时数仓(Streaming Warehouse) ,数据最终落入最底层的 ADS、OLAP 等系统提供秒级的查询。整条链路非常实时,这是近年总体的发展方向,但成本很大,开发复杂度较高。所以可以迁移部分价值较高的业务至实时流式数仓,但是往往迁移不了全部业务,故上述两种方式在业界并存。

不仅是实时数仓,离线数仓也在往更好的方向发展,出现了 Lake house,它不只是一个纯离线架构,还能带来一定的Streaming 处理。它在原来离线数仓上做更好的操作,因为底下的 Data Lake Format 有更细粒度的保证。在此基础上,天级的刷新带来了更好的时效性保障。但此时,Warehouse、Lakehouse、Streaming Warehouse 还是比较割裂的状态,中间仍缺乏让两种技术融合在一起的部分。

Paimon 的出发点是想通过底层格式的提升来实现 Streaming Warehouse 的分钟级数据更新,以此促进 Lakehouse 的数据全链路流动。Paimon 把整套架构连在一起,数据以离线的方式或更低成本的方式来 Work,当离线的方式不够,需要更高的时效性时,就可以用 Streaming 的方式使之流动。这离不开两个技术,一个是 Flink,目前主流的流计算引擎,另一个是更好能力的格式支撑。

2. Paimon前身FTS诞生的特点与优势

为什么做 Paimon 这样全新的湖格式,有以下三点缘由(优势)。

(1)实时数据湖,以低成本的方式支持湖上更新,且在此基础上还有开放的格式、数据、计算。

(2)流式数据湖,深度集成 Flink 流式计算,完整的流读流写与融合状态计算的方式。

(3)国人主导的社区,目前可看到来自阿里、字节等国内各种公司,Paimon 社区/ Flink Table Store 的存在确保了针对国内企业问题解决时的沟通更为直接,响应更加迅速。

我们认为以上三点是别的技术无法取代或根本解决的,所以研发了 Flink Table Store。

3. Paimon社区的发展

从 Flink Table Store 到 Paimon 孵化再到成功毕业这两年来,Paimon 社区的发展非常迅速。从 2022 年到 2024 年, Contributors、Commits、Stars 都有巨大提升,这离不开国内各大公司的支持。

4. Paimon 的核心场景

目前 Paimon 的核心场景主要有以下三点。

(1)CDC 入湖

Paimon 对此做了相当多的优化,来保证更简化的架构、更好的性能与实时性。具体有:一键整库入湖,大幅简化架构;也可达到实时更新、极速查询的场景,且在此基础上成本不高;可以灵活更新,定义部分列更新、多种聚合更新。

(2)构建流式链路

即可以用 Paimon 来构建完整的 Streaming 链路,有以下几个支撑的场景:第一,可生成变更日志,在流读时就能拿到已更新好的全行的 Record 数据,这非常有利于 Streaming 链路的构建;第二,Paimon 也朝着变成真正的队列的方式向前发展,有消费者机制,在最新版本当中,有变更日志单独生命周期管理,可像 Kafka 一样定义更长的变更日志的生命周期,比如 Kafka 保存一天以上或者三天;在此基础上,构成了轻状态低成本的流式链路。

(3)极速 OLAP 查询

前二者使整条链路流起来了,但流起来之后,数据需要沉淀,所以 Paimon 也做了很多东西,使在这条链路沉淀下来的数据中能达到极速的OLAP查询。第三点就是实现 Z-Order + 索引结合计算极速分析;分析引擎在 Paimon 上蓬勃发展,形成平权发展的引擎生态,包括 Flink, Spark, StarRocks, Trino 都能很好的查询。

二、统一存储底座,Paimon 与流、批、OLAP

接下来简单分析一下,Paimon如何做统一存储底座,如何赋能流、批,OLAP更好的查询。

1. 流、批、OLAP 一体化架构

首先看 Streaming Lakehouse 架构,数据可以被 Streaming Ingestion 流入数据湖中。Paimon 可以架设在 OSS、HDFS 等系统上,然后在此之上把数据沉淀下来,通过 Flink 或 Spark 以Batch 的计算方式降低成本。也可以为了时效性,用 Streaming 的方式,如 Flink Streaming SQL 使整条链路流动起来。数据沉淀需要分析,为了进行深入分析和获取洞察,我们常常需要借助 OLAP。Trino 和 StarRocks 等技术都是进行 OLAP 分析的优秀选择。Paimon 社区希望能将这三者都做到极致,或业界领先的水准,所以这套架构能支撑完整的三种计算,也能支撑各种各样能力丰富的计算引擎。

2. Paimon 的统一存储发展

下图罗列了 Paimon 做了一些支撑。

(1)流

第一,作为统一存储发展,在流方向与 Flink 深度集成,共同往前发展;第二,Flink 与 Paimon 两个社区携手共进,整体继续提升更新能力,更新是流的基础;第三,Paimon 扩大流写流读的场景,分钟级覆盖所有 Streaming 场景。

(2)批

主要分为两个方向,一个方向是继续和 Flink 往前,打造流批一体架构,流批一体计算 + 流批一体存储;第二,目前业界常用的批处理引擎是 Spark,所以 Paimon 深度集成 Spark,打造了业界领先的批读批写性能,预计在不久的将来,阿里云也会使用 Spark 与 Paimon 来进行 TPC-DS 的标准测试。

(3)OLAP

第一,Paimon 深度集成 OLAP 引擎:StarRocks、Trino 等;第二,推出 Deletion Vectors 模式,能在湖存储上达到近实时更新,极速查询;第三,文件上加强 Z-Order 及丰富的索引,加速查询。

综上,在流、批、OLAP 中,Paimon 作为一个存储格式,低成本、分钟级覆盖主流大数据需求。

三、 完整生态集成,Paimon 的计算引擎推荐

接下来分享完整生态集成以及 Paimon 的优势。

主要分为三个领域:流写流读、批写、批读/OLAP。在这三个方面,拥有全部能力的是 Flink,这并不意味着 Flink 所有的东西都非常好,它最好的地方在流写流读;批写批读的能力除了 Flink 就是 Spark,它是推荐的批引擎,也有部分流写流读能力,但弱于 Flink;查询侧则集成了较为丰富的生态,目前市面上主流的引擎都能查询 Paimon,目前有较强 OLAP 能力的是 StarRocks,当然 Trino、Doris 也提升了很多。

四、阿里巴巴实践,Paimon 数据湖战役

接下来简单介绍一下阿里巴巴实践,Paimon 数据湖战役,以及究竟哪些业务能用于数据湖。

1. 阿里巴巴业务应用场景

下图是阿里内部业务的大致应用场景:Flink 流作业有 3 万+ Cu(不包括 Contributors、Stars 等计算)、300+ 作业、20+ 业务方,整体作业并不多,这和阿里降本增效有关,一个作业其实可能是十张甚至几十张表的计算,可以很好降低成本。

(1)业务

通过流式湖仓提升原有纯离线数据的时效性,但整体不会带来太大的成本增加;还有其他业务,如 CDC 入湖降低成本;经过 Z-Order 或索引构建,结合 StarRocks 这类 OLAP 引擎,能极大提升查询性能。

(2)进展

目前还仍处于初步阶段,后面最重要是继续整合内部计算系统和权限系统形成完整的数仓体验。

(3)收益

大幅降低实时化成本,达到流批一体化开发体验,也能解锁开放式的计算能力,能对接所有主流的计算引擎。

2. 统一湖存储:打通阿里云所有计算引擎

在统一湖存储上,怎么打通阿里云内部主流的计算引擎:Serverless Flink、Serverless Spark、MaxCompute、Hologres、Serverless StarRocks,有以下三点。

所有计算引擎打通 Paimon 达成 State-Of-Art 的性能,使所有的计算引擎/OLAP查询性能达到业界领先的计算性能。

结合 Flink 构建流批一体的 Streaming Lakehouse。可以在一套架构中,有 Paimon 统一湖格式的存储,灵活按照自己的业务选择不同的计算引擎来赋能,这也是这几年来业界的趋势。

目前还没有一套计算引擎能满足所有需求,在计算上的能力非常多。不管哪个计算引擎需要补全所有的其他的能力,都非常难。所以 Paimon 在此假设基础上,目的是打造统一的、可贡献的存储:在计算引擎和存储的交互当中,做到业界领先的水准。但是存储又拥有开放、基于对象存储的低成本优势,这样能解锁很多业务,按照不同需求使用不同的计算引擎。

3. Paimon 与 Serverless Flink

最后,是 Paimon 与 Serverless Flink 在产品上的融合。

首先是元数据管理, 以前 Flink 主流是基于 connector 的方式。但 Paimon 是面向 Catalog 的方式,这需要给 Flink 产品带来了使用上的优化。第二,查询脚本 Flink 产品+Paimon 着力提升了查询性能,以前是几十秒才返回,最新版本已优化到最小几秒返回查询。第三,CDC 入湖 Flink CDC 做了非常多的优化,在产品上有对应的方式。第四,包括作业运维,甚至除了流以外,Flink 产品都有一定的批处理能力。所以在 Flink 产品上也支持了工作流调度,支撑简单的数据回刷。长期来讲,Serverless Flink 和 Paimon往前发展,达到流批一体的开发与不断的构建。

4. Paimon 与 MaxCompute

接下来分享 Paimon 与 MC 的融合,核心是提供一套性能优异的读写集成方案,我们会把 Paimon 直接内置到MC计算引擎中,且集成MC的向量化读取,使查询性能有质的飞跃。

除了查询以外,在MC里面会支持 Paimon 写的能力,包括insert、override 以及分区的覆盖,这些典型的写入方式都会被支持。预计会在七月份发布。

5. 即刻体验阿里云上统一大数据湖格式

如果大家有兴趣,欢迎大家扫码进入 Paimon 的技术交流群,里面有很多的小伙伴讨论,也欢迎大家扫码参与体验阿里云上的 Flink+Paimon 的流批一体服务,我的分享就到这里,谢谢大家。


更多内容

img


活动推荐

阿里云基于 Apache Flink 构建的企业级产品-实时计算 Flink 版现开启活动:
新用户复制点击下方链接或者扫描二维码即可0元免费试用 Flink + Paimon
实时计算 Flink 版(3000CU*小时,3 个月内)
了解活动详情:https://free.aliyun.com/?pipCode=sc

0CA9E977-9C4C-4444-94B3-F01C0B8C891B.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
存储 算法 数据挖掘
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
本文介绍了2023年中国高校大数据挑战赛赛题B的Python实现方法,该赛题涉及DNA存储技术中的序列聚类与比对问题,包括错误率分析、序列聚类、拷贝数分布图的绘制以及比对模型的开发。
44 1
【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现
|
22天前
|
存储 消息中间件 运维
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
招联内部已有 40+ 个项目使用 Apache Doris ,拥有超百台集群节点,个别集群峰值 QPS 可达 10w+ 。通过应用 Doris ,招联金融在多场景中均有显著的收益,比如标签关联计算效率相较之前有 6 倍的提升,同等规模数据存储成本节省超 2/3,真正实现了降本提效。
招联金融基于 Apache Doris 数仓升级:单集群 QPS 超 10w,存储成本降低 70%
|
29天前
|
Rust Apache 对象存储
Apache Paimon V0.9最新进展
Apache Paimon V0.9 版本即将发布,此版本带来了多项新特性并解决了关键挑战。Paimon自2022年从Flink社区诞生以来迅速成长,已成为Apache顶级项目,并广泛应用于阿里集团内外的多家企业。
17508 13
Apache Paimon V0.9最新进展
|
15天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
61 11
|
23天前
|
分布式计算 大数据 Apache
跨越界限:当.NET遇上Apache Spark,大数据世界的新篇章如何谱写?
【8月更文挑战第28天】随着信息时代的发展,大数据已成为推动企业决策、科研与技术创新的关键力量。Apache Spark凭借其卓越的分布式计算能力和多功能数据处理特性,在大数据领域占据重要地位。然而,对于.NET开发者而言,如何在Spark生态中发挥自身优势成为一个新课题。为此,微软与Apache Spark社区共同推出了.NET for Apache Spark,使开发者能用C#、F#等语言编写Spark应用,不仅保留了Spark的强大功能,还融合了.NET的强类型系统、丰富库支持及良好跨平台能力,极大地降低了学习门槛并拓展了.NET的应用范围。
41 3
|
28天前
|
分布式计算 大数据 数据处理
Apache Spark的应用与优势:解锁大数据处理的无限潜能
【8月更文挑战第23天】Apache Spark以其卓越的性能、易用性、通用性、弹性与可扩展性以及丰富的生态系统,在大数据处理领域展现出了强大的竞争力和广泛的应用前景。随着大数据技术的不断发展和普及,Spark必将成为企业实现数字化转型和业务创新的重要工具。未来,我们有理由相信,Spark将继续引领大数据处理技术的发展潮流,为企业创造更大的价值。
|
1月前
|
存储 缓存 NoSQL
深入解析Memcached:内部机制、存储结构及在大数据中的应用
深入解析Memcached:内部机制、存储结构及在大数据中的应用
|
1月前
|
消息中间件 大数据 Kafka
"Apache Flink:重塑大数据实时处理新纪元,卓越性能与灵活性的实时数据流处理王者"
【8月更文挑战第10天】Apache Flink以卓越性能和高度灵活性在大数据实时处理领域崭露头角。它打破批处理与流处理的传统界限,采用统一模型处理有界和无界数据流,提升了开发效率和系统灵活性。Flink支持毫秒级低延迟处理,通过时间窗口、状态管理和自动并行化等关键技术确保高性能与可靠性。示例代码展示了如何使用Flink从Kafka读取实时数据并进行处理,简明扼要地呈现了Flink的强大能力。随着技术进步,Flink将在更多场景中提供高效可靠的解决方案,持续引领大数据实时处理的发展趋势。
69 7
|
1月前
|
存储 数据挖掘 数据处理
【破晓数据湖新时代!】巴别时代揭秘:Apache Paimon 打造 Streaming Lakehouse 的神奇之旅!
【8月更文挑战第9天】随着数据湖技术的发展,企业积极探索优化数据处理的新途径。Apache Paimon 作为一款高性能数据湖框架,支持流式与批处理,适用于实时数据分析。本文分享巴别时代使用 Paimon 构建 Streaming Lakehouse 的实践经验。Paimon 统一了数据存储与查询方式,对构建实时数据管道极具价值。
136 3
|
20天前
|
Java Spring API
Spring框架与GraphQL的史诗级碰撞:颠覆传统,重塑API开发的未来传奇!
【8月更文挑战第31天】《Spring框架与GraphQL:构建现代API》介绍了如何结合Spring框架与GraphQL构建高效、灵活的API。首先通过引入`spring-boot-starter-data-graphql`等依赖支持GraphQL,然后定义查询和类型,利用`@GraphQLQuery`等注解实现具体功能。Spring的依赖注入和事务管理进一步增强了GraphQL服务的能力。示例展示了从查询到突变的具体实现,证明了Spring与GraphQL结合的强大潜力,适合现代API设计与开发。
37 0

推荐镜像

更多