日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Babelfish for RDS PostgreSQL

更新時間: 2024-12-02 16:19:46

當您希望在單一的數據庫實例中同時使用SQL Server和PostgreSQL能力,或計劃將現有應用從SQL Server遷移到更具成本效益的PostgreSQL時,Babelfish for RDS PostgreSQL實現了對T-SQL語句和TDS協議的支持。本文從產品特性、架構、適用場景以及使用方法等維度介紹Babelfish for RDS PostgreSQL實例,幫助您快速了解并上手使用。

Babelfish是什么

基于Babelfish for PostgreSQL的開源項目,阿里云RDS PostgreSQL實例購買時開啟Babelfish選項后,可以同時獲得Microsoft SQL Server和PostgreSQL兩種數據庫引擎數據查詢和處理的能力,從而使RDS PostgreSQL具備解析執行SQL Server T-SQL語句的能力。

Babelfish支持SQL Server Tabular Data Stream (TDS) wire protocolT-SQL(Microsoft SQL Server 查詢語言),因此您無需切換數據庫驅動程序或重新編寫SQL,只需要在適配少量代碼的情況下,將應用程序的數據庫從SQL Server遷移至開啟了Babelfish的阿里云RDS PostgreSQL實例上。

支持的T-SQL內置函數請參見Babelfish支持的T-SQL內置函數

適用場景

  • 如果您期望節省SQL Server的License費用支出。

  • 如果您計劃將SQL Server數據庫切換為PostgreSQL,又不希望投入大量的時間和精力重寫應用程序。

  • 如果您期望使用PostgreSQL強大的開源插件庫能力,例如時空定位插件PostGIS,時序插件TimescaleDB等。

  • 如果您期望一份成本享受兩種數據庫引擎的數據處理能力。

Babelfish for RDS PostgreSQL架構圖

image

架構說明:

  • Babelfish for RDS PostgreSQL實例具備兩個TCP端口,分別監聽來自SQL Server和PostgreSQL客戶端的SQL請求。

    • TDS Listener:接收SQL Server協議端口(TDS)的SQL請求,默認端口號為1433。

      說明

      Babelfish支持TDS協議7.1及更高版本,即支持Microsoft SQL Server 2000及以上版本。

    • PostgreSQL Listener:接收PostgreSQL協議端口的SQL請求,默認端口號為5432。

      說明

      當前支持RDS PostgreSQL 15。

  • Babelfish for RDS PostgreSQL實例接收來自TDS Listener端口的SQL請求時,該請求被轉發到T-SQL解析器,將SQL Server的T-SQL轉換為PostgreSQL可識別的執行計劃。

  • Babelfish for RDS PostgreSQL實例接收來自PostgreSQL Listener端口的SQL請求時,該請求被轉發到PostgreSQL解析器,生成執行計劃。

  • PostgreSQL內部的SQL執行器統一處理,執行所有計劃。

開啟了Babelfish功能的RDS PostgreSQL實例,使您同時具備了兩個數據庫引擎(PostgreSQL和SQL Server)的能力,既可以處理來自SQL Server的請求,又可以處理來自PostgreSQL的請求,在降低成本的同時獲得更多的能力支持。

遷移模式簡介

Babelfish for RDS PostgreSQL實例會預置一個名為babelfish_db的PostgreSQL數據庫,所有遷移的SQL Server對象和結構都會放置在該數據庫下。

說明

如果您通過TDS端口連接實例,babelfish_db數據庫不可見。

您可以選擇Single-DB模式(單數據庫模式)或Multi-DB模式(多數據庫模式)。不同模式下,babelfish_db內的SQL Server數據庫模式及名稱不同。

Single-DB模式

  • 架構圖single-db

  • 說明:該模式下,babelfish_db數據庫中用戶數據庫的Schema名稱與SQL Server中的相同。

    例如:通過TDS端口創建數據庫DB_A,然后在DB_A下創建schema_A。

    • 在PostgreSQL的babelfish_db數據庫中,Schema名稱為:dbo和schema_A。

    • 在SQL Server的DB_A數據庫中,Schema名稱為:dbo和schema_A。

Multi-DB模式

  • 架構圖Multi-DB

  • 說明:該模式下,在PostgreSQL中,用戶數據庫的schema名稱為dbname_schemaname。在SQL Server中,Schema名稱保持不變。

    例如:通過TDS端口創建數據庫DB_A,然后在DB_A下創建schema_A。

    • 在PostgreSQL的babelfish_db數據庫中,Schema名稱為:DB_A_dbo和DB_A_schema_A。

    • 在SQL Server的DB_A數據庫中,Schema名稱為:dbo和schema_A。

計費

Babelfish for RDS PostgreSQL實例與通用RDS PostgreSQL實例售價相同,不會收取任何額外費用,價格與所選地域、規格、存儲等配置相關,請前往購買頁面查看。

注意事項

  • 當前僅支持在購買實例時開通Babelfish,且實例需滿足以下條件:

    說明

    暫不支持集群系列實例。

    • 實例大版本:RDS PostgreSQL 15。

    • 實例產品類型為標準版。

  • 已購買的RDS PostgreSQL實例,暫不支持開通Babelfish。

  • 開通Babelfish后,暫不支持關閉。

  • 實例創建成功后,將會初始化創建babelfish_db數據庫,該數據庫為Babelfish實例的關鍵數據庫,請勿刪除,否則實例將不可用。

使用方法

上一篇: 變更實例彈性策略 下一篇: 創建Babelfish for RDS PostgreSQL實例
阿里云首頁 云數據庫 RDS 相關技術圈