在 PostgreSQL 上執行 Microsoft SQL Server 應用程式進行很少甚至無需進行程式碼變更
Babelfish for Aurora PostgreSQL 是 Amazon Aurora PostgreSQL 相容版本的新功能,可讓 Aurora 理解來自為 Microsoft SQL Server 編寫的應用程式命令。
從舊式 SQL Server 資料庫遷移可能非常耗時且需耗費大量資源。遷移資料庫時,您可以使用 AWS Database Migration Service (DMS) 自動遷移資料庫架構和資料,但遷移應用程式本身時,通常需要完成更多的工作,包括重寫與資料庫互動的應用程式程式碼。
藉助 Babelfish,Aurora PostgreSQL 現在可以理解 Microsoft SQL Server 專有的 SQL 語言 T-SQL,並支援相同的通訊協定,因此您最初為 SQL Server 編寫的應用程式現在可以與 Aurora 一起使用,並且所需進行的程式碼變更更少。因此,修改 SQL Server 2005 或更高版本上執行的應用程式和將其到 Aurora 所需的工作減少了,從而可實現更快、風險更低且更經濟實惠的遷移。
Babelfish 是 Amazon Aurora 的內建功能,無需額外費用。只需在 RDS 管理主控台中按幾下,您就可以在 Amazon Aurora 叢集上啟用 Babelfish。
優勢
減少遷移時間和風險
藉助 Babelfish,Amazon Aurora PostgreSQL 支援常用的 T-SQL 語言和語義,從而減少了與應用程式呼叫資料庫相關的程式碼變更量。因此,您需要重新編寫的應用程式程式碼極少,從而降低了任何新應用程式錯誤的風險。
依照您自己的節奏進行遷移
藉助 Babelfish,您可以讓使用原生 PostgreSQL API 建置的新功能與 SQL Server 程式碼並行執行。Babelfish 使 Aurora PostgreSQL 能夠與常用的 SQL Server 查詢工具、命令和驅動程式一起使用。因此,您可以繼續使用您熟悉的工具進行開發。
現已推出 Babelfish for PostgreSQL 開放原始碼專案
Babelfish 原始程式碼現在在 GitHub 上同時以 Apache 2.0 授權和 PostgreSQL 授權的形式提供。您可以用任一授權的形式使用 Babelfish。
運作方式
Babelfish 實現了對常用 SQL Server 語言和語義 (T-SQL) 的支援,讓您的舊式應用程式能夠與 Aurora 通訊,而無需大量重寫程式碼。
![](https://d1.awsstatic.com/diagrams/HIW-Diagram_Babelfish-for-PostgreSQL%402x(V2)_product-page-diagram_CN-Babel_rev.fdcf016b66c7fcef949b5bbd9e6f44f919c28569.png)
客戶
Diligent 是領先的管控、風險及合規 (GRC) SaaS 公司,助力超過 100 萬使用者和 70 萬名董事會成員和領導者更快地做出更好的決策。Diligent One Platform 協助組織連接其整個 GRC 實務 (包括管控、風險、合規、稽核及 ESG),從而清晰呈現複雜的風險、引領監管變更,並以綜合視角提供具影響力的洞察。
「絕大部分的 Diligent 產品都在 SQL Server 資料庫上建置。使用 Babelfish,我們能夠加速 SQL Server 應用程式遷移至 Aurora PostgreSQL 相容版本,從而節省數千開發人員的時間,若採用手動遷移則需要數千小時。Babelfish 讓 Aurora PostgreSQL 能夠理解 SQL Server 方言 (T-SQL) 和通訊協定,因此,我們的 SQL Server 應用程式可在很少或沒有任何程式碼變更的情況下遷移,而 AWS 可免費提供 Babelfish 功能。我們還使用了 Babelfish Compass,這是一種獨立的開放原始碼工具,其快速分析了 T-SQL SQL/DDL 指令碼的相容性。使用 Babelfish 可讓我們大幅降低 Diligent 遷移至 AWS 關聯的整體基礎設施成本。此外,隨著我們使用 Babelfish 遷移至 Aurora PostgreSQL,我們現在已在使用 Amazon Aurora Serverless v2。透過善用 Aurora Serverless v2,我們可現代化資料庫,以自動擴展、降低營運開銷,以及降低 78% 的備份成本。」
Diligent 技術長 Satheesh Ravala
FactSet 為全球成千上萬的投資專業人士提供制定關鍵決策所需的資料和分析。FactSet 建立靈活的資料和軟體解決方案,同時在生產中利用 Babelfish for Amazon Aurora PostgreSQL 相容版本作為其技術堆疊的一部分。
「FactSet 對 Babelfish for Aurora PostgreSQL 深感興奮。Babelfish 大幅度加快從商業關聯式資料庫到 Amazon Aurora 上 PostgreSQL 的一系列遷移計劃的步伐,同時對我們的資料基礎設施進行現代化改造,而無需負擔像往常一樣轉換所有應用程式碼的工作。因此,我們的資料庫和應用程式團隊可以專注於產生收入的產品功能,而不是重寫查詢。」
FactSet 工程部資深總監 Wilson Tsai
FundApps 為金融機構提供自動合規監控服務,包括一些全球最大型的資產管理公司、對沖基金和投資銀行。為了實現簡化法規合規的使命,FundApps 在 AWS 上建置其服務,以符合成本效益的方式處理成長中企業的擴展需求,並最大限度地發揮其投資於創新的能力,同時達到減碳目標。
「Babelfish for Amazon Aurora PostgreSQL 相容版本讓我們能夠現代化資料庫,以充分利用 Amazon Aurora Serverless v2,而無需對應用程式做出重大變更。我們使用開放原始碼 Babelfish Compass 工具來產生相容性評估報告,其中將 90% 的 SQL 命令識別為與 Aurora PostgreSQL 相容。其餘的命令已透過簡單的因應方案解決,進而在幾週內即完成了遷移。藉助 Babelfish,我們能夠避免重寫大部分應用程式,從而加快交付時間,並讓團隊將時間集中在新產品創新,而不是遷移上。我們選擇 Aurora Serverless v2 來管理後台服務,這些服務既有需求激增時間,也有長期相對休止時間。Aurora Serverless v2 可讓我們在需要時擴展以滿足尖峰需求,而不必大量過度佈建。這讓我們能夠實現更好的整體使用率,降低成本,以及減少碳足跡。整體而言,從自我管理 MS SQL Server 遷移至 Aurora PostgreSQL,我們的資料庫成本降低了 60% 以上,而且我們不再需要進行絕大多數與關聯式資料庫關聯的傳統、無差異化維護工作。這意味著我們的工程師有更多時間投入到打造有價值的新產品。」
FundApps 技術長 Toby O'Rourke
如何開始使用
Babelfish for Aurora PostgreSQL 可用於 Amazon Aurora PostgreSQL 相容版本。您只需閱讀本文件,在 Amazon Aurora 管理主控台中按幾下即可開始。
進一步了解 Amazon Aurora 的功能