本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用原生資料庫工具和 AWS DMS 進行遷移
許多 DBA 熟悉處理資料庫遷移和複寫的各種工具。這些工具通常由資料庫引擎廠商和第三方公司提供,而且與 Application Migration Service 提供的完全應用程式無關的區塊層級複寫方法不同,它們適用於特定資料庫引擎的邏輯層級。
以下是這些工具的清單,從最簡單到更複雜的方法:
-
完整備份/還原對於 IT 人員來說是一個熟悉、知名且易於使用的程序。方法取決於資料庫引擎的類型。程序通常會移動位於相同資料庫伺服器上的多個邏輯資料庫,也可以用來將資料庫還原至受管服務,例如 Amazon Relational Database Service (Amazon RDS)。備份/還原是最簡單的方法,但由於備份的大小以及在目標資料庫上建立、複製和還原其所需的時間,與其他選項相比需要更長的切換時段。如需此方法的詳細資訊,請參閱 AWS 方案指引網站上的原生 SQL Server 備份/還原和 Oracle RMAN。
-
邏輯備份或匯出是另一種取得完整或部分邏輯資料庫複本的方法。此原生資料庫引擎工具可讓您分解大型資料庫伺服器以遷移與特定應用程式關聯的選定資料庫。它對遷移內容提供了比完整備份/還原更多的控制,還支援將 Amazon RDS 作為目標。但是,出於與上一方法相同的原因,此選項也需要更長的切換時段。
-
原生資料庫高可用性 (HA) 工具包括 Microsoft SQL Server 中的 Always On 或分散式可用性群組叢集,以及 Oracle 的 Data Guard 複寫。這種方法需要大量努力才能跨延伸的跨網站 HA 叢集進行設定,並且由於延遲較長,以實現完全同步的主動-主動部署,因此可能會導致效能降低。但是,此方法在切換期間提供最接近零的停機時間。
-
Oracle GoldenGate、Qlik 和 Talend 等 AWS Database Migration Service (AWS DMS)
和原生資料庫複寫工具支援變更資料擷取 (CDC) 複寫。您可以使用這些工具複製部分或完整資料庫,並具有接近零停機時間的優勢,因為其會讓目標資料庫與來源資料庫保持同步。您也可以搭配 AWS Schema Conversion Tool (AWS SCT) 和 使用此方法 AWS DMS 進行異質遷移,同時遷移和現代化資料庫。 -
如果網路輸送量是資料庫遷移期間的瓶頸,您可以將 AWS DMS 與 AWS Snowball
結合使用來遷移和現代化非常大的資料庫。如需詳細資訊,請參閱部落格文章使用 AWS DMS 和 啟用大規模資料庫遷移 AWS Snowball 。
優點
與區塊層級複寫方法相比,使用資料庫工具進行遷移具有下列優點:
-
部分工具提供了停機時間最少的遷移。這些包括支援原生 HA 叢集或 CDC 複寫的 AWS DMS 和原生工具。
-
您可以使用大多數 DBAs 熟悉的工具來遷移叢集資料庫。
-
您可以將資料庫現代化作為遷移工作流程的一部分,並移到 Amazon RDS 或 Amazon Aurora 等受管資料庫服務。
-
當從單體基礎設施移至微服務、分割大型資料庫伺服器或叢集,或將較小的資料庫合併至較大的執行個體或 時,您可以利用整合和分解 (或部分資料庫遷移) AWS 服務。
缺點
上一節中討論的大多數好處都不屬於典型隨即轉移遷移方案,而是屬於平台轉換方法。此外,原生資料庫遷移方法在大規模遷移中也存在一些缺點,例如:
-
準備 – 您必須先完全預先佈建和設定目標基礎設施、資料庫伺服器和叢集,然後才能使用任何原生資料庫方法。
-
複雜性 – 某些方法 (例如完整備份或邏輯備份/還原) 必須與其他複寫方法結合使用,才能偵測自建立初始備份以來的所有變更。
-
可擴展性 – 當您大規模遷移時,沒有簡單的自動化架構可以將這些方法推展到其他資料庫叢集和伺服器。