本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

無感整合(Zero-ETL)

更新時間:2025-01-02 19:38

AnalyticDB for PostgreSQL提供無感整合(Zero-ETL)功能,可以協助您一站式完成資料同步和管理,實現交易處理和資料分析一體化,專註於資料分析業務。

方案概述

在巨量資料時代,企業面臨著大量分散在不同的系統和平台上的業務資料,為了有效地管理和利用這些資料,企業往往需要依賴於ETL工具對資料進行集中式管理。

ETL是將上層業務系統的資料經過提取(Extract)、轉換清洗(Transform)、載入(Load)到資料倉儲的處理過程,目的是將上遊分散的資料整合到目標端數倉,通過在數倉中做進一步的計算分析,來為業務做有效商業決策。

傳統的ETL流程通常會面臨以下挑戰:

  • 資源成本增加:不同的資料來源可能需要不同的ETL工具,搭建ETL鏈路會產生額外的資源成本。

  • 系統複雜度增加:使用者需要自我維護ETL工具,增加了營運難度,無法專註於業務應用的開發。

  • 資料即時性降低:部分ETL流程涉及周期性的批次更新,在近即時的應用情境中,無法快速產出分析結果。

為瞭解決這些問題,阿里雲Business Foundation System資料庫提供了無感整合(Zero-ETL)功能,可以快速構建業務系統(OLTP)和資料倉儲(OLAP)之間的資料同步鏈路,將業務系統(OLTP)的資料自動進行提取、轉換清洗和載入到資料倉儲(OLAP),從而一站式完成資料同步和管理,實現交易處理和資料分析一體化,協助客戶專註於資料分析業務。

AnalyticDB for PostgreSQL僅支援以下Zero-ETL鏈路:

  • PolarDB for PostgreSQLAnalyticDB for PostgreSQL的資料同步鏈路。

  • PolarDB for MySQLAnalyticDB for PostgreSQL的資料同步鏈路。

  • ApsaraDB RDS for PostgreSQLAnalyticDB for PostgreSQL的資料同步鏈路。

  • ApsaraDB RDS for MySQLAnalyticDB for PostgreSQL的資料同步鏈路。

方案優勢

  • 簡單易用:使用者無需建立和維護執行ETL(提取、轉換、載入操作)的複雜資料管道,僅需選擇源端資料和目標端執行個體,自動建立即時資料同步鏈路,減少構建和管理資料管道所帶來的挑戰,專註於上層應用開發。

  • 零成本:Zero-ETL鏈路不額外收費,可免費實現在AnalyticDB for PostgreSQL中對上遊資料進行分析。

  • 多源匯聚:通過Zero-ETL鏈路將多個執行個體中的資料即時同步至一個AnalyticDB for PostgreSQL執行個體中,構建全域分析視角。

注意事項

資料同步鏈路注意事項:

支援地區

支援無感整合(Zero-ETL)功能的地區:華南1(深圳)、 華東1(杭州)、華東2(上海)、華北2(北京)、 華北3(張家口)、華北6(烏蘭察布)、 華北1(青島)、 華南3(廣州)、華東2金融雲、西南1(成都)、中國香港、馬來西亞(吉隆坡)、 美國(維吉尼亞)、美國(矽谷)、德國(法蘭克福)、印尼(雅加達)、日本(東京)和新加坡。

費用說明

不收取額外費用,僅收取ApsaraDB RDS for PostgreSQLPolarDB for MySQLPolarDB for PostgreSQLApsaraDB RDS for MySQL執行個體與AnalyticDB for PostgreSQL執行個體的費用。

前提條件

準備工作

建立AnalyticDB for PostgreSQL服務關聯角色

  1. 前往RAM控制台角色列表。

  2. 檢查角色列表中,是否已存在名為AliyunServiceRoleForADBPG的服務關聯角色。若不存在,則需建立相關角色。

  3. 單擊左側建立角色

  4. 在彈出的建立角色對話方塊中,選擇阿里雲服務,並單擊下一步

    阿里雲服務

  5. 選擇角色類型為服務關聯角色,並選擇雲端服務AnalyticDB for PostgreSQL

    image

  6. 單擊完成,返回角色列表,確保已成功建立服務關聯角色。

授予RAM使用者系統管理權限

RAM使用者建立和管理Zero-ETL鏈路需要下列兩種許可權

授予RAM使用者AnalyticDB for PostgreSQL系統管理權限

RAM使用者必須擁有AnalyticDB for PostgreSQL的系統管理權限:AliyunGPDBFullAccess,才可以建立和管理AnalyticDB for PostgreSQL的Zero-ETL鏈路。操作步驟,請參見為RAM使用者授權

授予RAM使用者Zero-ETL系統管理權限

RAM使用者需要具備為資料來源執行個體與目標執行個體(AnalyticDB for PostgreSQL)建立鏈路的許可權,才能建立和管理Zero-ETL鏈路。您可以自訂權限原則,允許為資料來源和AnalyticDB for PostgreSQL的所有執行個體建立鏈路或僅為指定執行個體建立鏈路,並將自訂權限原則授權給RAM使用者。

  1. 授予所有的ApsaraDB RDS for PostgreSQLApsaraDB RDS for MySQLPolarDB for MySQLPolarDB for PostgreSQLAnalyticDB for 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:*:*:*"
                ]
            }
        ]
    }
  2. 授予指定的ApsaraDB RDS for PostgreSQLApsaraDB RDS for MySQLPolarDB for MySQLPolarDB for PostgreSQLAnalyticDB for 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:*:*:*"
            }
        ]
    }

RAM控制台建立自訂權限原則。操作步驟,請參見建立自訂權限原則

操作步驟

  1. 登入雲原生資料倉儲AnalyticDB PostgreSQL版控制台

  2. 在控制台左上方,選擇執行個體所在地區。

  3. 找到目標執行個體,單擊執行個體ID。

  4. 在左側導覽列,選擇無感整合(Zero-ETL),然後單擊左上方建立Zero-ETL任務

    image

  5. 建立Zero-ETL任務頁面,建立一個Zero-ETL任務,配置源庫資訊和目標庫資訊:

    1. 配置源庫資訊:

      源庫資訊

      說明

      樣本值

      源庫資訊

      說明

      樣本值

      任務名稱

      Zero-ETL任務名稱。

      Zeroetltest

      資料庫類型

      當前源庫支援ApsaraDB RDS for PostgreSQLApsaraDB RDS for MySQLPolarDB for MySQLPolarDB for PostgreSQL四種類型。

      ApsaraDB RDS for PostgreSQL

      接入方式

      僅支援雲執行個體接入。

      雲執行個體

      執行個體地區

      選擇源執行個體所在的地區。

      華東2(上海)

      執行個體ID

      源執行個體的ID。

      pgm-2ze****

      資料庫名稱

      源執行個體中資料庫的名稱。

      testdb

      資料庫帳號

      源執行個體中資料庫的帳號。

      test

      資料庫密碼

      源執行個體中資料庫帳號的密碼。

      password****

      串連方式

      SSL安全連線或非加密串連。

      說明

      SSL連結增加了一層認證加密,在傳輸資料的過程中,會對資料加密,即使有人在網路層擷取了資料也無法得知具體內容。

      SSL安全連線

    2. 配置目標庫資訊:

      目標庫資訊

      說明

      樣本值

      目標庫資訊

      說明

      樣本值

      資料庫類型

      當前目標庫僅支援AnalyticDB for PostgreSQL

      AnalyticDB for PostgreSQL

      接入方式

      僅支援雲執行個體接入。

      雲執行個體

      執行個體地區

      AnalyticDB for PostgreSQL規劃的執行個體地區。

      華東2(上海)

      執行個體ID

      AnalyticDB for PostgreSQL執行個體的ID。

      gp-2zeod****

      資料庫名稱

      AnalyticDB for PostgreSQL資料庫的名稱。

      testdb

      資料庫帳號

      AnalyticDB for PostgreSQL資料庫的帳號。

      test

      資料庫密碼

      AnalyticDB for PostgreSQL資料庫帳號的密碼。

      password****

  6. 測試連接以進行下一步,進入配置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分鐘。

  7. 配置庫表欄位,配置資訊如下:

    庫表欄位配置

    說明

    樣本值

    庫表欄位配置

    說明

    樣本值

    資料庫名稱

    選擇已有的資料庫。

    public

    表名稱

    選擇已有的資料表。

    table1

    主鍵欄位

    已選資料表中的主鍵所在欄位。

    id

    分布鍵

    資料表中的一個或多個欄位,用來確定資料在分布式環境下的儲存位置。

    id

    類型

    資料分區類型。

    雜湊分布表

    定義狀態

    定義完庫表欄位配置狀態後,即從未定義變為已定義。

    已定義

  8. 配置完所有資源後,請單擊下一步儲存任務並預檢查

    image

  9. 預檢查通過後,系統自動啟動Zero-ETL任務,在工作清單可查看任務進度。

    image

Zero-ETL任務監控與警示

建立並啟動Zero-ETL任務後,您可以在CloudMonitor控制台設定Zero-ETL任務警示規則,即時監控Zero-ETL任務的運行情況。具體操作如下。

  1. 登入CloudMonitor控制台

  2. 查看監控資訊。

    1. 在左側導覽列,單擊雲資源監控 > 雲產品監控 > 資料庫

    2. 滑鼠懸浮在雲原生資料倉儲 AnalyticDB PostgreSQL 版,單擊AnalyticDB for PostgreSQL- ZeroETL延遲

    3. 執行個體列表頁,單擊執行個體ID,查看每個執行個體下Zero-ETL任務的監控資訊。

  3. 建立警示規則。

    1. 在左側導覽列,單擊警示服務 > 警示規則

    2. 單擊建立警示規則,在彈出的建立警示規則面板,配置Zero-ETL任務警示規則。具體操作,請參見建立警示規則

  4. 建立訂閱策略。

    1. 在左側導覽列,單擊事件中心 > 事件訂閱

    2. 單擊建立訂閱策略,在建立訂閱策略頁面,配置Zero-ETL任務訂閱策略。具體操作,請參見建立訂閱策略

  • 本頁導讀 (1, M)
  • 方案概述
  • 方案優勢
  • 注意事項
  • 支援地區
  • 費用說明
  • 前提條件
  • 準備工作
  • 建立AnalyticDB for PostgreSQL服務關聯角色
  • 授予RAM使用者系統管理權限
  • 操作步驟
  • Zero-ETL任務監控與警示
文檔反饋