截止值 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

截止值

數據庫切換策略通常與應用程序的停機要求緊密結合起來。可用於數據庫切換的策略包括脱機遷移、閃存遷移、主動/主動數據庫配置和增量遷移。下列各節會詳細討論這些內容。

離線遷移

如果您可以在寫入操作期間使應用程序脱機一段時間,則可以使用AWS DMS滿載任務設置或數據遷移的脱機遷移選項之一。在此遷移過程中,讀取流量可以繼續,但必須停止寫入流量。由於需要從源數據庫複製所有數據,因此使用源數據庫資源(如 I/O 和 CPU)。

在高階關卡,離線遷移涉及下列步驟:

  1. 完成架構轉換。

  2. 啟動寫入流量的停機時間。

  3. 使用脱機遷移選項之一遷移數據。

  4. 驗證您的資料。

  5. 將您的應用程式指向新資料庫。

  6. 結束應用程序停機時間。

閃存切換遷移

在閃存式遷移中,主要目標是將停機時間降至最低。此策略依賴於從來源資料庫到目標資料庫的連續資料複製 (CDC)。遷移數據時,當前數據庫上的所有讀/寫流量都將繼續執行。由於需要從源數據庫複製所有數據,因此使用源服務器資源(如 I/O 和 CPU)。您應進行測試,以確保此數據遷移活動不會影響應用程序性能 SLA。

在高階關卡,閃存遷移涉及下列步驟:

  1. 完成架構轉換。

  2. 設定AWS DMS處於連續數據複製模式。

  3. 當來源和目標資料庫同步時,請驗證資料。

  4. 啟動應用程序停機時間。

  5. 推出指向新數據庫的應用程序的新版本。

  6. 結束應用程序停機時間。

主動/主動數據庫配置

主動/主動數據庫配置包括設置一種機制,以便在兩個數據庫用於寫入流量時保持源數據庫和目標數據庫同步。此策略所涉及的工作比離線或閃存遷移更多,但它在遷移過程中也提供了更大的靈活性。例如,除了在遷移過程中經歷最少的停機時間之外,您還可以將生產流量移動到新數據庫中,而不是執行一次性切換。您可以執行雙寫操作,以便對兩個數據庫進行更改,也可以使用雙向複製工具(如HVR以保持數據庫同步。此策略在設置和維護方面具有更高的複雜性,因此需要更多的測試來避免數據一致性問題。

在高階關卡,主動/主動資料庫配置包含下列步驟:

  1. 完成架構轉換。

  2. 將現有數據從源數據庫複製到目標數據庫,然後使用雙向複製工具或應用程序的雙寫操作保持兩個數據庫同步。

  3. 當來源和目標資料庫同步時,請驗證資料。

  4. 開始將流量的子集移動到新數據庫。

  5. 繼續移動流量,直到您的所有數據庫流量都移動到新數據庫。

增量遷移

在增量遷移中,您可以將應用程序遷移到較小的部分,而不是執行一次性的完全切換。根據您當前的應用程序體繫結構或您願意在應用程序中執行的重構,此切換策略可能有許多變化。

您可以使用設計結構描述添加新的獨立微服務,以替換現有的單片舊式應用程序的部分。這些獨立的微服務有自己的表,這些表不被應用程序的任何其他部分共享或訪問。您可以使用任何其他切換策略,逐個將這些微服務遷移到新數據庫。遷移的微服務開始使用新數據庫進行讀/寫流量,而應用程序的所有其他部分繼續使用舊數據庫。遷移所有微服務後,您將取消使用舊版應用程序。此策略將遷移分解成更小、易於管理的部分,因此可以降低與一次大型遷移相關的風險。