RDS提供无感数据集成(Zero-ETL)功能,将数据同步至数据仓库(AnalyticDB MySQL、AnalyticDB PostgreSQL或ClickHouse),无需搭建或维护同步链路,且同步链路不收费,减少数据传输和运维成本。
华北2(北京)、华东1(杭州)、华东2(上海)和华南1(深圳) 说明 后续将支持更多地域,具体以RDS控制台为准。 在大数据时代,企业数据分散在不同系统和平台中,如何高效管理和利用这些数据成为关键挑战。传统上,企业依赖ETL工具(提取、转换、加载)将分散的数据整合到数据仓库,以支持业务决策。然而,传统的ETL流程通常面临以下问题: 系统复杂度增加:用户需要自行维护ETL工具,增加了运维难度,难以专注于核心业务开发。 资源成本增加:不同的数据源可能需要不同的ETL工具,搭建ETL链路会产生额外的资源成本。 数据实时性降低:部分ETL流程涉及周期性的批量更新,在近实时场景下无法快速生成分析结果。 为了解决这些问题,阿里云瑶池数据库提供了无感数据集成(Zero-ETL)功能,能够快速构建OLTP(在线事务处理)与OLAP(在线分析处理)之间的数据同步链路。通过自动化的数据提取、转换和加载,Zero-ETL实现了事务处理与数据分析的一体化,帮助企业专注于数据分析业务,提升效率。 简单易用:用户无需创建和维护复杂的ETL数据管道,只需选择源端数据和目标端实例,即可自动构建实时数据同步链路。大幅降低数据管道的构建和管理难度,让用户专注于上层应用开发。 零成本:Zero-ETL链路不额外收费,可免费实现对上游数据的实时分析,帮助企业节省资源成本。 多源汇聚:支持将多个实例中的数据实时同步至一个目标数据仓库(如 AnalyticDB MySQL、AnalyticDB PostgreSQL或ClickHouse),构建全局分析视角。 说明 多个实例中的数据实时同步至一个ClickHouse实例,仅支持不同任务的同步对象不重叠。 RDS MySQL->ClickHouse RDS MySQL->AnalyticDB MySQL 3.0 RDS MySQL->AnalyticDB PostgreSQL 无感数据集成(Zero-ETL)同步链路免费。 创建服务关联角色并授予RAM用户对应的管理权限。 创建服务关联角色AliyunServiceRoleForClickHouseZeroETL。 说明 在创建链路时,系统会自动创建该角色,无需手动创建。 授予RAM用户管理权限。 RAM用户必须具备以下三种权限,才可以成功创建Zero链路。具体操作,请参见创建自定义权限策略。 源端RDS MySQL权限:AliyunRDSFullAccess。 目标端ClickHouse权限:ClickHouse的自定义策略脚本如下。 DTS的权限:DTS的自定义策略脚本如下。 创建服务关联角色AliyunServiceRoleForAnalyticDBForMySQL。 前往RAM控制台并选择左侧导航栏的角色列表。检查角色列表中,是否已存在名为AliyunServiceRoleForAnalyticDBForMySQL的服务关联角色。若不存在,则需创建相关角色。 单击左上角创建角色。 在弹出的创建角色对话框中,选择阿里云服务,并单击下一步。 选择角色类型为服务关联角色,并选择AnalyticDB MySQL。 单击完成,返回角色列表,确保已成功创建服务关联角色。 授予RAM用户管理权限。 RAM用户支持为所有或指定RDS MySQL实例和AnalyticDB MySQL集群授权。具体操作,请参见创建自定义权限策略。 自定义权限策略的脚本如下: 创建服务关联角色AliyunServiceRoleForADBPG。 前往RAM控制台并选择左侧导航栏的角色列表。检查角色列表中,是否已存在名为AliyunServiceRoleForADBPG的服务关联角色。若不存在,则需创建相关角色。 单击左上角创建角色。 在弹出的创建角色对话框中,选择阿里云服务,并单击下一步。 选择角色类型为服务关联角色,并选择AnalyticDB PostgreSQL。 单击完成,返回角色列表,确保已成功创建服务关联角色。 授予RAM用户管理权限。 RAM用户支持为所有或指定RDS MySQL实例和AnalyticDB PostgreSQL实例授权。具体操作,请参见创建自定义权限策略。 自定义权限策略的脚本如下: 登录RDS管理控制台,单击左侧导航栏数据集成。 在无感数据集成 (Zero-ETL)页签,单击创建Zero-ETL任务。 在创建Zero-ETL任务页面配置源库信息和目标库信息。 配置源库信息: 源库信息 说明 任务名称 Zero-ETL任务名称。 数据库类型 选择RDS MySQL 接入方式 仅支持云实例接入。 实例地区 选择源实例所属地域。 实例ID RDS MySQL实例ID。 数据库名称 RDS MySQL实例数据库名称。 数据库账号 RDS MySQL实例的数据库账号。 数据库密码 RDS MySQL数据库账号的密码。 连接方式 连接RDS MySQL实例的方式。包括非加密链接和SSL安全链接。 说明 如果设置为SSL安全连接,您需要提前使用云端证书快速开启SSL链路加密。 配置目标库信息: 目标库信息 说明 数据库类型 当前目标库支持AnalyticDB MySQL 3.0、AnalyticDB PostgreSQL和ClickHouse。 接入方式 仅支持云实例接入。 实例地区 目标库所属的地域。 实例ID 目标库的实例ID。 数据库账号 目标库实例的数据库账号。 数据库密码 目标库实例的数据库账号的密码。 上述参数配置完成后,单击测试连接以进行下一步,进入配置Zero-ETL页面,配置如下参数: 配置项目 说明 同步类型 实现数据源之间的数据实时同步。 同步类型分为:库表结构同步、全量同步、增量同步。 说明 同步任务固定勾选增量数据同步,将源库产生的增量数据实时同步至目标库。 不需要增量同步时,请使用数据迁移。 实例级别选择所需同步的DDL和DML 勾选所需同步的DML操作(insert、update和delete)和DDL操作(create、alter、drop、rename和truncate),默认全部勾选。 源库对象和已选择对象 数据库中源库对象和同步对象。 高级配置(选填) 设置源库、目标库无法连接后的重试时间和源库、目标库出现其他问题后的重试时间。 上述参数配置完成后,单击配置库表字段,配置信息如下: 库表字段配置 说明 数据库名称 选择已有的数据库。 表名称 选择已有的数据表。 主键列 已选数据表中的主键所在字段。 分布键 已选数据表中的分布键所在字段。 类型 数据表类型,包括分区表和复制表。 定义状态 定义完库表字段配置状态后,即从未定义变为已定义。 配置完上述所有参数后,单击下一步保存任务并预检查。 预检查通过,单击启动,启动Zero-ETL任务。 说明 您可以在免费数据同步页面,查看目标Zero-ETL任务的名称、源/目标、运行状态等信息。支持地域
方案概述
功能优势
支持链路
费用说明
前提条件
准备工作
RDS MySQL->ClickHouse
{
"Version": "1",
"Statement": [
{
"Action": "clickhouse:*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:CreateServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "clickhouse.aliyuncs.com"
}
}
}
]
}{
"Version": "1",
"Statement": [
{
"Action": "dts:*",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:PassRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"acs:Service": "dts.aliyuncs.com"
}
}
}
]
}RDS MySQL->AnalyticDB MySQL 3.0
为所有RDS MySQL和AnalyticDB MySQL集群授权
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:*",
"acs:rds:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig",
"dts:DescribeConciseJobStatics",
"dts:ListUserAuthorizationLogs",
"dts:CreateUserAuthorization"
],
"Resource": [
"acs:dts:*:*:*"
]
}
]
}为指定RDS MySQL和AnalyticDB MySQL集群授权
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****", 替换为需要同步的AnalyticDB MySQL集群ID
"acs:rds:*:*:dbinstance/rm-2ze6fs8ouh43****" 替换为需要同步的RDS MySQL实例ID
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig",
"dts:DescribeConciseJobStatics",
"dts:ListUserAuthorizationLogs",
"dts:CreateUserAuthorization"
],
"Resource": "acs:dts:*:*:*"
}
]
}RDS MySQL->AnalyticDB PostgreSQL
为所有RDS MySQL和AnalyticDB PostgreSQL实例授权
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:gpdb:*:*:*",
"acs:rds:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": [
"acs:dts:*:*:*"
]
}
]
}为指定RDS MySQL和AnalyticDB PostgreSQL实例授权
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:gpdb:*:*:dbinstanc/gp-bp1a740l3zx4****", 替换为需要同步的AnalyticDB PostgreSQL实例ID
"acs:rds:*:*:dbinstance/rm-2ze6fs8ouh43****" 替换为需要同步的RDS MySQL实例ID
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig"
],
"Resource": "acs:dts:*:*:*"
}
]
}操作步骤