ToB企服应用市场:ToB评测及商务社交产业平台

标题: Apache Paimon-实时数据湖 [打印本页]

作者: 写过一篇    时间: 2025-1-7 22:39
标题: Apache Paimon-实时数据湖
一、Apache Paimon是什么?

         Flink社区盼望能够将 Flink 的 Streaming 实时盘算本领和 Lakehouse 新架构优势进一步结合,推出新一代的 Streaming Lakehouse 技术,促进数据在数据湖上真正实时活动起来,并为用户提供实时离线一体化的开发体验。
        Flink 社区内部孵化了 Flink Table Store (简称 FTS )子项目,一个真正面向 Streaming 以及 Realtime的数据湖存储项目。
        2023年3月12日,FTS进入 Apache 软件基金会 (ASF) 的孵化器,改名为 Apache Paimon (incubating)。
        简朴来说,Apache Paimon是一个流数据湖平台,兼容Apach Flink、Spark等主流盘算引擎,支持流批一体处置惩罚、快速查询和性能优化,具有高速数据摄取、变更日志跟踪和高效的实时分析的本领。
        如今,24年已经在阿里巴巴团体内大规模应用,如今更新到1.0版本。
官网介绍
Apache Paimon 是一种 Lake 格式,支持使用 Flink 和 Spark 构建实时 Lakehouse 架构,用于流式和批处置惩罚操纵。Paimon 创新性地结合了 Lake 格式和 LSM(日志结构归并树)结构,将实时流式更新引入 Lake 架构。
Paimon 提供以下核心功能:

官网:https://paimon.apache.org/ 
Github:https://github.com/apache/incubator2、文件-paimon

二、Apache Paimon原理

1、底层存储

        Paimon采用LSM树(日志结构归并树)作为文件存储的数据结构,LSM树将文件组织成多个Sorted Run,Sorted Run由一个或多个数据文件构成,并且每个数据文件只属于一个Sorted Run。
        写入LSM树的新记录将首先缓存在内存中。当内存缓冲区满时,内存中的所有记录将被排序并刷新到磁盘。
        查询LSM树时,必须归并所有Sorted Run。当越来越多的记录写入LSM树时,Sorted Run的数量将会增加。由于查询LSM树需要将所有Sorted Run归并起来,太多Sorted Run将导致查询性能较差,乃至内存不敷。为了限制Sorted Run的数量,我们必须偶然将多个Sorted Run归并为一个大的Sorted Run。这个过程称为Compaction
        但是过于频仍的Compaction可能会导致写入速度变慢,这是查询和写入性能之间的衡量。


2、文件管理

        一张表的所​​有文件都存储在一个基本目录下。Paimon 文件采用分层的方式组织。下图说明了文件布局。从快照文件开始,Paimon 读取器可以递归访问表中的所有记录。

2.1 Snapshot(快照文件)

        所有快照文件都存储在snapshot目录中。
        快照文件是一个 JSON 文件,改文件包罗了:

快照可以捕捉表在某个时间点的状态。用户可以通过最新的快照访问表的最新数据。通过时间旅行,用户还可以通过较早的快照访问表的先前状态。
--->雷同Hadoop中的镜像文件和编辑日志
2.2 Manifest Files(清单文件)


        所有的清单列表(manifest list)和清单文件(manifest file)都存储在manifest目录中。
        清单列表(manifest list)是清单文件名(manifest file)的列表。
        清单文件(manifest list)是包罗有关 LSM 数据文件和变更日志文件的变更的文件。例如,在相应的快照中创建了哪个 LSM 数据文件以及删除了哪个文件。
2.3 DataFile(数据文件)

        数据文件按分区分组。如今,Paimon 支持使用 parquet(默认)、orc 和 avro 作为数据文件的格式。(avro是行存储、parquet和orc是列存储)
2.4 Partition(分区)

        Paimon 采用与 Apache Hive 雷同的分区概念来分离数据。分区是一种可选方法,可根据日期、城市和部门等特定列的值将表划分为相干部门。每个表可以有一个或多个分区键来标识特定分区。通过分区,用户可以有用地对表中的一段记录进行操纵。
2.5 一致性保证

        Paimon 写入器使用两阶段提交协议,以原子情势将一批记录提交到表中。每次提交在提交时最多产生两个快照。这取决于增量写入和压缩战略。如果仅实行增量写入而不触发压缩操纵,则只会创建增量快照。如果触发了压缩操纵,则会创建增量快照和压缩快照。
        对于同时修改表的任何两个writer,只要他们不修改同一个分区,他们的提交就可以并行发生。如果他们修改同一个分区,则只能保证快照隔离。也就是说,最终的表状态可能是两次提交的混合,但不会丢失任何更改。有关更多信息,请参阅专用压缩作业。

总结:Paimon通过LSM树(日志结构归并树)和列式存储格式(parquet/orc)实现高查询。

3、重要应用场景

3.1 Flink CDC将数据引入数据湖

        Paimon对此进行优化,可以一键摄取整个数据库,引入数据湖,大大降低了架构的复杂性,同时还提供灵活的更新选项,允许应用特定列或不消类型的聚合更新。(支持更新的数据入湖
3.2 构建流式数据管道

        PAIMON可用于构建完整的流式数据管道,其重要功能包括:天生ChangeLog,允许流式读取访问完全更新的记录,从而更轻松地构建强大的流式数据管道。
        PAIMON也正在发展为具有消费者机制的消息队列。最新版本引入了变更日志的生命周期管理,可让用户界说它们的保存时间,雷同于 Kafka(例如,日志可以存储七天或更长时间)。这创建了一个轻量级、低本钱的流媒体管道解决方案。        
3.3 超快速OLAP查询

        虽然前两个用例可确保实时数据流,但 PAIMON还支持高速 OLAP 查询来分析存储的数据。通过结合LSM和Index,PAIMON 可以实现快速数据分析。其生态系统支持Flink、Spark、StarRocks、Trino等多种查询引擎,都可以高效查询PAIMON中存储的数据。

4、实践案例

案例一:提拔实时数据分析效率
问题描述:一家全球大型零售客户,其面临的挑战是如何在门店和电商平台并行的人群中进行实时的用户行为分析和个性化保举。传统的数据分析架构下,系统无法高效处置惩罚大规模实时数据,导致用户体验不佳,保举系统延迟高。
解决方案:通过引入Apache PAIMON,实时同步用户的购物行为和库存数据,结合Flink进行流式数据处置惩罚,客户能够基于最新数据天生个性化保举。这不仅提拔了用户的购物体验,还降低了基础设施本钱。

案例二:构建可靠的实时业务监控
问题描述:一家零售客户,其供应链管理系统随着业务规模扩展和复杂性增加,运营与流程管理部门亟需实现对各类业务流程的实时监控,以确保流程的稳定性与高效性。然而,现有系统架构仅支持离线数据,无法满意实时业务需求。
解决方案:通过引入PAIMON数据湖,基于Aliyun EMR + OSS构建了一个实时数据湖。该系统通过Flink和Flink CDC实时收集多个数据源的数据,结合OSS对象存储,确保了数据的可查询性和分层复用。同时在分析层结合Doris,解决了OLAP分析时效性低的问题,提高了报表和监控系统的时效性。
--案例来自Artefact

三、Paimon和Flink神魔关系

        Paimon是做湖上的实时化处置惩罚,所以他是从Flink社区诞生的,是一种流批同一的数据湖存储格式,他能够与Flink紧密配合,实现实时数据湖。为了更好的相识Paimon,我们要求清楚其他的存储格式Iceberg、Hudi是什么,和Paimon有什么关系。

Apache Hudi、Apache Iceberg 、Apache Paimon都是面向大数据湖表格式存储管理框架

四、Paimon的好处

解决Kafka不可查的问题:从前使用Kafka做中间件来进行流处置惩罚,但是kafka是不可查的,所以最后还需要一个可以查询的引擎,好比把数据写入StarRocks上进行查询。但是Paimon作为一个湖格式,可以批写批读,也可以流写流读,它把整条streaming链路创建起来,每一层都是事实可查的,架构能够完全实现流批一体。
支持更新的数据入湖: 通过FlinkCDC,可以一键摄取整个数据库,引入数据湖,大大降低了架构的复杂性,同时还提供灵活的更新选项,允许应用特定列或不消类型的聚合更新。







参考文章:
流数据湖平台Apache Paimon(一)概述-阿里云开发者社区
Apache PAIMON:实时数据湖技术框架及实在践
【全网首发】Apache Paimon大厂面试必备系列-基础篇
Apache Paimon大厂面试题必备-进阶篇(一)
Paimon助力数据湖仓架构实时化升级-阿里云开发者社区
Flink+Paimon实时数据湖仓实践分享-CSDN博客
数据湖Iceberg、Hudi和Paimon比较_apache paimon-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4