Paimon助力数据湖仓架构实时化升级

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本次分享由阿里云高级技术专家李劲松介绍Paimon助力数据湖仓架构实时化升级。内容涵盖四个部分:1) 数据架构的存储演进,介绍Data LakeHouse结合的优势;2) Paimon实时数据湖,强调其批流一体和高效处理能力;3) 数据湖的实时流式处理,展示Paimon在时效性提升上的应用;4) 数据湖非结构化处理,介绍Paimon对非结构化数据的支持及AI集成。Paimon通过优化存储格式和引入LSM技术,实现了更高效的实时数据处理和查询性能,广泛应用于阿里巴巴内部及各大公司,未来将进一步支持AI相关功能。

为什么发展Paimon,Paimon是为什么而诞生的以及现在Paimon使用的主要场景Paimon的格式区别于Iceberg、Hudi的独特之处是什么。分为四个部分。第一个部分是数据架构的存储演进,第二部分Paimon实时数据湖,做Paimon实时数据湖原因以及Paimon的发展,第三部分是数据湖,也是Paimon数据湖,它的实时流式处理相关的一个应用,它为什么能称为实时数据湖,到底加速什么第四个部分是数据湖上的Paimon的非结构化数据的思考,以及AI相关的集成

 

一、数据架构的存储演进

Data LakeHouseLake到Warehouse的完美结合。一般企业都有Data Warehouse,是一个非常强大的内部的分析系统,它能存储数据分析数据,但是它是相对封闭的,其中公司包括HivehadoopHDFS,甚至基于阿里云上的OSS开源体系,Build是更偏向于Data Lake 的东西它的基本含义是一个文件或者对象存储,可以存储任何你想要的任何东西。包括结构化数据非结构化数据json其中非结构化数据包括图片视频音频之类的数据,Data Lake一个非常通用的、非常粗糙的、非常底层的底层存储。


Data LakeHouse包括格式,希望在Data Lake上build出结构化的适合企业安全包括企业更结构化的SQL的一套处理的架构,希望结合Data LakeHouse的高性能处理安全包括权限系统也结合Data LakeHouse灵活的处理开放的体系,第一点Data LakeHouse如何Lake上的数据变得更像House目前主流的存储格式Hive,Hive对表的目录的管理,没有管理目录的内容,它只定义目录是属于这张表的,分区的目录是属于分区的,而对里面的文件没有任何的管理,用Hive是比较粗糙的类似于Data Lake 的使用方式,对它的写入只能是inser Overright,对它的读写入完全没有任何的保障,提供的是一个比较粗糙的读写,不符合Data LakeHouse的更进一步的发展,近几年诞生格式的东西,包括IcebergHudiDelta湖格式的东西,它通过文件的重新定义,把文件管理起来,管理的就不仅是一个目录,管目录下每一个文件,它通过slap sortmanifest file的机制把每个文件的引用管理起来,这张表就具有版本的效果,也具有更细粒度控制的效果。


举例说明把文件管起来之后ACID的能力,可以避免类似的目录,也可以有一些基于文件的data skipping的,也可以支撑delete update merge into细粒度的操作。最后也可以支持时间旅行包括回滚Branch Tag的能力。


整体上Data LakeHouse的House通过存储格式把Data LakeHouse上的数据变得更像House更易管理起来。这里有一个问题,如果只是这样的核心目标,需要把Hive非常简单的文件格式迁移到一个比较复杂的格式上,而格式比较复杂,包括IcebergHudi,Delta都有几十万行代码。如果仅仅是这些好处,从Hive迁移过来,面临可能有一些未知的bug。


Data LakeHouse不仅是右边的好处,它带来对业务的核心收益更多,让业务变得更加的实时,业务的时效性更好,Late flink Stream的技术能让数据时效性从天级到分钟级,甚至到秒级,第一个大的好处streaming实时,第二个好处数据湖拿到非结构化数据 半结构化数据的处理发现湖格式结构化的东西,其实和hive的结构化完全一模一样,数据湖只能分析结构化的数据,所以数据湖也需要非结构化的管理和机器学习的更进一步的结合。首先介绍Paimon,其次在实时化方面介绍一部分,最后在非结化机器学习方面介绍一部分

 

二、Paimon实时数据湖

Paimon实时数据湖的出发点Streaming实时数据湖格式上做Streaming的处理,Hive公开的每个引擎都能进行读写格式,它是一个非常open的格式,这里把它叫做shared database storage for batch processing在批处理上一个被所有计算引擎share的格式,Iceberg 包括Hudi ,Delta在Hive的基础上演化出来的更进一步的ACID的处理这里把Iceberg叫做shared databasestorage for batch processing,像数据仓库更像数据库的存储有更进一步的能力


Paimon出发点Iceberg基础上这些东西还不够,最大能给业务带来效果的streaming,实时化,时效性。所以Paimon不仅是batch processing包括batch processing streaming processionolap processing,所以它是结合湖格式加LSM技术把时效性带到数据湖


Paimon的生态体系结构已经非常的广,底下基于HDVS,OSS或者stream的存储介质在上面基于文件的格式ORC包括阿里的ORCparquet在上面build一个非常丰富的生态体系,可以看到左边是CDCingest各种数据源入湖到Paimon中,并且社区提供非常方便的入湖工具,右边是它支持各种各样的sacred query的computer engine,包括Flink流的,Flink包括批的Spark StarRocks,包括一系列的社区的计算引擎,最新的版本提出Paimon Python API,通过Paimon Python API解锁机器学习来自包括ragPython一系列的生态包括通过error格式的转换。支撑包括pandas之类的计算框架。


简单介绍Paimon发展历程。Paimon是做湖上的实时化处理,所以它从Flink社区诞生的。它最开始的名字叫Flink Table store去年的三月份正式从Flink当中剥离出来,单独发展成为单独的项目进入Apache的孵化器孵化,到今年三月份正式毕业,成为独立的顶级项目。这也标志Paimon不仅是一个Flink存储,它是一个通用公开被共享的湖格式对接的包括Flink流计算Spark StarRocks等一系列的引擎,预计在11月份发布1.0版本,预计Paimon在批在流Olap已经达到非常完善的程度,在1.0当中会引入来自AI相关的集成,让Paimon成为真正能处理非结构化数据的数据湖格式。


今年是Paimon诞生以来发展最快的一年。2022年诞生到23年,24年的孵化到24年在阿里巴巴集团内大规模应用,包括来自中国各大公司的应用非常迅速的发展,最新Paimon发布0.9版本是一个功能非常完善的一个版本,补充完善缺陷futures,并且核心增强了包括victor 组件化letive的查询对接来自StarRocksC++的查询也兼容Spark生态,可以通过Spark生态查询Paimon的数据,最后优化对象存储的文件包括文件缓存 文件格式经过几个版本的迭代,Paimon在阿里云上的性能表现非常具有竞争力,本页PPT包括流更新流上的处理批上的处理,可以看出Paimon在目前阿里云支持的格式当中具有非常领先的性能,具有非常竞争力的性能表现。三个格式在阿里云上经过一定的优化,Paimon在阿里云上投入是最大的,也是优化的最多

 

三、数据湖实时流式处理

第三部分是数据湖的实时流式处理,也介绍Paimon相关的streaming应用实时流式处理让业务的时效性加强,从天级的时效性降低到分钟级。基于Paimon数据湖的VP的处理,成本不会增加特别多。成本可控的情况下,时效性增加,时延降低,整体呈现出一套批流完全一体的存储计算架构。以前用Kafka中间来做流处理因为Kafka不可查,所以anyway最后需要可以查询的引擎,比如需要把数据写到StarRocks上,StarRocks才可查。但Paimon这套架构完全不一样Paimon作为一个湖格式,它是可以批写批读,也可以流写流读它把整条streaming链路建立起来,每一层都实时可查。架构能做到完全的流批一体,整套架构在阿里巴巴内部淘天集团非常迅猛的一个推进当中,已经迁移很多业务到这套架构上,发现整体的实时的成本降低,然后流批完全一体,业务开发效率得到非常大的提升,不是流批割裂的两套架构。


Paimon的能力有三个,第一个是它可以支持更新的数据入湖。第二个特性是能流读流写。流读流写不是简单的把数据流读流写可以给Paimon声明一张图组件表,组件表就可以表现的像MYSQL也可以实时的流式的更新数据,组件表也能实时的产生Change log给下游的消费,能做到非常准确的类似number架构,CPA架构因为它是基于存储来产生Change log,它能做到最正确的计算,所以在很多场景当中,它能做到流一份数据沉淀下来,不用批写批读,做批的刷新。最后一个场景每一层都是可以被包括StarRocks包括Spark引擎实时查询。Paimon针对这些引擎做非常多的优化,能保证查询性能不弱于正常的批查询。


接下来展开讲三个场景,第一个场景就数据CDC入,可以通过Flink CDC,各种connector包括mysql CDC包括mongo DB的CDC包括OCEANBASE一系列的CDC的能力。用Paimon包括社区Paimon提供的Paimon CDC的入湖方式,可以用最新的一个Flink CDC 3.1基于young的入湖方式定义数据集成的数据传输的脚本链路。包括商业化也做来自Kafka数据CDC的入湖可以通过Kafka的入湖享受到整个流式入湖全自动,schema evolution schema跟着变来自源头的数据schema变,下面的Paimon表的schema也跟着变,也可以用类似整库同步的能力进一步节省资源,降低运维难度。第二个是湖上的全链路流式ETL,定义Paimon的merge engine,可以定义partial-update也可以定义Aggregation的merge engine。基于把计算存入到存储的技术,目前在最新的版本当中已经逐渐成熟,也可以通过Paimon取代类似join的部分列更新,也可以基于Paimon定义聚合表,整体写入Paimon后定义Paimon merge engine之后也可以定义Change log producer让Paimon表实时的产生Change log,但是产生的Change log是需要不小的代价。


整体湖格式的流读已经非常成熟,在商业化包括内部沉淀大量的case。流写流读基于Paimon做计算的替代,在后面的版本当中,会进一步来降低文件的cost包括Change log合并 生命周期等最后湖上的Olap的加速,分为两个部分,第一个部分是实时数据的Olap。可以定义一个组件表,它接受上游数据的实时更新。实时更新的过程当中,可以通过StarRocks类似的引擎实时的查询所以在社区推出一个组件表的deletion victor模式,基于deletion victor模式,它可以让存储本身和c++向量化更好的集成,可以让查询性能得到数倍的提升,在社区也有很多离线数据的Olap离线数据直接Olap可能会扫描全表的数据,Paimon也支持对离线数据做z-order排序。做z-order排序之后,在查询的时候就可以基于排序的range过滤大量的文件,Paimon在社区有文件索引。通用文件索引支持Bloom Filter,也支持最新的Bitmap进一步过滤不需要的文件。加强Olap的性能。

 

四、数据湖非结构化处理

最后是数据湖的非结构化处理,接触到数据湖格式之后,会发现数据湖是一个结构化的处理,它是一个表,需要定义字段不是结构化处理很难把视频 图片 大文件塞进去所以Paimon在最新的版本当中也会推出Paimon object Table,希望通过Object Table管理非简化的数据,包括在OOS或者HDFS上的图片视频文件音频之类的文件。做到管理就不能把这些数据都重新读一遍放到Paimon当中,Object Table方式通过一个视图不操作这些文件,相当于是在后台建立文件的索引。把这些文件的原数据写到数据湖当中,通过这样的结构化视图就可以查询到Object Table,对一个目录或者多个目录的原数据的映射。拿到这些原数据之后就可以通过包括pySpark Flink SQL Spark SQL 等,通过这种结构化的处理读表知道有哪些文件,这些文件的文件大小可以做一些过滤,也可以把这些文件读出来做一些处理,所以通过这样的方式把非结构化结构化的SQL的处理,或者结构化的计算引擎的处理结合到一起让整个结构化的处理更简单。Lopython也可以做到,但享受不到计算引擎的SparkFlink分布式计算引擎的好处。通过这套结构化管理,可以把这些非结构化的数据通过结构化的方式管理起来,包括权限管理对接到正常的数仓的权限管理当中。刚才是Spark的图片处理在Flink当中,在SQL当中也支持Model的一些处理包括Model的预测,案例是假如根据training数据训练出Model,可以在Flink SQL中定义Model,然后也可以在SQL中定Object Table映射到目录中的文件,通过纯SQL的调用,通过Model预测针对object数据做预测,通过纯SQL的方式产出一个模型预测数据处理的效果。这套链路只能通过包括python ray相关的计算引擎才能达到的效果。通过Paimon的object table的方式可以把这套体系融入到SQL的处理当中,融入到传统的大数据计算的分布式处理当中,是案例的简单的SQL处理,可以create Model,create object table,通过predict模型预测的函数做模型的预测处理


Paimon可以管Model,包括非结构化数据SQL的结构化处理模型预测也可以得到结果,整个非结构化数据得到数据版本和管理,从而可以得到学员的依赖管理。也可以把结果数据和其他结构化数据进行join,以及进行联合的计算。

 

 

相关实践学习
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
相关文章
|
23天前
|
机器学习/深度学习 编解码 人工智能
超越Transformer,全面升级!MIT等华人团队发布通用时序TimeMixer++架构,8项任务全面领先
一支由麻省理工学院、香港科技大学(广州)、浙江大学和格里菲斯大学的华人研究团队,开发了名为TimeMixer++的时间序列分析模型。该模型在8项任务中超越现有技术,通过多尺度时间图像转换、双轴注意力机制和多尺度多分辨率混合等技术,实现了性能的显著提升。论文已发布于arXiv。
143 83
|
2月前
|
人工智能 Cloud Native 算法
|
3月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
162 12
|
2月前
|
分布式计算 大数据 Apache
Apache Spark & Paimon Meetup · 北京站,助力 LakeHouse 架构生产落地
2024年11月15日13:30北京市朝阳区阿里中心-望京A座-05F,阿里云 EMR 技术团队联合 Apache Paimon 社区举办 Apache Spark & Paimon meetup,助力企业 LakeHouse 架构生产落地”线下 meetup,欢迎报名参加!
110 3
|
2月前
|
机器学习/深度学习 存储 人工智能
政务部门人工智能OCR智能化升级:3大技术架构与4项核心功能解析
本项目针对政务服务数字化需求,建设智能文档处理平台,利用OCR、信息抽取和深度学习技术,实现文件自动解析、分类、比对与审核,提升效率与准确性。平台强调本地部署,确保数据安全,解决低质量扫描件、复杂表格等痛点,降低人工成本与错误率,助力智慧政务发展。
|
3月前
|
存储 数据挖掘 数据处理
Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析
【10月更文挑战第8天】随着数据湖技术的发展,越来越多企业开始利用这一技术优化数据处理。Apache Paimon 是一款高性能的数据湖框架,支持流式和批处理,适用于实时数据分析。本文分享了巴别时代在构建基于 Paimon 的 Streaming Lakehouse 的探索和实践经验,包括示例代码和实际应用中的优势与挑战。
132 1
|
3月前
|
存储 消息中间件 运维
架构升级的救星!流量回放自动化测试的必备指南
大家好,我是小米,一名29岁的技术宅。今天分享一个物联网领域的实用技能——流量回放自动化测试。系统重构后,测试工作量巨大,本文介绍如何通过日志收集和数据回放进行自动化测试,包括离线、实时和并行回放模式,帮助快速定位Bug,提升测试效率和系统稳定性。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
66 3
|
3月前
|
存储 SQL 缓存
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
从 3.0 系列版本开始,Apache Doris 开始支持存算分离模式,用户可以在集群部署时选择采用存算一体模式或存算分离模式。基于云原生存算分离的架构,用户可以通过多计算集群实现查询负载间的物理隔离以及读写负载隔离,并借助对象存储或 HDFS 等低成本的共享存储系统来大幅降低存储成本。
Apache Doris 3.0 里程碑版本|存算分离架构升级、湖仓一体再进化
|
8月前
|
存储 SQL 分布式计算
基于Apache Hudi + MinIO 构建流式数据湖
基于Apache Hudi + MinIO 构建流式数据湖
282 1
|
3天前
|
存储 SQL 大数据
从数据存储到分析:构建高效开源数据湖仓解决方案
今年开源大数据迈向湖仓一体(Lake House)时代,重点介绍Open Lake解决方案。该方案基于云原生架构,兼容开源生态,提供开箱即用的数据湖仓产品。其核心优势在于统一数据管理和存储,支持实时与批处理分析,打破多计算产品的数据壁垒。通过阿里云的Data Lake Formation和Apache Paimon等技术,用户可高效搭建、管理并分析大规模数据,实现BI和AI融合,满足多样化数据分析需求。