1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.0.6 | 支援 MySQL 作為讀取資料源 |
4.1.4 | SAP HANA、DB2 支援作為讀取端 |
4.1.7.2 | 來源表若包含 _fdl_update_timestamp、_fdl_marked_deleted 欄位,實時同步時會遮蔽這些欄位 |
4.1.8.1 | 管道任務支援多對一同步;「選擇來源」步驟中可選擇多張結構相同的源表生成一個分組表 |
1.2 更多歷史版本
FineDataLink 版本 | 功能變動 |
---|---|
4.0.7 | 支援 SQL Server 作為讀取資料源 支援 Oracle 作為讀取資料源 |
4.0.18 | 支援 Oracle18c、19c、Oracle RAC 叢集作為讀取資料源 |
4.0.20.1 | 支援 0.10.2 到 3.4 的 Kafka 版本作為讀取資料源 |
4.0.27 | 支援快速批量選擇需要同步的資料表 |
4.0.29 |
|
4.0.30 |
|
1.3 功能簡介
「選擇來源」步驟中,需要設定進行實時同步的資料表/庫、同步類型等。如下圖所示:
2. 前提條件
1)使用者需已做以下準備工作:
步驟 |
---|
步驟一:資料源配置 根據實際情況選擇源端和目標端資料庫,資料管道支援的資料庫請參見:資料管道支援的資料源類型 在資料連結管理中配置源端和目標端的資料連結,便於在管道任務配置程式中,透過選擇資料源名稱來控制同步任務的讀取和寫入資料庫。詳情請參見:配置資料連結 |
步驟二:準備資料庫環境 基於需要設定資料管道任務的資料源,授予資料源配置的帳號在資料庫進行相應操作的權限。詳情請參見:数据库环境准备概述 |
步驟三:管道任務環境準備 |
步驟四:分配管道任務權限 若需要使用資料管道的使用者不是超級管理者,則需要為對應使用者分配資料管道的使用權限。詳情請參見:管道任務管理權限 |
2)點選「資料管道」,建立管道任務。如下圖所示:
3. 操作步驟
3.1 選擇資料源
1)管道任務支援的來源端請參見:資料管道支援的資料源類型
注1:4.0.29 及之後版本,自動遮蔽 Oracle 資料源 BLOB、CLOB、NCLOB、LONG、RAW、LONGRAW、BFILE 欄位同步。
注2:4.1.7.2 及之後版本,來源表若包含 _fdl_update_timestamp、_fdl_marked_deleted 欄位,實時同步時會遮蔽這些欄位。
2)點選「資料源權限檢查」按鈕,可以查看資料源是否有日誌讀取權限。如下圖所示:
3.2 讀取方式
根據來源端資料庫不同而變化。
3.3 同步類型
注:對於歷史資料量很大的情況,歷史資料往往要透過特定的高速裝載方式或者分多次多批匯入。管道任務僅使用在在全量同步完成後,接續開始增量同步,此時使用者可以使用僅增量同步類型。
3.3.1 存量+增量同步
先對所有存量資料同步,然後持續同步新增變化。
任務初次運作時,將完整運作全量同步+增量同步;任務中斷或暫停後,再次運作時,如果所有表的全量同步都已完成,則將從增量的斷點開始,直接運作增量同步。
3.3.2 僅增量同步
增量同步起點 | 說明 |
---|---|
選擇「任務啟動時間」作為起點時,將以任務啟動時間作為解析開始時間 對於使用目標資料源推薦方式匯入歷史資料時,沒有篩選條件的歷史全量資料匯入,可以設定增量同步起點為任務執行開始時間 | 1)任務僅包含增量階段,任務初次運作時,將按照配置的起始時間開始進行增量同步。 2)支援資料源:MySQL、Oracle、SQLServer、PostgreSQL 3)配置後生效時間點精度為:yyyy-MM-dd HH:mm:ss.000,精確到毫秒,時區以資料庫的時區為準。 注1:對於PostgreSQL 資料源,僅支援任務啟動時間作為起點 注2:SAP HANA 僅支援任務啟動時間作為起點 |
選擇「自訂時間」作為起點時,可指定增量起始時間,預設為空,必填,允許指定到秒。 可選時間的起點是檢查使用者資料庫日誌最早的時間。 對於使用目標資料源推薦方式匯入歷史資料時,基於時間篩選的歷史資料匯入,可以設定增量同步起點為最早的篩選時間 |
3.4 同步物件
可選擇要實時同步的資料表、資料庫。
3.4.1 快速選表
其中,「快速選表」按鈕可批量選擇多表,幫助使用者更快選擇來源表。如下圖所示:
3.4.2 普通表
場景:使用者希望一張源表的資料實時同步到另外一張目標表中。
在「已存在表」中選擇表到「要同步的表」中即可。
3.4.3 分組表
場景:裝置資料獲取場景中,源端有相同格式的多個庫的資料,需要實時同步到數倉的一張表中使用。
1)使用者可將多張結構相同的源表資料同步到一張目標表中,取所有源表欄位的交集作為分組表的欄位。如下圖所示:
注1:支援生成多個分組表。
注2:取交集時,只需要欄位名一致,如果多張來源表的欄位類型不一樣,向上取能相容所有來源欄位的類型作為分組表中該欄位的類型。
情況一:此時會校驗源表欄位交集的情況,若子表欄位完全交集,生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。
情況二:若沒有交集欄位,則提示:所選子表無欄位交集,無法生成分組表,建議取消操作並排查子表結構。如下圖所示:
該情況下無法生成分組表。
情況三:若存在部分交集欄位,則提示:存在交集外的子表欄位,這些欄位後續無法同步,建議取消操作並排查子表結構。生成分組表後,分組表名稱為使用者勾選的第一個子表的名稱。如下圖所示:
該情況下,生成的分組表中只包含交集欄位,可正常實時同步。
2)生成分組表後,如下圖所示:
注:若只存在分組表,普通表類型也存在,只不過普通表分類將灰化顯示,提示暫無普通表。
支援對分組表進行重新命名,多個分組表間不能重名;任務啟動後,不可重新命名分組表。支援對分組表進行刪除操作,刪除後,子表將退回到普通表。如下圖所示:
說明一:若存在分組表和普通表,普通表可行動到分組表中。如下圖所示:
說明二:已有分組表,選中子表,可退回普通表或退回已存在表。如下圖所示:
上述兩種情況都會觸發交集欄位校驗。具體說明參考下表:
場景 | 說明 |
---|---|
交集欄位無變動,且不存在交集外的子表欄位 | 更新分組表成功 |
交集欄位無變動,但存在交集外的子表欄位 | 給出提示:存在交集外的子表欄位,這些欄位後續無法同步,建議取消操作並排查子表結構;若點選「仍要更新」按鈕,生成的分組表中只包含交集欄位,可正常實時同步 |
交集欄位有變動(新增、減少、類型改變),且沒有運作過,給出提示:此操作將導致原分組表欄位變動,建議取消操作並排查子表結構 | 「存在問題的子表」中,若存在交集之外的欄位,點選「仍要更新」後,生成新的分組表後,會有黃色感嘆號提示: 否則,生成新的分組表後,沒有提示 |
交集欄位有變動(新增、減少、類型改變),且沒有運作過,交集欄位減少到0 | 提示分組表更新失敗 |
交集欄位有變動(新增、減少、類型改變),管道任務運作過 | 將更新失敗,提示:此操作將導致原分組表欄位變動,任務已運作過,不允許操作,建議排查子表結構 |