云原生数据仓库 AnalyticDB PostgreSQL 版提供无感集成(Zero-ETL)功能,可以帮助您一站式完成数据同步和管理,实现事务处理和数据分析一体化,专注于数据分析业务。
公测时间
2024年4月1日至6月30日。
公测地域
华北2(北京)、华东1(杭州)、华东2(上海)和华南1(深圳)。
方案概述
在大数据时代,企业面临着大量分散在不同的系统和平台上的业务数据,为了有效地管理和利用这些数据,企业往往需要依赖于ETL工具对数据进行集中式管理。
ETL是将上层业务系统的数据经过提取(Extract)、转换清洗(Transform)、加载(Load)到数据仓库的处理过程,目的是将上游分散的数据整合到目标端数仓,通过在数仓中做进一步的计算分析,来为业务做有效的商业决策。
传统的ETL流程通常会面临以下挑战:
资源成本增加:不同的数据源可能需要不同的ETL工具,搭建ETL链路会产生额外的资源成本。
系统复杂度增加:用户需要自行维护ETL工具,增加了运维难度,无法专注于业务应用的开发。
数据实时性降低:部分ETL流程涉及周期性的批量更新,在近实时的应用场景中,无法快速产出分析结果。
为了解决这些问题,阿里云瑶池数据库提供了无感集成(Zero-ETL)功能,可以快速构建业务系统(OLTP)和数据仓库(OLAP)之间的数据同步链路,将业务系统(OLTP)的数据自动进行提取、转换清洗和加载到数据仓库(OLAP),从而一站式完成数据同步和管理,实现事务处理和数据分析一体化,帮助客户专注于数据分析业务。
云原生数据仓库 AnalyticDB PostgreSQL 版仅支持以下Zero-ETL链路:
云数据库 RDS PostgreSQL 版至云原生数据仓库 AnalyticDB PostgreSQL 版的数据同步链路。
云原生数据库 PolarDB PostgreSQL 版至云原生数据仓库 AnalyticDB PostgreSQL 版的数据同步链路。
方案优势
简单易用:用户无需创建和维护执行ETL(提取、转换、加载操作)的复杂数据管道,仅需选择源端数据和目标端实例,自动创建实时数据同步链路,减少构建和管理数据管道所带来的挑战,专注于上层应用开发。
零成本:Zero-ETL链路不额外收费,可免费实现在云原生数据仓库 AnalyticDB PostgreSQL 版中对上游数据进行分析。
多源汇聚:通过Zero-ETL链路将多个实例中的数据实时同步至一个云原生数据仓库 AnalyticDB PostgreSQL 版集群中,构建全局分析视角。
注意事项
数据同步链路注意事项:
云原生数据库 PolarDB PostgreSQL 版链路的注意事项,请参见PolarDB PostgreSQL版同步至云原生数据仓库AnalyticDB PostgreSQL版。
云数据库 RDS PostgreSQL 版链路的注意事项,请参见RDS PostgreSQL同步至AnalyticDB for PostgreSQL。
费用说明
不收取额外费用,仅收取云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例与云原生数据仓库 AnalyticDB PostgreSQL 版集群的费用。
前提条件
已创建实例:
已创建云原生数据仓库 AnalyticDB PostgreSQL 版实例。具体操作,请参见创建实例。
已创建云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例。具体操作,请参见创建RDS PostgreSQL实例,创建PolarDB PostgreSQL版实例。
已将云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例的wal_level参数值设置为logical。具体操作,请参见RDS PostgreSQL同步至AnalyticDB for PostgreSQL。
云原生数据仓库 AnalyticDB PostgreSQL 版的存储空间需要大于云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例已使用的存储空间。
准备工作
创建云原生数据仓库 AnalyticDB PostgreSQL 版服务关联角色
前往RAM控制台的角色列表。
检查角色列表中,是否已存在名为
AliyunServiceRoleForADBPG
的服务关联角色。若不存在,则需创建相关角色。单击左侧创建角色。
在弹出的创建角色对话框中,选择阿里云服务,并单击下一步。
选择角色类型为服务关联角色,并选择云服务云原生数据仓库 AnalyticDB PostgreSQL 版。
单击完成,返回角色列表,确保已成功创建服务关联角色。
授予RAM用户管理权限
RAM用户创建和管理Zero-ETL链路需要下列两种权限
授予RAM用户云原生数据仓库 AnalyticDB PostgreSQL 版管理权限
RAM用户必须拥有云原生数据仓库 AnalyticDB PostgreSQL 版的管理权限:AliyunGPDBFullAccess
,才可以创建和管理云原生数据仓库 AnalyticDB PostgreSQL 版的Zero-ETL链路。操作步骤,请参见为RAM用户授权。
授予RAM用户Zero-ETL管理权限
RAM用户需要具备为数据源实例与目标实例(云原生数据仓库 AnalyticDB PostgreSQL 版)创建链路的权限,才能创建和管理Zero-ETL链路。您可以自定义权限策略,允许为数据源和云原生数据仓库 AnalyticDB PostgreSQL 版的所有实例创建链路或仅为指定实例创建链路,并将自定义权限策略授权给RAM用户。
授予所有的云数据库 RDS PostgreSQL 版、云原生数据库 PolarDB PostgreSQL 版、云原生数据仓库 AnalyticDB PostgreSQL 版实例权限,具体脚本如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dts:*", "Resource": [ "acs:gpdb:*:*:*", "acs:rds:*:*:*", "acs:polardb:*:*:*" ] }, { "Effect": "Allow", "Action": [ "dts:DescribeRegions", "dts:DescribeConfigRelations", "dts:DescribeSrcLinkConfig", "dts:DescribeDestLinkConfig", "dts:DescribeLinkConfig" ], "Resource": [ "acs:gpdb:*:*:*" ] } ] }
授予指定的云数据库 RDS PostgreSQL 版、云原生数据库 PolarDB PostgreSQL 版、云原生数据仓库 AnalyticDB PostgreSQL 版实例权限,具体脚本如下:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "dts:*", "Resource": [ "acs:gpdb:*:*:dbinstanc****", "acs:rds:*:*:dbinstance****", "acs:polardb:*:*:dbclus****" ] }, { "Effect": "Allow", "Action": [ "dts:DescribeRegions", "dts:DescribeConfigRelations", "dts:DescribeSrcLinkConfig", "dts:DescribeDestLinkConfig", "dts:DescribeLinkConfig" ], "Resource": "acs:dts:*:*:*" } ] }
操作步骤
在控制台左上角,选择实例所在地域。
找到目标实例,单击实例ID。
在左侧导航栏,选择无感集成(Zero-ETL),然后单击左上角创建Zero-ETL任务。
在创建Zero-ETL任务页面,创建一个Zero-ETL任务,配置源库信息和目标库信息:
配置源库信息:
源库信息
说明
示例值
任务名称
Zero-ETL任务名称。
Zeroetltest
数据库类型
当前源库仅支持云数据库 RDS PostgreSQL 版和云原生数据库 PolarDB PostgreSQL 版两种类型。
云数据库 RDS PostgreSQL 版
接入方式
仅支持云实例接入。
云实例
实例地区
选择云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例规划的地域。
华东2(上海)
实例ID
云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版实例的ID。
pgm-2ze****
数据库名称
云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版数据库的名称。
testdb
数据库账号
云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版数据库的账号。
test
数据库密码
云数据库 RDS PostgreSQL 版或云原生数据库 PolarDB PostgreSQL 版数据库账号的密码。
password****
配置目标库信息:
目标库信息
说明
示例值
数据库类型
当前目标库仅支持云原生数据仓库 AnalyticDB PostgreSQL 版。
云原生数据仓库 AnalyticDB PostgreSQL 版
接入方式
仅支持云实例接入。
云实例
实例地区
云原生数据仓库 AnalyticDB PostgreSQL 版规划的实例地域。
华东2(上海)
实例ID
云原生数据仓库 AnalyticDB PostgreSQL 版实例的ID。
gp-2zeod****
数据库名称
云原生数据仓库 AnalyticDB PostgreSQL 版数据库的名称。
testdb
数据库账号
云原生数据仓库 AnalyticDB PostgreSQL 版数据库的账号。
test
数据库密码
云原生数据仓库 AnalyticDB PostgreSQL 版数据库账号的密码。
password****
测试连接以进行下一步,进入配置Zero-ETL页面,配置信息如下:
配置项目
说明
示例值
同步类型
实现数据源之间的数据实时同步。
同步类型分为:库表结构同步、全量同步、增量同步。
说明同步任务固定支持增量数据同步,将源库产生的增量数据实时同步至目标库。
不需要增量同步时,请使用数据迁移。
库表结构同步
全量同步
增量同步
实例级别选择所需同步的DDL和DML
勾选所需同步的DML操作(insert、update和delete)
和DDL操作(create、alter、drop、rename和truncate)。
DML操作(insert、update和delete)。
DDL操作(create、alter、drop、rename和truncate)。
源库对象和已选择对象
数据库中源库对象和同步对象。
public
高级配置(选填)
设置源库、目标库无法连接后的重试时间和源库、目标库出现其他问题后的重试时间。
源库、目标库无法连接后的重试时间:10分钟。
源库、目标库出现其他问题后的重试时间:10分钟。
配置库表字段,配置信息如下:
库表字段配置
说明
示例值
数据库名称
选择已有的数据库。
public
表名称
选择已有的数据表。
table1
主键字段
已选数据表中的主键所在字段。
id
分布键
数据表中的一个或多个字段,用来确定数据在分布式环境下的存储位置。
id
类型
数据分区类型。
哈希分布表
定义状态
定义完库表字段配置状态后,即从未定义变为已定义。
已定义
配置完所有资源后,请单击下一步保存任务并预检查。
预检查通过后,系统自动启动Zero-ETL任务,在任务列表可查看任务进度。
- 本页导读 (1)