基于AnalyticDB PostgreSQL的实时物化视图研发实践

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: AnalyticDB PostgreSQL版提供了实时物化视图功能,相较于普通(非实时)物化视图,实时物化视图无需手动调用刷新命令,即可实现数据更新时自动同步刷新物化视图。当基表发生变化时,构建在基表上的实时物化视图将会自动更新。AnalyticDB PostgreSQL企业数据智能平台是构建数据智能的全流程平台,提供可视化实时任务开发 + 实时数据洞察,让您轻松平移离线任务,使用SQL和简单配置即可完成整个实时数仓的搭建。

1 背景

随着大数据、云计算、物联网和人工智能等先进技术发展和广泛应用,数据的生成速度和规模达到了前所未有的程度。企业为了应对快速变化的市场环境,必须要加快数据处理速度,对实时计算的需求正在日益增长。基于流式处理引擎+大数据产品构建实时数据解决方案在过去成为主流的选择,但在不断变化的市场需求中,这种方案有些明显的劣势:

  • 双重架构问题:离线和实时数仓两套独立的架构设计可能导致代码难以复用,增加了开发和运维的成本。
  • 复杂分析业务支持不足:传统的流处理引擎可能对复杂的分析业务支持有限,例如与大规模的离线维度表进行关联查询、处理多层嵌套的数据结构或者进行历史数据的回溯分析等。这些操作在流处理环境中可能效率低下或者实现难度较大。
  • 高昂的Debug成本:由于流处理系统通常包含多个组件(如消息队列、流处理引擎、存储系统等),排查问题时需要考虑的环节较多,这增加了调试和故障排除的难度。此外,理解和掌握流处理特有的概念和技术(如窗口函数、事件时间处理等)也是对开发者的一项挑战。


相比之下,AnalyticDB PostgreSQL版通过提供流批一体的实时数据处理能力,结合企业数据智能平台形成一站式离线+实时数仓解决方案,试图解决上述问题。

2 产品介绍

2.1 AnalyticDB PostgreSQL

云原生数据仓库AnalyticDB PostgreSQL版是一款由阿里云提供的云原生的大数据分析型数据库服务。提供简单、快速、经济高效的PB级云端数据仓库解决方案。兼容Greenplum开源数据仓库,MPP全并行架构,广泛兼容PostgreSQL/Oracle的语法生态。实现了对海量数据的即席查询分析、ETL 处理及可视化探索,是各行业有竞争力的云上数据仓库解决方案。

2024-01-12 at 17.28.jpg

AnalyticDB PostgreSQL版提供了实时物化视图功能,相较于普通(非实时)物化视图,实时物化视图无需手动调用刷新命令,即可实现数据更新时自动同步刷新物化视图。当基表发生变化时,构建在基表上的实时物化视图将会自动更新。您还可以在实时物化视图上再创建实时物化视图,当基表发生变化时,相关级联的实时物化视图也会自动更新。基于此特性可以方便地构建分析数据的实时ETL处理链路。

使用CREATE INCREMENTAL MATERIALIZED VIEW命令创建一个名为mv实时物化视图,示例如下:

CREATE INCREMENTAL MATERIALIZED VIEW mv ASSELECT*FROM base WHERE id >40;

2.2 企业数据智能平台

企业数据智能平台是构建数据智能的全流程平台。提供数据汇聚、数据处理、数据质量管控、数据资产管理、数据资产服务与共享、智能分析等核心功能。平台集成了多项先进的技术和功能,旨在提升数据使用效率,降低数据计算成本,并最大化数据的业务价值。

  • 流批一体数据同步:通过支持流处理和批处理的一体化数据同步,无缝对接各种数据源,实现实时和历史数据的统一管理和分析,简化数据管道和运维工作。
  • 异构计算混合编排调度:支持离线、流式、在线任务的编排和调度,支持常见的数据库,大数据存储引擎,及计算引擎。如MySQL、PostgreSQL、Oracle、Hive、Spark、Flink、自定义作业等。可以根据数据处理任务的特性和需求,灵活选择和优化计算引擎,以实现最佳的性能和成本效益。

2024-01-12 at 17.29.jpg

  • 全局元数据图谱:建立全面的全局元数据图谱,可以清晰地展示数据资产的关系和流向,便于数据治理、数据发现和数据质量控制,提升数据的可用性和可信度。
  • 安全合规保障:实现多层数据安全保障措施,包括数据加密、访问控制、审计日志和合规性检查等,确保数据在采集、存储、处理和使用的全生命周期中的安全和隐私保护。

平台能帮助金融、政府及企业客户快速构建智能数据中台,实现数据资源统一管理,挖掘数据价值,优化业务决策,降低企业成本。同时,平台的云原生设计和弹性扩展能力也确保了其能够适应不断变化的业务需求和市场环境,为企业的数字化转型提供强大的技术支持和保障。

2.3 核心优势

AnalyticDB PostgreSQL版+企业数据智能平台,提供流批一体的一站式实时数仓解决方案,主要有如下优势:

  • 一体化架构:通过实时物化视图的机制,实现了流处理和批处理的融合,只需要一套系统、一份数据、一次写入,简化了开发和运维的工作,提高了资源利用率。
  • 增强的分析能力:AnalyticDB PostgreSQL版高度兼容Oracle语法,支持PL/SQL存储过程,这使得它能够更好地处理复杂的分析业务,包括与大规模维度表的关联查询和多层次的数据处理。
  • 更易Debug:由于在一个统一的系统中处理流和批数据,调试和问题排查可能会变得更加直接和简便。同时,对于用户来说,可以继续使用熟悉的SQL语言进行查询和分析,降低了学习和使用新概念的门槛。

3 典型场景实践

3.1 业务场景

下面我们以“超市销售订单数据分析”来演示基于 AnalyticDB for PostgreSQL开发流批一体结合的任务。订单数据由交易系统产生,并存储在业务TP库中,通过数据智能平台的实时同步功能同步到分析库AnalyticDB for PostgreSQL中。订单数据需要与维表(用户表、商品表、店铺表)关联产生最终的交易明细数据,同时维表数据会每天定时更新,基于订单表+维表构建物化视图,能得到实时的订单明细。

image.png

3.2 开发

在环境准备阶段,在数据智能平台-系统设置中创建工作组,并将业务库(MySQL)和分析库(AnalyticDB for PostgreSQL)注册到工作组。

image.png

在协同-数据开发-场景模式中创建场景。场景是一个DAG,场景中每个节点表示一个数据处理动作。平台支持丰富的节点类型。包括处理离线任务的SQL类节点、Spark、Flink等计算节点,也包括处理自定义作业的Elastic Job和Elastic Service节点。

image.pngimage.pngimage.png

在场景中拖入“同步节点”,配置业务库中订单表到分析库中的订单表同步。“AnalyticDB PostgreSQL”节点并编写sql,实现维表更新逻辑,在调度配置中设置按天调度。

image.png


拖入“AnalyticDB PostgreSQL Stream”节点,双击打开编辑器,编写创建实时物化视图的SQL。

image.png

-- Author: dtboost-- CreateDate: 2023-12-13 11:22:41-- Description: createor replace incremental materialized view v_order_wide asselect o.order_id,       o.order_time,       to_char(o.order_time,'YYYY-MM-DD')as order_date,       o.customer_id,       c.customer_name,       o.store_id,       s.store_name,       o.product_id,       p.product_name,       o.original_price,       o.selling_price,       round(cast(o.selling_priceasdecimal)/cast(o.original_priceasdecimal),1)as discount
from t_order o
    left join t_customer c on o.customer_id= c.customer_id    left join t_store s on o.store_id= s.store_id    left join t_product p on o.product_id= p.product_id;

场景开发完成后上线,场景中的离线SQL节点会按照调度配置定时运行,流式节点如“AnalyticDB PostgreSQL Stream”会立即上线,在数据库中生成对应的物化视图,可以在数据查询中查看该视图的数据。

image.png

3.3 运维

切换到协同-运维监控菜单,可对已经上线的场景进行运维。

image.png

点击具体的节点,可以查看节点的任务详情、实例内容等。

image.png

3.3 总结

上面案例,我们展示了如何通过AnalyticDB PostgreSQL版+企业数据智能平台完成流批一体的一站式数据开发。目前两款产品已经正式发布上线,可以通过AnalyticDB for PostgreSQL控制台-数据平台进入购买,也可以在AnalyticDB for PostgreSQL官网进行购买。


如果您在使用AnalyticDB for PostgreSQL企业数据智能平台产品时有任何疑惑或建议,可以使用钉钉搜索51855001136,加入【官方服务】ADBPG-企业数据智能平台官方支持群交流群,我们会有专业的技术支持工程师在线答疑。

2024-01-15 at 11.02.jpg

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
7月前
|
存储 关系型数据库 数据库
postgresql|数据库|提升查询性能的物化视图解析
postgresql|数据库|提升查询性能的物化视图解析
728 0
|
存储 安全 关系型数据库
PostgreSQL物化视图增量更新扩展 -- pg_ivm
PostgreSQL不支持物化视图增量更新,需要定期执行REFRESH MATERIALIZED VIEW命令刷新物化视图。Incremental View Maintenance (IVM)是一种使物化视图保持最新的方法,其中只计算增量更改并将其应用于视图,而不是REFRESH MATERIALIZED VIEW那样从头开始重新计算内容。当只更改视图的一小部分时,IVM可以比重新计算更高效地更新物化视图。
|
7月前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库产品使用合集之阿里云云原生数据仓库AnalyticDB PostgreSQL版的重分布时间主要取决的是什么
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
7月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库产品使用合集之原生数据仓库AnalyticDB PostgreSQL版如果是列存表的话, adb支持通过根据某个字段做upsert吗
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
6月前
|
运维 Cloud Native 关系型数据库
云原生数据仓库AnalyticDB产品使用合集之PostgreSQL版是否直接支持实时物化视图
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
134 3
|
6月前
|
自然语言处理 关系型数据库 数据库
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
技术经验解读:【转】PostgreSQL的FTI(TSearch)与中文全文索引的实践
72 0
|
6月前
|
SQL 关系型数据库 PostgreSQL
【sql】PostgreSQL物化视图表使用案例
【sql】PostgreSQL物化视图表使用案例
60 0
|
7月前
|
弹性计算 关系型数据库 数据库
开源PostgreSQL在倚天ECS上的最佳优化实践
本文基于倚天ECS硬件平台,以自顶向下的方式从上层应用、到基础软件,再到底层芯片硬件,通过应用与芯片的硬件特性的亲和性分析,实现PostgreSQL与倚天芯片软硬协同的深度优化,充分使能倚天硬件性能,帮助开源PostgreSQL应用实现性能提升。
|
存储 人工智能 关系型数据库
5倍性能提升,阿里云AnalyticDB PostgreSQL版新一代实时智能引擎重磅发布
2023 云栖大会上,AnalyticDB for PostgreSQL新一代实时智能引擎重磅发布,全自研计算和行列混存引擎较比开源Greenplum有5倍以上性能提升。AnalyticDB for PostgreSQL与通义大模型家族深度集成,推出一站式AIGC解决方案。阿里云新发布的行业模型及“百炼”平台,采用AnalyticDB for PostgreSQL作为内置向量检索引擎,性能较开源增强了2~5倍。大会上来自厦门国际银行、三七互娱等知名企业代表和瑶池数据库团队产品及技术资深专家们结合真实场景实践,深入分享了最新的技术进展和解析。
5倍性能提升,阿里云AnalyticDB PostgreSQL版新一代实时智能引擎重磅发布
|
7月前
|
关系型数据库 OLAP 数据库连接
AnalyticDB PostgreSQL版目前不支持使用外部数据包装器
AnalyticDB PostgreSQL版目前不支持使用外部数据包装器
109 3

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 下一篇
    DataWorks