Data Integration是穩定高效、Auto Scaling的資料同步平台,致力於提供複雜網路環境下、豐富的異構資料來源之間高速穩定的資料移動及同步能力。
使用限制
資料同步:
支援且僅支援結構化(例如RDS、DRDS等)、半結構化、無結構化(OSS、TXT等,要求具體同步資料必須抽象為結構化資料)的資料的同步。即Data Integration僅支援傳輸能夠抽象為邏輯二維表的資料同步,不支援同步OSS中存放完全非結構化的資料(例如一段MP3)至MaxCompute。
網路連通:
支援單地區內及部分跨地區的資料存放區相互同步、交換的資料同步需求。 部分地區之間可以通過傳統網路傳輸,但不能保證其連通性。如果測試傳統網路不通,建議您使用公網方式進行串連。
資料轉送:
Data Integration僅完成資料同步(傳輸),本身不提供資料流的消費方式。
資料一致性:
Data Integration同步僅支援at least once,不支援exact once,即不能保證資料不重複,只能依賴主鍵+目的端能力來保證。
同步任務源端和目標端欄位類型需要注意精度,如果目標端欄位類型最大值小於源端最大值(或最小值大於源端最小值,或精度低於源端精度),可能會導致寫入失敗或精度被截斷的風險。(不區分源端和目標端類型,也不區分離線還是即時同步)
離線(批量)同步簡介
DataWorks的離線同步暫不支援跨時區同步資料。如果同步任務中同步的資料來源與使用的DataWorks資源群組不在同一個時區,則會導致同步的資料有誤。
Data Integration主要用於離線(批量)資料同步。離線(批量)的資料通道通過定義資料來源和去向的資料來源和資料集,提供一套抽象化的資料幫浦外掛程式(Reader)、資料寫入外掛程式(Writer),並基於此架構設計一套簡化版的中間資料轉送格式,從而實現任意結構化、半結構化資料來源之間資料轉送。
即時同步簡介
DataWorks的即時同步暫不支援跨時區同步資料。如果同步任務中同步的資料來源與使用的DataWorks資源群組不在同一個時區,則會導致同步的資料有誤。
Data Integration的即時同步包括即時讀取、轉換和寫入三種基礎外掛程式,各外掛程式之間通過內部定義的中間資料格式進行互動。
一個即時同步任務支援多個轉換外掛程式進行資料清洗,並支援寫入外掛程式實現輸出功能。同時針對某些情境,支援整庫即時同步全增量同步處理任務,您可以一次性即時同步多個表。詳情請參見即時資料同步。
全增量同步處理任務簡介
實際業務情境下,資料同步通常不能通過一個或多個簡單離線同步或者即時同步任務完成,而是由多個離線同步、即時同步和資料處理等工作群組合完成,這就會導致資料同步情境下的配置複雜度非常高。
為瞭解決上述問題,DataWorks提出了面向業務情境的同步任務配置化方案,支援不同資料來源的一鍵同步功能,例如,“一鍵即時同步至Elasticsearch”、“一鍵即時同步至Hologres”和“一鍵即時同步至MaxCompute”功能等,通過此類功能,您只需要進行簡單的配置,就可以完成一個複雜業務情境。
以業務資料庫資料同步到MaxCompute資料倉儲為例,當有大量的資料存放區在資料庫系統裡,需要將資料庫中的全量及增量資料同步到MaxCompute進行數倉分析時,Data Integration傳統方式是通過全量同步或者依賴資料庫表中的modify_time等欄位進行增量同步處理。但實際生產情境下,資料庫表中不一定存在modify_time等欄位,因此不能使用傳統的基於JDBC抽取的方式進行增量同步處理。而“一鍵即時同步至MaxCompute”功能實現了資料庫全增量即時同步到MaxCompute以及在MaxCompute上進行自動的全增量合并,可以使整個同步情境化繁為簡。
全增量同步處理任務具有如下優勢:
全量資料初始化。
增量資料即時寫入。
增量資料和全量資料定時自動合并寫入新的全量表分區。
全增量同步處理任務產品能力,詳情請參見:Data Integration側同步任務能力說明。
複雜網路環境下的資料來源同步
Data Integration支援複雜網路環境下的資料來源進行異構資料來源間的資料同步,包括但不限於以下環境:
資料來源與DataWorks工作空間在同一個阿里雲主帳號,並且同一個Region。
資料來源與DataWorks工作空間不在同一個阿里雲主帳號。
資料來源與DataWorks工作空間不在同一個Region。
資料來源在非阿里雲環境。
但在進行上述網路環境下的資料同步前,您需要確保Data Integration用於執行資料同步的資源群組與您將同步的資料來源端與目標端網路環境的連通,Data Integration支援您根據資料來源所在網路環境,選擇對應的網路同步任務,關於網路連通方案選擇與配置資源群組與資料來源的網路連通,詳情請參見:配置資源群組與網路連通。
基本概念
並發數
並發數是資料同步任務中,可以從源並行讀取或並行寫入資料存放區端的最大線程數。
限速
限速是Data Integration同步任務可以達到的傳輸速度限制。
髒資料
髒資料是對於業務沒有意義,格式非法或者同步過程中出現異常的資料。單條資料寫入目標資料來源過程中發生了異常,則此條資料為髒資料。 因此只要是寫入失敗的資料均被歸類於髒資料。例如,源端是VARCHAR類型的資料寫到INT類型的目標列中,導致因為轉換不合理而無法寫入的資料。您可以在同步任務配置時,控制同步過程中是否允許髒資料產生,並且支援控制髒資料條數,即當髒資料超過指定條數時,任務失敗退出。
由於髒資料原因導致離線/即時任務失敗,同步任務之前已經成功寫入的資料並不會復原撤銷。
Data Integration為了提升效能採用批量寫入目的端方式,當寫入異常時,該批次資料是否能復原取決於目的端是否支援事務機制。Data Integration本身不支援事務機制。
資料來源
DataWorks所處理的資料的來源,可能是一個資料庫或資料倉儲。DataWorks支援各種類型的資料來源,並且支援資料來源之間的轉換。
在Data Integration同步任務配置前,您可以在DataWorks資料來源管理頁面,配置好您需要同步的源端和目標端資料庫或資料倉儲的相關資訊,並在同步過程中,通過選擇資料來源名稱來控制同步讀取和寫入的資料庫或資料倉儲。