雲資料庫RDS提供無感Data Integration(Zero-ETL)功能,用於將RDS資料同步至資料倉儲(AnalyticDB PostgreSQL),您無需搭建或維護資料同步鏈路,且資料同步鏈路不收費,減少資料轉送成本和營運成本。
支援地區
華北2(北京)、華東1(杭州)、華東2(上海)和華南1(深圳)
支援的地區正在持續開放中,具體以RDS控制台為準。
方案概述
在巨量資料時代,企業資料分散在不同系統和平台中,如何高效管理和利用這些資料成為關鍵挑戰。傳統上,企業依賴ETL工具(提取、轉換、載入)將分散的資料整合到資料倉儲,以支援業務決策。然而,傳統的ETL流程通常面臨以下問題:
系統複雜度增加:使用者需要自我維護ETL工具,增加了營運難度,難以專註於核心業務開發。
資源成本增加:不同的資料來源可能需要不同的ETL工具,搭建ETL鏈路會產生額外的資源成本。
資料即時性降低:部分ETL流程涉及周期性的批次更新,在近即時情境下無法快速產生分析結果。
為瞭解決這些問題,阿里雲Business Foundation System資料庫提供了無感Data Integration(Zero-ETL)功能,能夠快速構建OLTP(線上交易處理)與OLAP(線上分析處理)之間的資料同步鏈路。通過自動化的資料擷取、轉換和下載,Zero-ETL實現了交易處理與資料分析的一體化,協助企業專註於資料分析業務,提升效率。
功能優勢
簡單易用:使用者無需建立和維護執行ETL(提取、轉換、載入)操作的複雜資料管道,僅需選擇源端資料和目標端執行個體,自動建立即時資料同步鏈路,減少構建和管理資料管道所帶來的挑戰,專註於上層應用開發。
零成本:Zero-ETL鏈路不額外收費,可免費實現在資料倉儲中對上遊資料進行分析。
多源匯聚:通過Zero-ETL鏈路將多個執行個體中的資料即時同步至一個AnalyticDB PostgreSQL版執行個體中,構建全域分析視角。
支援鏈路
RDS PostgreSQL -> AnalyticDB PostgreSQL
費用說明
無感Data Integration(Zero-ETL)同步鏈路免費。
前提條件
已建立AnalyticDB PostgreSQL版執行個體。如需建立,請參見建立AnalyticDB PostgreSQL版執行個體。
RDS PostgreSQL執行個體和AnalyticDB PostgreSQL版執行個體必須處於相同的地區。
已在AnalyticDB PostgreSQL版執行個體中建立接收資料的資料庫。如需建立,請參見AnalyticDB PostgreSQL資料庫管理。
已擷取RDS PostgreSQL的高許可權帳號,且需要將其設定為目標資料庫的Owner(授權帳號)。如需建立,請參見建立RDS PostgreSQL帳號。
已擷取AnalyticDB PostgreSQL版執行個體的資料庫帳號。如需建立,請參見建立AnalyticDB PostgreSQL資料庫帳號。
說明您也可以使用初始帳號或具備SUPERUSER許可權的帳號。
已將RDS PostgreSQL執行個體的
wal_level設定為logical。修改參數請參見設定RDS PostgreSQL執行個體參數。已為RDS PostgreSQL執行個體開啟邏輯複製槽容錯移轉(Logical Replication Slot Failover)。RDS PostgreSQL預設開啟該功能,查詢功能開啟狀態請參見邏輯複製槽容錯移轉(Logical Replication Slot Failover)。
說明開啟後可以保障同步任務的正常進行,避免主備切換導致的邏輯訂閱中斷。
準備工作
建立服務關聯角色
前往RAM控制台的角色列表。
檢查角色列表中,是否存在名為AliyunServiceRoleForADBPG的服務關聯角色。若不存在,則需參見下一步建立相關角色。
說明需要在建立ZeroETL鏈路前建立服務關聯角色。
進入服務關聯角色建立頁面,信任的雲端服務配置為AliyunServiceRoleForADBPG。
單擊建立服務關聯角色。
返回角色列表,確保已成功建立服務關聯角色。
授予RAM使用者系統管理權限
RAM使用者建立和管理Zero-ETL鏈路需要下列兩種許可權。
許可權一:授予RAM使用者目標RDS執行個體系統管理權限
RAM使用者必須擁有目標執行個體的系統管理權限AliyunGPDBFullAccess(完全管理AnalyticDB PostgreSQL的許可權),才可以建立和管理目標執行個體的Zero-ETL鏈路。具體操作,請參見為RAM使用者授權。
許可權二:授予RAM使用者Zero-ETL系統管理權限
RAM使用者需要具備為資料來源執行個體(RDS PostgreSQL)與目標執行個體(AnalyticDB PostgreSQL)建立鏈路的許可權,才能建立和管理Zero-ETL鏈路。您可以自訂權限原則,允許為資料來源和目標端的所有執行個體建立鏈路或僅為指定執行個體建立鏈路,並將自訂權限原則授權給RAM使用者。建立自訂權限原則與RAM使用者授權的操作,請參見建立自訂權限原則。
自訂權限原則的指令碼如下:
為所有RDS PostgreSQL執行個體和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",
"dts:DescribeConciseJobStatics",
"dts:ListUserAuthorizationLogs",
"dts:CreateUserAuthorization"
],
"Resource": [
"acs:dts:*:*:*"
]
}
]
}為指定RDS PostgreSQL執行個體和AnalyticDB PostgreSQL執行個體授權
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "dts:*",
"Resource": [
"acs:gpdb:*:*:dbcluster/gp-bp13e375cd8x2****",
"acs:rds:*:*:dbinstance/pgm-2zeyjzi91g53****"
]
},
{
"Effect": "Allow",
"Action": [
"dts:DescribeRegions",
"dts:DescribeConfigRelations",
"dts:DescribeSrcLinkConfig",
"dts:DescribeDestLinkConfig",
"dts:DescribeLinkConfig",
"dts:DescribeConciseJobStatics",
"dts:ListUserAuthorizationLogs",
"dts:CreateUserAuthorization"
],
"Resource": "acs:dts:*:*:*"
}
]
}操作步驟
登入RDS管理主控台,單擊左側導覽列Data Integration。
在無感Data Integration (Zero-ETL)頁簽,單擊建立Zero-ETL任務。
在建立Zero-ETL任務頁面配置源庫資訊和目標庫資訊。
配置源庫資訊:
源庫資訊
說明
任務名稱
Zero-ETL任務名稱。
資料庫類型
選擇RDS for PostgreSQL。
接入方式
僅支援雲執行個體接入。
執行個體地區
選擇源執行個體所屬地區。
執行個體ID
RDS PostgreSQL執行個體ID。
資料庫名稱
RDS PostgreSQL執行個體資料庫名稱。
資料庫帳號
RDS PostgreSQL執行個體的資料庫帳號。
資料庫密碼
RDS PostgreSQL資料庫帳號的密碼。
串連方式
串連RDS PostgreSQL執行個體的方式。
配置目標庫資訊:
目標庫資訊
說明
資料庫類型
當前目標庫僅支援AnalyticDB PostgreSQL。
接入方式
僅支援雲執行個體接入。
執行個體地區
目標執行個體所屬地區。
執行個體ID
目標執行個體ID。
資料庫名稱
目標執行個體中用於接收資料的資料庫名稱。
資料庫帳號
目標執行個體的資料庫帳號。
資料庫密碼
資料庫帳號對應的密碼。
上述參數配置完成後,單擊測試連接以進行下一步,進入配置Zero-ETL頁面,配置如下參數:
設定項目
說明
執行個體層級選擇所需同步的DDL和DML
勾選所需同步的DML操作(insert、update和delete)和DDL操作(create、alter、drop、rename和truncate),預設全部勾選。
源庫對象和已選擇對象
資料庫中源庫對象和同步對象。
進階配置(選填)
設定源庫、目標庫無法串連後的重試時間,以及源庫、目標庫出現其他問題後的重試時間。
上述參數配置完成後,勾選Zero-ETL免營運說明,單擊下一步配置庫表欄位,配置資訊如下:
庫表欄位配置
說明
資料庫名稱
選擇已有的資料庫。
表名稱
選擇已有的資料表。
主鍵列
已選資料表中的主鍵所在欄位。
分布鍵
已選資料表中的分布鍵所在欄位。
類型
資料表類型,包括分區表和複製表。
定義狀態
定義完庫表欄位配置狀態後,即從未定義變為已定義。
配置完上述所有參數後,單擊下一步儲存任務並預檢查。
預檢查通過,單擊啟動,啟動Zero-ETL任務。
您可以在無感Data Integration (Zero-ETL)頁面,單擊源端頁簽,查看目標Zero-ETL任務的ID/名稱、源/目標、運行狀態等資訊。