整庫即時同步功能通過一次性全量遷移與持續增量捕獲相結合,將來源資料庫(如MySQL、Oracle)完整、低延遲地同步至目標系統。整庫即時同步任務支援對源庫歷史資料進行全量同步,自動初始化目標端表結構與資料;隨後,自動轉為即時增量模式,利用CDC等技術持續捕獲並同步後續的資料變更。此能力適用於即時數倉、資料湖構建等情境。本文以MySQL資料整庫即時同步至MaxCompute為例,講述任務配置方式。
準備工作
資料來源準備
已建立來源與去向資料來源,資料來源配置詳見:資料來源管理。
確保資料來源支援整庫即時同步能力,參見:支援的資料來源及同步方案。
部分資料來源需要開啟日誌,如MySQL、Hologres、Oracle等。不同的資料來源開啟方式不同,詳見資料來源配置:資料來源列表。
MaxCompute:Decimal類型為MaxCompute 2.0支援的資料類型,所以在同步前,您需要先開啟MaxCompute2.0資料類型。詳情請參見2.0資料類型版本。
資源群組:已購買並配置Serverless資源群組。
網路連通:資源群組與資料來源之間需完成網路連通配置。
適用範圍
DataWorks支援整庫即時和整庫全增量兩種類型。兩者均可實現對源庫的歷史資料進行全量同步,隨後自動轉為即時增量模式,但兩者的時效性和對目標表要求有一定差異:
整庫即時同步任務支援在數據開發 (Data Studio) 與數據集成兩大模組中進行配置,兩者在功能上互連。
配置一致:無論是資料開發還是在Data Integration模組中建立任務,其配置介面、參數設定和底層功能完全一致。
雙向同步:在Data Integration模組中建立的任務,會自動同步並顯示在資料開發模組的
data_integration_jobs目錄下。這些任務會按照源端類型-目的端類型的通道進行歸類,便於統一管理。
配置任務
步驟一:建立同步任務
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的,在下拉框中選擇對應工作空間後單擊進入Data Integration。
在左側導覽列單擊同步任務,然後在頁面頂部單擊新建同步任務,並配置任務資訊:
數據來源類型:
MySQL。數據去向類型:
MaxCompute。具体类型:
整庫即時。同步步驟:
結構遷移:自動在目標端建立與源端匹配的資料庫物件(如表、欄位、資料類型等),但不包含資料。
全量同步(可選):一次性將源端指定對象(如表)中的所有歷史資料完整地複製到目標端。通常用於首次資料移轉或資料初始化。
增量同步(可選):在全量同步完成後,持續地捕獲源端發生的變更資料(新增、修改、刪除),並將其同步至目標端。
步驟二:配置資料來源與運行資源
在來源數據源地區選取項目已添加至工作空間的
MySQL資料來源,在去向數據源地區選取項目已添加的MaxCompute資料來源。在運行資源地區,選擇同步任務所使用的資源組,並為該任務分配資源組CU。
說明當任務日誌中出現
Please confirm whether there are enough resources...等資源不足的提示時,說明當前資源群組的可用計算單元(CU)已無法滿足任務啟動或啟動並執行需求。可在資源組配置面板中,適當調高任務佔用的CU數量,以分配更多計算資源。資源設定大小推薦值詳見:Data Integration推薦CU,實際使用時需根據實際情況進行調整。
並確保來來源資料源與去向資料來源均通過連通性檢查。
步驟三:同步方案配置
1. 配置資料來源
此步驟中,您可以在源端庫表地區選取項目源端資料來源下需要同步的表,並單擊
表徵圖,將其移動至右側已選庫表。若庫表數較多,可以使用庫過濾或者表過濾,通過配置Regex來選擇需要同步的表。
當需要將多個分庫分表(結構相同)寫入同一目標表時,可使用正則選表。

在源表配置中填寫Regex,DataWorks 將自動識別並採集所有匹配的源表,並將其資料統一寫入該運算式映射的目標表中。說明此方式適用於分區表合并同步情境(類分庫分表同步),提升配置效率,避免重複添加多對一同步規則。
2. 配置資料去向
若整庫即時同步任務僅選擇增量同步,可配置寫入目的表時的增量同步處理模式。
重放:僅支援PK Delta Table,與正常同步類似,僅同步資料欄位。
增量流水:支援普通表和Append Delta Table,將源表即時資料附加增刪改等元資訊後,寫入至目的表。增量流水表格式可參見:增量流水表格式。
3. 目標表映射
在此步驟,您需要定義源表與目標表的映射規則,並指定主鍵、動態分區、DDL/DML配置等規則,以確定資料寫入方式。
操作 | 說明 | ||||||||||||
刷新映射 | 系統會自動列出您選擇的源端表,但目標表的具體屬性需要您重新整理確認後才會生效。
| ||||||||||||
目標表名映射自定義(可選) | 系統存在預設的表名建置規則:
可實現如下情境:
| ||||||||||||
編輯欄位類型映射(可選) | 系統存在預設的源端欄位類型與目標端欄位類型映射,您可以單擊表格右上方的編輯字段類型映射,自訂來源端表與目標端表欄位類型映射關係,配置完後單擊應用並刷新映射。 編輯欄位類型映射時,需要注意欄位類型轉換規則是否正確,否則會導致類型轉換失敗而產生髒資料,影響任務運行。 | ||||||||||||
編輯目標表結構(可選) | 系統會根據自訂的表名映射規則,自動建立尚不存在的目標表,或複用已存在的同名表。 DataWorks將基於源端表結構自動產生目標表結構,常規情境下無需人工幹預。您也可以通過以下方式,修改表的表結構:
已存在的表僅支援添加欄位;建立表添加欄位、分區欄位,設定表類型或表屬性等。詳見介面開放編輯地區。 | ||||||||||||
目標表字段賦值 | 原生欄位會根據源端表和目標表的同名欄位進行自動對應,上述步驟中的新增欄位和分區欄位需要手動賦值。操作如下:
在賦值時支援賦值常量與變數,可在賦值方式中進行切換類型,支援方式如下:
說明 注意,分區個數過多會影響同步效率,單日新增分區超過1000個,分區建立失敗並終止任務。因此,定義分區欄位賦值方式時,需要預估分區可能產生的個數。謹慎使用秒級、毫秒級的分區建立方式。 | ||||||||||||
源端切分列 | 您可以在源端切分列中下拉選擇源端表中的欄位或選擇不切分。同步任務執行時將根據該欄位切分為多個task,以便並發、分批讀取資料。 推薦使用表主鍵作為源端切分列,不支援字串、浮點和日期等其他類型。 目前僅源端為MySQL時支援源端切分列。 | ||||||||||||
是否跳過全量同步 | 若已在步驟三配置全量同步,可以單獨取消同步某個表的全量資料同步。適用於已經通過其他方式將全量資料同步至目標端的情境。 | ||||||||||||
全量條件 | 在全量階段對源端進行條件過濾。此處只需寫where子句,不需要寫出where關鍵字。 | ||||||||||||
DML規則配置 | DML訊息處理用於在資料寫入目標端之前,對源端捕獲的變更資料( | ||||||||||||
其他 | 錶類型:MaxCompute支援普通表、
Delta Table詳細介紹參見:Delta Table。 |
步驟四:進階配置
進階參數配置
如果需要對任務做精細化配置,達到自訂同步需求,可以進入高級參數頁簽,修改進階參數。
單擊介面右上方的進階配置,進入進階參數配置頁面。
根據參數提示,修改參數值,參數含義見參數名稱後的解釋。
也支援使用AI配置,輸入自然語言修改指令,如調整任務並發數,由大模型產生參數推薦值,您可以根據實際情況選擇是否接受AI產生的參數。

請在完全明白對應參數的含義情況下再進行修改,避免產生任務延時、資源佔用過大導致阻塞其他任務、資料丟失等不可預料的問題。
DDL能力配置
即時同步部分鏈路可以感知源端表結構的中繼資料變更,並且通知目標端,使目標端同步更新,或採取其他諸如警示、忽略或終止運行等處理策略。
您可以單擊介面右上方的DDL能力配置,針對每一種變更類型設定對應的處理策略,不同的通道支援的處理策略不同。
正常處理:由目標端處理源端的DDL變更資訊。
忽略:忽略變更訊息,目標端不做修改。
出錯:終止整庫即時同步任務,狀態置為出錯。
警示:當源端出現此類變更時,向使用者警示。需在報警配置中配置DDL通知規則。
當源端新增列並通過DDL同步在目標端也建立了該列後,系統不會對目標表中的存量資料進行資料回填。
步驟五:發布並執行任務
完成所有配置後,單擊頁面底部的保存,完成任務配置。
整庫同步任務不支援直接調試,需要發布至運維中心運行。因此建立或者編輯任務均需執行发布操作後方可生效。
發布時,若勾選发布后直接启动运行,則在發布時會同步啟動任務。否則,發布完成後,需要進入介面,在目標任務的操作列,手動啟動任務。
單擊任務列表中對應任務的名稱/ID,查看任務的詳細執行過程。
步驟六:警示配置
1.新增警示
在列表,找到對應的整庫即時任務,單擊操作列的,可為任務配置警示策略。

(1) 單擊新建規則,配置警示規則。
您可以通過設定報警原因,對任務的業務延遲、Failover、任務狀態、DDL通知、任務資源利用率等指標進行監控,並根據指定的閾值設定CRITICAL或WARNING兩種不同層級的警示方式。
通過設定高級參數配置,可以控制警示資訊發送的時間間隔,防止一次性發送資訊太多,造成浪費和訊息堆積。
若警示原因選擇業務延遲、任務狀態和任務資源利用率,也支援開啟恢複通知,方便任務恢複正常後,通知接收人。
(2) 管理警示規則。
對於已建立的警示規則,您可以通過警示開關控制警示規則是否開啟,同時,您可以根據警示層級將警示發送給不同的人員。
2.查看警示
單擊展開工作清單的,進入警示事件,可以查看已經發生的警示資訊。
管理工作
編輯任務
在介面,找到已建立的同步任務,單擊操作列的更多,單擊編輯,可以修改任務資訊,操作步驟同任務配置。
對於非運行狀態的任務,您可以直接修改配置並儲存,然後將任務發布至生產環境使其生效。
對於運行中的任務,編輯任務並發布時,若未選擇发布后直接启动运行,原有的操作按鈕將變為應用更新。您須單擊此按鈕,變更才會線上上環境中生效。
單擊應用程式更新後,系統會對變更內容執行“停止,發布,重啟”三個步驟。
若變更方式為新增表或切換已有表:
更新應用時不支援選擇位點,單擊確認後,執行新表的結構遷移和全量初始化,待全量初始化完成後,開始與其他原有表一起執行增量操作。
若修改其他資訊:
更新應用時支援選擇位點,單擊確認後,從指錨點繼續運行。若不指定,從上次停止的時間位點開始運行。
未修改的表均不受影響,在更新重啟後,會從上次停止的時間點繼續運行。
查看任務
建立完成同步任務後,您可以在同步任務頁面查看當前已建立的同步工作清單及各個同步任務的基本資料。

您可以在操作列啟動或停止同步任務,在更多中可以對同步任務進行編輯、查看等操作。
已啟動的任務您可以在執行概況中看到任務啟動並執行基本情況,也可以單擊對應的概況地區查看執行詳情。

斷點續傳
適用情境
在任務啟動或重啟時,手動重設位點主要適用於以下情境:
任務恢複與資料續傳:當任務因故中斷後,為確保資料從準確的斷點處恢複,可能需要手動指定一個停機時間點作為新的啟動位點。
資料問題排查與回溯:若發現同步後的資料存在丟失或異常,可將位點回溯至問題發生前的時間點,對問題資料進行重放和修複。
任務配置重大變更:在對任務配置(如目標表結構、欄位對應等)進行重大調整後,建議重設位點從一個明確的時間點開始同步,以保證新配置下的資料準確性。
操作說明
單擊啟動,在彈窗中選擇是否重置位點:

不勾選重設位點,直接運行:繼續從上次停止的時間位點(最後一次checkpoint)運行。
重設位點,並選擇時間:從指定的時間位點開始運行,注意選擇的時間不要超過源端的Binlog支援的最早時間位點。
如果您在執行同步任務時提示位點錯誤或不存在,請按如下方式嘗試解決:
重設位點:在啟動即時同步任務時,重設位點並選擇源庫可用的最早位點。
調整日誌保留時間:如果資料庫位點到期,可以考慮在資料庫中調整日誌的保留時間,例如設定為7天。
資料同步:如果資料已經丟失,可以考慮重新全量同步,或者配置一個離線同步任務來手動同步丟失的資料。
常見問題
整庫即時常見問題參見:即時同步常見問題、全增量同步處理任務常見問題。
附錄:增量流水表格式
源表欄位平鋪
欄位名稱 | 說明 |
sequence_id | 增量事件的記錄 ID,值唯一且遞增。 |
operation_type | 操作類型(I/D/U) |
execute_time | 資料對應的時間戳記 |
before_image | 是否是變更前(Y/N) |
after_image | 是否是變更後(Y/N) |
src_datasource | 資料來源的資料來源 |
src_database | 資料來源的資料庫 |
src_table | 資料來源的表 |
欄位1 | 真實資料欄位1 |
欄位2 | 真實資料欄位2 |
欄位3 | 真實資料欄位3 |
源表欄位合并為 JSON
欄位名稱 | 說明 |
sequence_id | 增量事件的記錄 ID,值唯一且遞增。 |
operation_type | 操作類型(I/D/U) |
execute_time | 資料對應的時間戳記 |
before_image | 是否是變更前(Y/N) |
after_image | 是否是變更後(Y/N) |
src_datasource | 資料來源的資料來源 |
src_database | 資料來源的資料庫 |
src_table | 資料來源的表 |
ddl_sql | 當操作為 DDL 類型時,DDL 語句寫入本欄位 |
data_columns | 真實資料欄位合并為 JSON |
按鈕,選擇手動輸入和內建變數進行拼接,產生目標表名。其中變數支援源端資料來源名,源端資料庫名和源端表名。





按鈕添加欄位。
提示中查看變數的具體含義。