什麼是資料庫移轉?
資料庫移轉是將資料庫從一個環境轉移到另一個環境的程序。當企業尋求現代化應用程式時,他們會將相關資料庫從內部部署伺服器移轉至雲端。
將資料庫移轉至雲端可讓公司提高服務的可靠性、可擴展性和效能。此外,雲端資料移轉可降低維護內部資料中心的基礎設施成本。
將資料磁碟區移至雲端是確保資料完整性、合規性和業務連續性的重要步驟。考慮以下事項。
預算
資料移轉包括資料稽核、映射、測試以及移轉後監控等任務。有時,存取資料庫的應用程式需要修改,然後才能讀取移轉資料庫中的資料。企業必須針對執行此類任務所需的時間、成本和資源確定預算。
停機時間
移轉資料庫時,請計劃在來源與目的地目標之間切換時的停機時間。雖然無法實現零停機時間,但可以透過規劃移轉並使用適當的資料庫移轉工具來減少業務中斷。例如,您可以在轉換前很久測試雲端資料庫,以確保應用程式可靠性和資料準確性。
來源和目標系統
同質傳輸將資料從來源移動到具有類似資料庫引擎的目標系統。相比之下,將資料移動到不同的目標平台稱為異質傳輸。例如,將 MySQL 資料庫移轉至 MySQL 資料庫是同質移轉,而將 Postgres SQL 傳輸到 Amazon Aurora 就是異質傳輸。同質傳輸更加直觀,因為資料庫可以轉移至目標目標,而無需執行額外操作。但是,如果涉及異質移轉,資料庫架構設計師必須先清理並轉換資料,然後再傳輸資料。
移轉類型
資料庫移轉可以有下列類型。
- 部分移轉僅會將整個資料集的一部分從原始資料庫移至雲端。
- 完整資料庫移轉會將所有資料從來源傳輸到目標平台。
在任何傳輸之後,來源資料庫與應用程式中斷連線。另一種移轉類型是持續移轉或資料複寫。它將資料從來源無限期複製到目的地資料庫。
資料庫移轉有哪些類型?
在移轉之前,請考慮何種移轉類型最適合您的使用案例。
離線移轉
離線移轉適合轉移可承受大量停機時間的非關鍵資料庫。執行離線移轉時,必須在特定期間停止應用程式寫入資料庫。該時間間隔可讓資料庫架構師將資料庫直接移轉至雲端,並修改應用程式。通常,企業在現代化雲端移轉工具不支援的舊式系統時會選擇離線移轉。同樣,離線資料庫移轉非常適合及時資料更新並非關鍵任務的測試和開發專案。
下面舉例說明將內部部署 Oracle 資料庫移轉至 Amazon RDS for Oracle。儘管託管在不同的基礎設施上,但兩個資料庫分享相似的引擎。因此,資料移轉程序很簡單,如下所述。
步驟 1 — 建立網路連線
使用安全的網路將內部部署資料庫連線至 AWS 雲端。您可以設定虛擬私有網路,或使用 AWS Direct Connect 啟用內部部署至雲端的連線。藉助 AWS Direct Connect,您可以直接連線資料庫,而無需透過公有網際網路傳遞資料庫。
步驟 2 — 停止應用程序寫入
若要防止對目標資料庫進行意外變更,請停止應用程式寫入來源資料庫。
步驟 3 — 將資料從內部部署傳輸到雲端
接下來,在雲端伺服器上部署原生資料傳輸工具。為降低成本,我們建議在 Amazon EC2 上設定工具。 這樣,您僅需為用於執行原生資料庫工具的資源支付費用。然後,這些工具將用於從來源資料庫中擷取資料並將其還原到雲端資料庫。
步驟 4 — 執行資料庫轉換
將整個資料庫傳輸到雲端後,請驗證它以確保資料一致性。然後,將所有資料查詢從應用程式重新導向至新資料庫。
生產工作負載移轉
移轉生產工作負載需要採用與轉移非關鍵資料庫不同的方法。生產工作負載及其資料來源無法離線。即使在資料傳輸進行中時,使用者也必須能夠像往常一樣存取服務。因此,需要充分規劃和協調,以便在不關閉應用程式的情況下實現移轉。
架構師會套用自主的指令碼或第三方資料複寫工具來移轉生產工作負載的資料庫。這些指令碼或工具將資料從內部部署資料庫複寫到雲端資料庫。在進行資料複寫時,內部部署資料庫仍會維持運作狀態。
當軟體開發人員修訂指令碼以滿足全新和持續的資料要求時,挑戰隨之出現。此外,他們使用的第三方資料庫工具可能需要更新才能成功移轉資料庫。
線上資料庫複寫
複寫資料庫涉及編寫指令碼,該指令碼在新資料庫引擎中設定資料庫結構描述,然後將資料從來源傳輸到目標資料庫。結構描述包含在相關資料庫中儲存和排列資料的定義。工程師可以使用第三方資料複寫工具,在不同伺服器上建立和維護多個資料副本。這兩種方法具有同等的挑戰性,因為它們涉及大量的人工干預,容易發生錯誤,並且效率低下。
如果您想要更高效且安全的線上資料庫複寫方式,請考慮 AWS Database Migration Service (DMS)。 它是一種雲端服務,可在各種資料庫引擎之間自動化資料庫移轉。不需要手動編寫資料傳輸的指令碼,而是可以讓 DMS 自動掃描原始資料庫的結構描述,以及為目標建立新的結構描述。這可讓開發人員專注於創新應用程式,而不是進行費力的資料庫管理。
下面我們分享如何將內部部署資料庫複寫至雲端。
步驟 1 — 庫存現有資料
分析目前在內部部署中託管的資料庫。若要加速程序,請使用 AWS DMS Fleet Advisor。此工具會分析現有的資料庫和分析伺服器機群,並識別潛在的移轉路徑。它還會編譯效能、結構描述、用量模式和其他指標。
步驟 2 — 將資料庫轉移至雲端
使用 AWS DMS 將整個資料庫從內部部署資料中心移轉至雲端。此外,您可以開啟 DMS 的變更資料擷取 (CDC) 模式,以啟用近乎即時的複寫。藉助 CDC,DMS 會擷取原始資料庫中發生的資料變更,並將這些變更套用至所有複寫的資料庫。
資料庫重構
在某些情況下,資料庫移轉策略涉及重構或異質傳輸。企業會出於多種原因而在現代化應用程式時重構資料庫,包括降低授權成本、存取雲端功能以及改善資料品質。 在異質移轉中,儲存在來源資料庫中的資訊無法按原樣轉移。必須根據目標資料庫支援的新結構描述清理、轉換和結構化資料。
以下是協助您重構資料庫的步驟。
步驟 1 — 稽核資料庫
分析內部部署資料庫,識別用於儲存資料的結構描述。規劃如何將目前的資料儲存在新資料庫中。有時,資料庫重構涉及將多個資料庫合併為一個資料庫,或將資料從單一資料庫分佈多個資料庫。
步驟 2 — 轉換資料庫結構描述
將從來源資料庫編譯的結構描述轉換為目標資料庫所需的格式。您可以使用 AWS DMS Schema Conversion 簡化該程序。
注意:資料庫工程師可能需要手動建立或修改新結構描述,尤其是對於高度複雜的資料集。
步驟 3 — 啟動資料庫移轉
使用 AWS DMS 將資料從內部部署移轉至雲端資料庫。若要確保雲端資料庫在移轉期間擷取所有變更,請開啟 CDC 模式。傳輸所有資料後,將應用程式服務重新導向至雲端資料庫。
AWS 如何支援您的資料庫移轉需求?
企業將資料庫移轉至雲端,以降低基礎設施成本,提高服務可靠性,以及利用其他雲端功能。資料庫移轉可以像移植整個資料庫一樣簡單,但也可能重建整個結構描述以滿足新的資料要求。無論移轉的複雜性如何,確保安全、準確和及時地轉移資料都至關重要。探索 AWS Database Migration Service,了解可提供近乎即時轉換、資料庫分析、自動化資料傳輸等功能的受管工具。