異質資料庫遷移的工具 - AWS 規定指引

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

異質資料庫遷移的工具

下圖提供可用來從 SQL Server 遷移到另一個資料庫引擎的工具清單。

移轉工具 目標資料庫支援 用於
AWS SCT

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

結構描述轉換
AWS DMS

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

資料移轉
Babelfish

Amazon Aurora PostgreSQL

資料存取與移轉

以下小節提供有關每個工具的詳細資訊。

AWS SCT

AWS Schema Conversion Tool(AWS SCT) 將您現有的商業資料庫結構描述轉換為開放原始碼引擎或AWS雲端原生資料庫。 AWS SCT藉由自動將來源資料庫結構描述和大部分資料庫程式碼物件 (包括檢視、預存程序和函數) 轉換成與目標資料庫相容的格式,使異質資料庫移轉可預測。

當您將資料庫結構描述從一個引擎轉換為另一個引擎時,您還需要更新應用程式中的 SQL 程式碼,以便與新的資料庫引擎互動,而不是舊的資料庫引擎。 AWS SCT還可以轉換 C ++,C#,Java 或其他應用程序代碼中的 SQL 代碼。任何無法自動轉換的物件都會清楚標示為手動轉換。 AWS SCT也可以掃描您的應用程式原始碼以取得內嵌 SQL 陳述式,並將其轉換為資料庫結構描述轉換專案的一部分。如需詳細資訊,請參閱AWS文件AWS SCT中的 < 使用微軟 SQL Server 做為來源 >。

AWS DMS

AWS Database Migration Service(AWS DMS) 將您的資料快速且安全地移轉至AWS. 在移轉期間,來源資料庫會保持完全運作,將應用程式停機時間降 AWS DMS支援同質移轉,例如將資料從一個 SQL Server 資料庫移轉到另一個資料庫。它也支援不同資料庫平台之間的異質移轉,例如將 SQL Server 資料庫移轉至開放原始碼資料庫或AWS雲端原生資料庫。 AWS DMS管理移轉程序的複雜性,包括將來源資料庫中發生的資料變更自動複製到目標資料庫。資料庫移轉完成後,只要您選擇,目標資料庫就會與來源資料庫保持同步,而且您可以在方便的時間切換至目標資料庫。如需詳細資訊,請參閱AWS文件AWS DMS中的 < 使用微軟 SQL Server 資料庫做為來源 >。

Babelfish

巴貝爾魚是亞馬遜極光的內置功能。適用於極光 PostgreSQL 的 Babelfish 可讓您的極光 PostgreSQL 相容版本資料庫,從為微軟 SQL 伺服器撰寫的應用程式中瞭解命令。修改 SQL 伺服器應用程式的 SQL 伺服器資料庫程式碼是 SQL 伺服器的專屬 SQL 方言,需要付出努力,而且耗時。適用於極光 PostgreSQL 的巴貝爾魚使得這個過程更簡單,更容易。使用 Babel 魚,您不必對應用程序代碼進行更改。相反地,您可以使用適用於 Aurora PostgreSQL 的巴貝爾魚將 SQL 伺服器資料庫遷移到與極光 PostgreSQL 相容的資料庫叢集。

使用 Babelfish,Aurora PostgreSQL 可以理解 T-SQL 並支援相同的通訊協定,因此您不必切換資料庫驅動程式或重寫應用程式查詢。您原先為 SQL Server 撰寫的應用程式現在可以透過較少的程式碼變更來使用 Aurora。如此可減少修改 SQL Server 或更新版本上執行的應用程式並將其移至 Aurora 所需的工作量,進而更快速、降低風險且更具成本效益的移轉。

如果您要從舊版 SQL Server 資料庫進行遷移,您可以使用 Babelfish 並排執行 SQL Server 程式碼,並排使用您使用原生 PostgreSQL API 所建置的新功能。巴貝爾魚可讓極光 PostgreSQL 與常用的 SQL 伺服器工具、命令和驅動程式搭配使用。

巴貝魚還通過使用本地 PostgreSQL 連接提供對數據的訪問。依預設,Babelfish 支援的兩種 SQL 方言都可以透過其在下列連接埠的原生接線通訊協定取得:

  • 對於 SQL 伺服器方言 (T-SQL),請連接至連接埠 1433。

  • 對於 PostgreSQL 方言,請連接至連接埠 5432。

透過提供來自 SQL 伺服器或 PostgreSQL 連接埠的連線,Babelfish 可讓您的舊版 SQL Server 應用程式與 Aurora 進行通訊,而無需進行大量程式碼重新寫入。下圖說明此架構。

巴貝魚和極光之間的通信

您可以從亞馬遜 RDS 管理主控台在極光叢集上啟用巴貝爾魚。如需指示,請參閱亞馬遜 RDS 文件中的為 Aurora PostgreSQL 資料庫叢集建立巴貝爾魚

如需有關移轉的詳細資訊,請參閱 Aurora 文件中的將 SQL 伺服器資料庫移轉至 Aurora PostgreSQL 的巴貝爾魚

如需其他資訊,請參閱下列資源: