Data Transmission Service支援資料移轉、資料訂閱和資料即時同步功能,協助您實現多種典型應用情境。
不停機遷移資料庫
傳輸方式:資料移轉
為了保證資料的一致性,傳統的遷移過程需要您在遷移資料時停止向來源資料庫寫入資料。 根據資料量和網路條件,遷移過程可能需要幾個小時甚至幾天的時間。 這個漫長的過程可能會對您的業務產生很大的影響。
DTS則可以協助您以最小化的停機時間遷移您的資料。 在資料移轉期間,您的應用程式仍可以保持運行狀態。 唯一的停機時間是當您將應用程式切換到目標資料庫時。 通常,您可以將此切換視窗降低到分鐘層級。 資料移轉的流程如下圖所示。
資料移轉過程包括三個階段,即結構遷移、全量資料移轉和增量資料移轉。 在增量資料移轉期間,來源資料庫中進行中的資料變更會即時同步到目標資料庫。 遷移完成後,您可以驗證遷移到目標資料庫的資料和結構是否與您的應用程式完全相容。 當驗證通過後,即可將應用程式切換到目標資料庫,從而實現平滑遷移。
資料異地災備
傳輸方式:資料同步
如果您的應用程式部署在單個地區中,可能會因為斷電、網路中斷等不可抗因素而導致服務中斷。
針對這種情況,您可以在另一個地區構建災備中心,以提高服務可用性。 DTS會在業務中心和災備中心之間持續同步資料更新,並保持地區間副本同步。 如果主地區發生故障,您可以將使用者請求切換到災備地區。
異地多活
隨著業務的快速發展和使用者數量的增長,如果業務部署在單個地區中,可能會面臨如下問題:
- 使用者在地理位置上分布較廣,地理位置較遠的使用者訪問延遲較高,影響使用者體驗。
- 單個地區底層基礎設施的能力限制了業務擴充,例如供電能力,網路頻寬建設能力等。
為解決上述問題,您可以在同城/異地構建多個業務單元。各個業務單元之間通過DTS實現資料的雙向即時同步,保障全域資料的一致性。當任何一個單元出現故障時,您只需將該單元的流量切換至其他單元即可,可實現業務的秒級恢複,有效地保障了服務的高可用性。
您還可以根據業務的某個維度將業務流量分流至各個業務單元。例如,按照使用者所屬地區劃分各單元的流量,實現使用者就近訪問,降低網路延遲,提升使用者體驗。同時,各個業務單元分布在不同的地區,可以有效解決單地區的基礎設施限制業務擴充的問題。
助力快速搭建定製化BI系統
傳輸方式:資料同步
由於自建BI系統的複雜性,自建BI不能滿足越來越高的即時性要求。阿里雲提供了非常完善的BI體系,DTS可以協助您將自建資料庫即時同步至阿里雲的BI儲存系統(例如MaxCompute),助力您在阿里雲上快速搭建滿足自身業務的定製化BI系統。
資料即時分析
傳輸方式:資料訂閱
資料分析在提高企業洞察力和使用者體驗方面發揮著舉足輕重的作用,且即時資料分析能夠讓企業更快速、靈活地調整市場策略,適應快速變化的市場方向和消費者體驗。
DTS提供的資料訂閱功能,可以在不影響線上業務的情況下,協助您擷取即時增量資料。通過DTS提供的SDK,您可以將訂閱到的增量資料同步至分析系統中進行即時分析。
輕量級緩衝更新策略
傳輸方式:資料訂閱
為提高業務訪問速度,提升業務讀並發,通常的做法是在業務架構中引入緩衝層,讓業務所有讀請求全部路由到緩衝層,通過緩衝的記憶體讀取機制來提升業務讀取效能。由於緩衝中的資料不能持久化 ,一旦緩衝異常退出,那麼記憶體中的資料將會丟失。
DTS提供的資料訂閱功能,可以協助您非同步訂閱資料庫的增量資料,並更新緩衝的資料,實現輕量級的緩衝更新策略。
該架構具有以下優勢:
- 更新路徑短,延遲低
業務完成更新資料庫後直接返回,不需要關心緩衝失效流程,整個更新路徑短、延遲低。
- 應用簡單可靠
應用無需實現複雜雙寫邏輯,只需啟動非同步線程監聽增量資料,更新快取資料即可。
- 應用程式更新無額外效能消耗
資料訂閱通過解析資料庫的增量日誌來擷取增量資料,不會對業務和資料庫效能造成影響。
業務非同步解耦
傳輸方式:資料訂閱
電商行業涉及下單系統、賣家庫存、物流發貨等多個商務邏輯。如果將這些邏輯全部在下單流程中,需要全部變更完成後,才能返回下單結果。這種商務邏輯存在如下問題:
- 下單流程和耗費的時間較長,使用者體驗差。
- 系統穩定性差,任何一個下遊發生故障,將直接影響整個業務系統的可用性。
為提升核心應用使用者體驗和穩定性,您可以通過DTS提供的資料訂閱,將深耦合業務最佳化為通過即時訊息通知實現的非同步耦合,讓核心商務邏輯更簡單可靠,具體調整為:
該情境中,買家下單系統只要完成下單操作,就直接返回,底層通過DTS的資料訂閱即時擷取訂單系統的變更資料,業務通過SDK訂閱這些變更資料,並觸發庫存、物流等下遊商務邏輯,實現了整個業務系統的簡單可靠。
該應用情境在阿里巴巴內部得到了廣泛的應用,例如淘寶訂單系統每天有上萬個下遊業務,通過資料訂閱擷取訂單系統的即時資料更新,觸發自身的變更邏輯。
橫向擴充讀能力
傳輸方式:資料同步
對於有大量讀請求的應用情境,單個資料庫執行個體可能無法承擔全部的讀取壓力。您可以藉助DTS的即時同步功能構建唯讀執行個體,將讀請求分流至這些唯讀執行個體中,實現讀能力的彈性擴充,分擔主要資料庫執行個體的壓力。
用於資料倉儲的任務調度
傳輸方式:資料移轉
對於每天處理大量交易資料的大型線上應用程式,您可能需要採用“次日倉庫策略”,定期將資料轉送到資料倉儲。 例如,您希望將遷移安排在業務低峰期,以便將當天的交易資料傳輸到資料倉儲。 通過該部署,您的分析系統可以處理一天前的資料。