Hologres+Paimon构建一体化实时湖仓

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: Hologres 3.0全新升级,面向未来的一体化实时湖仓。它支持多种Table Format,提供湖仓存储、多模式计算、分析服务和Data+AI一体的能力。Hologres与Paimon结合,实现统一元数据管理、极速查询性能、增量消费及ETL功能。Dynamic Table支持流式、增量和全量三种刷新模式,满足不同业务需求,实现一份数据、一份SQL、一份计算的多模式刷新。该架构适用于高时效性要求的场景,也可用于成本敏感的数据共享场景。

一、Hologres 3.0全新升级:面向未来的一体化实时湖仓

首先讲解Data Warehouse。从上世纪80年代开始,最初做数仓是为了服务报表BI的平台,随着数据湖的技术兴起,会有更多非结构化的数据放到数据湖里面,这些都会围绕对象存储展开,相比数据仓库,数据湖可以更灵活的、更方便的存储半结构化和非结优化数据,随着技术的发展,现在更多的技术讲究的是湖仓融合Big House,Hologres在传统的实时数仓向实时湖仓进行转型,Hologres从2016年诞生至今,在2020年开始商业化推出1.0版本,当初推出HSAP实施分析服务一体化的概念,在去年推出Hologres 2.0,主打serverless的场景,今天发布Hologres 3.0的版本,全面拥抱数据湖的生态,提供一体化实时湖仓的产品能力。


Hologres的一体化实时湖仓主要体现在四个方面。首先是湖仓存储一体,现在支持多种的湖上的Table Format,包括常见的Paimom、Hudi 等,其次是多模式计算一体,推出Dynamic Table,一份数据和一套SQL计算,自动去实现图上的仓上的分层,其次是分析服务一体,不仅擅长于OLAP的分析场景,也擅长于分析的Serving的场景Hbase的场景,最后是Data+AI一体,后面topic会着重放在湖仓一体的上面。

 

 

二、Hologres+Paimon构建一体化实时湖仓

Hologres和Paimon一起能做什么?Paimon在数据入湖的场景上集成很多核心能力,比如说它支持一键数据入湖实时的更新部分列的更新,还有多种灵活的更新聚合的更新。其次Paimon有别于其他的市面上Table Format,它提供Change log特性有助于Paimon实现实时数据湖的构建,真正的由上游的系统消费change log构建分层。第三个就是极速的OLAP查询,Paimon有很多适合OLAP查询的特性,包括它的Catalog cash以及丰富的索引。Hologres和Paimon在一起可以很好支撑在整个湖仓中的所有的环节。首先对于OLAP分析层,Hologres可以有效的加速流式的读取批量的读取以及维度的读取,Hologres都可以有效的支撑在整个湖仓环节上的CDC入湖、宽表合并、流批一体、生成Change log的场景以及索引优化的场景


简单总结Paimon+Hologres能够实现的核心特性。首先是统一原数据,Hologres在最新版本提出External Database的能力,在Hologres中可以统一的新增删除,或者做Schema change Paimon Table的能力,其次是极速的查询性能,对于Paimon的索引是有能够集成,支持c++直读,实现毫秒级的返回。其次是增量消费的能力,Hologres是市面上唯一款能够消费Paimon Changelog的OLAP引擎,可以基于流失的构建或者增量构建Paimon Table,实现数仓的分层。最后是ETL,Hologres现在可以有效的写Paimon的数据、Paimon的表,对于历史数据可以回刷回Paimon,做一些轻量的ETL。


首先是External Database的能力,可以看到在整个过程中,只需要就是great exchange all data base,就可以映射到原数据存储系统里面,其次是由于PG本身原生的就是三层的结构,所以PG的External Database可以直接被传统的AI工具读到,比如原生和BI工具做支持,不用去改任何SQL可以全身的使用。第三件是ETL,可以直接利用c++能力直接写到数据湖上用Paimon格式,用Sburg格式等,最后Paimon的Changelog构建Dynamic Table,这张图是做的一个简单的标准的TPCH的benchmark,分别用Trino42的版本读Paimon以及Hologres 3.0的版本读Paimon,可以看到蓝色的柱子是Trino的performance,红色的柱子是Hologres 3.0的performance可以看到在标准的TPCH测试集上,Hologres相比Trino有六倍以上的性能提升,总结为比如Trino消费Paimon的performance是一个base,用外表查询得益于包括比如c++直读HQE的向量化执行引擎,Paimon的索引的利用 多级缓存,会有六倍的性能提升。如果用Dynamic Table进入Hologres的内表,应该会有十倍以上的性能提升。

 

 

三、Hologres Dynamic Table+Paimon

再来展开讲Dynamic Table和Paimon的结合,实际观察中发现数仓往往会用三种模式实现。首先是常见的Flink和Kafka做配合,数据写到Kafka里面,在Kafka里面做数仓分层,用Spark Streaming或者是Flink去做,这种优点分层结构清晰,在实时数仓里面可以实现分层,缺点就是Kafka并不易于排查和修正,从里面查出一条数据也不易于修正。第二个方式就是数据实时入湖,做一些分钟级的调度实现数仓分层,优点是成本相对来说会更低一些,但是延迟高时效性比较低,不容易满足一些实质性的需求,第三个方式就是用户化视图,主要优点是加工更加简单,它的刷新方式本质上还是全量刷新,无论是by partition的刷新还是整表的刷新,会利用更多的资源做物化视图。


三种方案各家都会提出自己的一些解决方式,比如常见的就是最早 Spark和Spark streaming就提出用同一套SQL解决流式和批量的这两种场景。这种数据对于分析类的场景,写入比如像stories或者click house产品,对于服务类的场景写入Hbase场景,Flink写入Hologres分析服务一体化的对上层提供服务,但这种方式的优点就是统一SQL的语法和方言,降低整个开发的门槛和成本。但是缺点是存储层并不统一。它始终需要有两个任务完成批量和流失的数据的刷新,有可能会造成SQL统计口径上的不统一。但同时它只能做实时或者是批量的,它无法做净实时增量的刷新,同时针对之前提到的方案一。Hologres和Flink之前也推出过Streaming Warehouse的架构,Flink通过消费Hologres的Binlog,加工之后再写回Hologres,有效的解决中间层用Kafka出现问题,比如数据不易更新,数据不易查不易修正的一些问题,每一层都可查可修正,且中间层不仅能够提供Flink消费,也可以让用户直接查,这种方案逐渐成为一个实时全仓的标准方案。


湖仓的方案在哪里,如果要提供一个好的一体化实时湖仓,大概要具备这六点能力,分别是统一的数据模型,流式批量和全量都应该有同样的模型支撑。同时有共享的处理逻辑存储逻辑,不需要用两套SQL解决不同的问题,要有灵活的计算引擎统一的存储,不能流时的是一个存储,批量的是一个存储,实时的是一个存储。其次是生命周期的统一管理,以及低延时和高吞吐量的需求。在这种背景下,Hologres在计算层给出了一份答案,叫做Hologres Dynamic Table多模式统一计算,支持一份数据,一份SQL,一份计算,解决实时湖仓上的分层问题,它支持流式、增量 全量三种刷新模式,分别应对不同的时效性和所需的成本。全量模式的成本较低,时效性最低,它更适合固定报表的场景和历史回刷数据的场景,对于增量模式成本适中,时效性大概是在分钟级别,它的成本也更加适中,比较适合近实时的数据分析的场景,最后其实是流时模式,它的成本是最高的,时效性也是最高的,适合实时数据分析 风控 直播 电商场景,Dynamic Table使用的时候整个引擎保证三种模式的SQL语义一致,计算逻辑尽量的复用,计算层统一,声明式数据处理架构自动的管理整个数据的pipeline。Hologres本身是具备统一存储的,是统一的存储层,无需配置额外的资源,可按需选择,在数据刷新上,可以选择用本实例的资源。也可以选择按量付费的Services Computing的资源进行刷新,最后对于资源管理层能达到真正的统一。


最后全量刷新模式相比于其他的OLAP产品做自适应的和AGG的场景,会更多的融入分层或者retry的方式,更好做批的场景。实际如何建一张Dynamic Table,一张Danamic Table会分成以下几个部分。比如一张销售的报表,它是一张分区表,每天都会有一个分区,它会分为四个主要的部分,第一个部分是定义最新的分区的刷新模式,以及它的刷新频次和刷新周期,对于Streaming的模式不用定义,对于增量的模式和全量的模式都可以定义自动的刷新周期,比如定义一个最新分区用增量的模式去刷新,且每五分钟刷新一次,按天分区,下面的一部分是定义什么时候创建新的分区,且什么时候把历史分区转换为全量的刷新模式,比如设置是到每天晚上转成批量的刷新模式,再下一部分是这张表的索引,比如分布按照什么分辨,最后一部分就是SQL的生成逻辑,它是按照什么样的业务的逻辑生成这张DynamicTable的。可以看到三种不同的刷新模式,在流时的时候它refresh mode。在不同的场景下,只要改refresh mode就可以定义不同的刷新模式,提供不同的时效性和不同的成本,真正实现一份数据,一份SQL,一份计算多模式刷新,满足业务不同的对于时效性和成本的需求。在这种湖仓上,对于base表和尾表都可以用湖上的表,比如Open Lake ODS点,这个淘宝的数据就是存在湖上的,用的Paimon的格式,这里面是Streaming的刷新模式,在消费Paimon的Change log,播放一个demo。这个场景是主要演示这部分的能力。这个数据通过Flink实时的进入OpenLake的存储,用Paimon的表格去存储,打开它的ChangedLog。在Hologres里面用Dynamic Table做输出分层,最后会拿DynamicTable部分的数据写OpenLake,这些数据再用不同的引擎,比如Max Computer Spark或者Flink,做一些消费或者二次计算。


第一个步骤创建External Database做映射,其次在Hologres里面创建一个DLF里面的Database,这个部分创建之后,在DLF已经可以看到Database出现,同时在Hologres里面创建一张Paimon的表,刷新一下,发现在DLF里面也已经出现,在Hologres里面可以做统一的原数据管理,在一套系统里面实现多个存储的这些管理。


其次第二个步骤,其实更多讲的是DynamicTable部分,首先可以直接查湖上的表。发现它是半结构化的数据,依托于post grapes强大的半结构化数据处理的原生支持的函数。可以把它转成结构化。可以看到半结构化的jason给它拆开,同时可以做一些分析,在Data works的上面发现数据是可以要的,希望它能够持久化的构建中间的DWD层,就可以用DynamicTable方式。首先可以做一个incremental的增量的Dynamic Table,主动刷新一下,就可以看到数据在构建。可以设置Schedule,如果对它的时效性要求更高,可以通过同样的数据和SQL,用不一样的Reformation mode,现在可以用Streaming的方式进行构建,刷新发现这个数据其实是在变化的。


最后一个部分是可以把Hologres的数据通过SQL直接就回到图上,比如现在先创建一张Paimon表,用于回写,比如把这段时间的数据回写归档到湖上,通过一个SQL就可以写回去,这份数据就可以分享给Spark,用Spark读原生的panels的函数。也可以在Max Compute里面读这份数据。这都是原生一致的


最后回顾架构,一共有两种模式。如果对于业务的时效性、查询性能要求是更极致的,追求更高的,可以利用全仓架构,中间可以Dynamic Table的能力做数仓的分层。对于数据的时效性和查询能力。相对来说要求没有那么高,但是对于数据的共享能力和Ods层DWD层的数据的共性的成本会更care的话,可以选择用湖仓的架构,把ODS层和DWD层的数据更多的放在湖上做一体化的实时湖仓的架构。

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
2月前
|
机器学习/深度学习 算法 大数据
构建数据中台,为什么“湖仓一体”成了大厂标配?
在大数据时代,数据湖与数据仓库各具优势,但单一架构难以应对复杂业务需求。湖仓一体通过融合数据湖的灵活性与数据仓的规范性,实现数据分层治理、统一调度,既能承载海量多源数据,又能支撑高效分析决策,成为企业构建数据中台、推动智能化转型的关键路径。
|
5月前
|
存储 消息中间件 OLAP
基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路
本文整理自淘天集团高级数据开发工程师朱奥在Flink Forward Asia 2024的分享,围绕实时数仓优化展开。内容涵盖项目背景、核心策略、解决方案、项目价值及未来计划五部分。通过引入Paimon和Hologres技术,解决当前流批存储不统一、实时数据可见性差等痛点,实现流批一体存储与高效近实时数据加工。项目显著提升了数据时效性和开发运维效率,降低了使用门槛与成本,并规划未来在集团内推广湖仓一体架构,探索更多技术创新场景。
1205 3
基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路
|
5月前
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
6月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
485 17
|
1月前
|
存储 JSON 数据处理
Flink基于Paimon的实时湖仓解决方案的演进
本文源自Apache CommunityOverCode Asia 2025,阿里云专家苏轩楠分享Flink与Paimon构建实时湖仓的演进实践。深度解析Variant数据类型、Lookup Join优化等关键技术,提升半结构化数据处理效率与系统可扩展性,推动实时湖仓在生产环境的高效落地。
196 0
Flink基于Paimon的实时湖仓解决方案的演进
|
1月前
|
存储 人工智能 监控
淘宝闪购基于Flink&Paimon的Lakehouse生产实践:从实时数仓到湖仓一体化的演进之路
本文整理自淘宝闪购(饿了么)大数据架构师王沛斌在 Flink Forward Asia 2025 上海站的分享,深度解析其基于 Apache Flink 与 Paimon 的 Lakehouse 架构演进与落地实践,涵盖实时数仓发展、技术选型、平台建设及未来展望。
271 0
淘宝闪购基于Flink&Paimon的Lakehouse生产实践:从实时数仓到湖仓一体化的演进之路
|
3月前
|
分布式计算 Serverless OLAP
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
Hologres推出Serverless型实例,支持按需计费、无需独享资源,适合新业务探索分析。高性能查询内表及MaxCompute/OSS外表,弹性扩展至512CU,性能媲美主流开源产品。新增Dynamic Table升级、直读架构优化及ChatBI解决方案,助力高效数据分析。
实时数仓Hologres V3.1版本发布,Serverless型实例从零开始构建OLAP系统
|
3月前
|
SQL DataWorks 关系型数据库
DataWorks+Hologres:打造企业级实时数仓与高效OLAP分析平台
本方案基于阿里云DataWorks与实时数仓Hologres,实现数据库RDS数据实时同步至Hologres,并通过Hologres高性能OLAP分析能力,完成一站式实时数据分析。DataWorks提供全链路数据集成与治理,Hologres支持实时写入与极速查询,二者深度融合构建离在线一体化数仓,助力企业加速数字化升级。
|
3月前
|
存储 SQL 分布式计算
MaxCompute x 聚水潭:基于近实时数仓解决方案构建统一增全量一体化数据链路
聚水潭作为中国领先的电商SaaS ERP服务商,致力于为88,400+客户提供全链路数字化解决方案。其核心ERP产品助力企业实现数据驱动的智能决策。为应对业务扩展带来的数据处理挑战,聚水潭采用MaxCompute近实时数仓Delta Table方案,有效提升数据新鲜度和计算效率,提效比例超200%,资源消耗显著降低。未来,聚水潭将进一步优化数据链路,结合MaxQA实现实时分析,赋能商家快速响应市场变化。
163 0
|
6月前
|
自然语言处理 安全 数据挖掘
Hologres+函数计算+Qwen3,对接MCP构建企业级数据分析 Agent
本文介绍了通过阿里云Hologres、函数计算FC和通义千问Qwen3构建企业级数据分析Agent的解决方案。大模型在数据分析中潜力巨大,但面临实时数据接入与跨系统整合等挑战。MCP(模型上下文协议)提供标准化接口,实现AI模型与外部资源解耦。方案利用SSE模式连接,具备高实时性、良好解耦性和轻量级特性。Hologres作为高性能实时数仓,支持多源数据毫秒级接入与分析;函数计算FC以Serverless模式部署,弹性扩缩降低成本;Qwen3则具备强大的推理与多语言能力。用户可通过ModelScope的MCP Playground快速体验,结合TPC-H样例数据完成复杂查询任务。

相关产品

  • 实时数仓 Hologres