全部產品
Search
文件中心

Data Lake Analytics - Deprecated:T+1多庫合并建倉

更新時間:Jul 06, 2024

本文檔主要介紹了多庫合并建倉的操作步驟。

背景資訊

在資料庫應用中,當單個關係型資料庫RDS(Relational Database Service)的資料量越來越多時,相應的資料查詢時間也會延長,影響使用者體驗。為保證業務可以繼續使用RDS資料庫,業務端通常會採用分庫分表技術,將一個RDS資料庫中的單張表資料拆分到多個資料庫的多張表中。上述方案可解決因資料量大而導致的使用者體驗問題,但在對分庫分表資料進行巨量資料分析時,邏輯上的一個表被拆成了多張表,由於沒有類似TDDL中介軟體來屏蔽物理表的拆分,進行資料分析時變得十分複雜。

解決方案

T+1多庫合并建倉是指通過DLA控制台上的多庫合并建倉嚮導將RDS中的分庫分表資料彙總到統一的表中,並以分區表形式儲存資料。您可以全域分析所有資料,也可以選擇某個分區對分區資料進行分析,進行資料分析時會非常的方便,並且也不影響RDS端的業務運行。

前提條件

  • 多庫合并建倉時,DLA將OSS作為儲存RDS資料的資料倉儲,您需要在OSS中完成以下準備工作:

    1. 開通OSS服務,請參見開通OSS服務

    2. 建立儲存空間,請參見建立儲存空間

    3. 建立目錄,請參見建立目錄

    說明

    根據業務需求,判斷是否需要建立目錄存放RDS資料。

  • 根據您的業務需要,準備好RDS資料來源。具體請參見快速入門

操作步驟

  1. 登入Data Lake Analytics管理主控台

  2. 在頁面左上方,選擇DLA所在地區。

  3. 單擊左側導覽列的資料湖管理 > 資料入湖,在資料入湖頁面單擊多庫合并建倉中的進入嚮導

  4. DLA首次訪問RDS時,需要您將RDS的唯讀許可權授予DLA,授權完成後單擊下一步

    說明

    如果您之前已經將RDS的唯讀許可權授予DLA,可以忽略該步驟。

    11

  5. 根據頁面提示,進行參數配置。

    類別

    參數

    說明

    手動選擇

    說明

    通過手動方式指定RDS執行個體,該方式適用於RDS執行個體個數不多且執行個體個數處於靜態或者不會頻繁動態增加的情境。

    類型

    資料來源的類型為RDS。 您可以勾選執行個體,將RDS執行個體添加到資料來源中。

    資料庫篩選規則

    輸入您要同步的資料庫名字。多個資料庫名字之間用英文逗號(,)分隔。資料庫名支援使用萬用字元%,例如user_%。

    通過查詢

    說明

    指定通過SQL查詢方式指定RDS資料來源,該方式適用於RDS執行個體個數較多且執行個體個數動態增加的情境。

    -

    例如,SELECT 'mysql' AS engine, 'db001' AS db_name, 'rm-111..aliyuncs.com' AS host, 3306 AS port, 'rm-123445' AS instance_id, 'vpc-3424555' AS vpc_id FROM tbl1

    認證資訊

    使用者名稱

    為使用方便,DLA要求您選擇的所有資料庫均使用統一的使用者名稱和密碼。

    密碼

    上述使用者名稱對應的密碼。輸入使用者名稱和密碼後,您可以單擊測試連接,進行連通性測試。

    建倉配置

    Schema名稱

    設定Schema的名稱,即RDS資料庫在DLA中的映射資料庫名稱。

    資料位元置

    建倉時,RDS資料在OSS中的詳細儲存地址。系統將自動拉取與DLA同地區的OSS Bucket,單擊選擇位置,您可以根據業務需要,靈活選取Bucket和Object。使用多庫合并建倉功能時,DLA需要有刪除OSS資料的許可權,以便進行從OSS資料到RDS資料的ETL(Extract Transform Load)操作,請參見授權DLA刪除OSS檔案

    同步時間

    設定將RDS資料同步至OSS的時間。系統預設的資料同步時間是00:30,您可以根據業務規律,將資料同步時間設定在業務低峰期,以免同步過程中可能對業務造成的影響。

    表名建置規則

    設定DLA建倉時,RDS表在數倉中的映射表名。映射表名將通過以下兩種規則自動產生:

    • IdentityResolver:數倉中的表名與RDS表名相同,適用於RDS中有分庫但沒有分表的情境。

    • RemoveTrailingUnderscoreAndNumberResolver:將RDS表名中最後一次出現的底線和數字去掉,作為數倉中的表名。例如,RDS表名為tbl_001,則數倉表名為tbl。

    分區配置

    設定數倉的分區欄位以及分區欄位值的產生方式。分區欄位值為一個包含變數的運算式,例如${rdsInstanceId}。DLA暫時支援以下變數:

    • rdsEngine:RDS支援的引擎類型,包含MySQL、SQLServer、PostgreSQL、Oracle。

    • rdsDbName:RDS資料庫的名字。

    • rdsTableName:RDS表的名字。

    • rdsInstanceId:RDS執行個體ID。

    • rdsVpcId:RDS執行個體所屬VPC ID。

      說明

      建議您同時填寫RDS執行個體ID以及資料庫名。

    進階配置

    自訂設定項,例如過濾欄位等。

    2

  6. 完成上述參數配置後,單擊建立,建立資料倉儲。

資料倉儲建立成功後,DLA自動在您設定的同步時間將RDS資料同步到OSS中,同時在OSS中建立與RDS相同的表結構、在DLA中建立對應的OSS表。