適用於 PostgreSQL 的 Azure 資料庫 與 Elastic Cluster 的優點

適用於 PostgreSQL 的 Azure 資料庫 – Elastic Clusters 是 Azure 分散式 PostgreSQL 產品的下一個演進,基於 適用於 PostgreSQL 的 Azure 資料庫 Flexible Server 並搭配 Citus 擴充功能。 對於目前運行 Azure Cosmos DB for PostgreSQL 的客戶來說,Elastic Clusters 為分散式 Postgres 工作負載提供功能均衡,並提供更整合、靈活且具成本效益的前進路徑。

  • 明確且前瞻性的路線圖:Elastic Clusters 是 Azure 上分散式 PostgreSQL 的策略方向,並持續投資(例如計畫中的故障轉移、儲存空間自動成長及長期保留等計畫性強化)。 Azure Cosmos DB for PostgreSQL 目前正走在退役階段,期間支援有限。

  • 成本更低且簡單(無專屬協調員附加費):Elastic Clusters 不需要為協調者單獨計費的節點,這能降低基線成本,並使價格更容易在擴展時預測。

  • 更靈活的效能選擇:您可以在突發、通用、記憶體優化層級及較新的計算系列層級中進行選擇,以根據工作負載的演進調整每個節點的成本與效能。

  • 從任意節點執行查詢:彈性叢集允許透過任何節點進行查詢存取,提升工具、故障排除及工作負載模式的操作彈性,這些模式受益於多點入口。

  • 現代 PostgreSQL 功能更快:更快採用新版 PostgreSQL(包括 PostgreSQL 17 支援)有助於客戶更早取得安全更新、效能提升及新語言功能。

  • Elastic Clusters 建立在 Azure 資料庫的 PostgreSQL Flexible Server 上:繼承了客戶已在 Flexible Server 使用的營運模式——備份、監控/指標、維護控制及平台整合——降低了第二階段營運複雜度。

  • 強化身份與安全整合:支援管理身份與 Microsoft Entra ID 認證,有助於簡化秘密管理,並將資料庫存取與企業身份控制對齊。

特徵比較

特色/分類 Azure Cosmos DB for PostgreSQL 適用於 PostgreSQL 的 Azure 資料庫 彈性叢集 備註/校驗
基礎技術 PostgreSQL + Citus 擴充套件(分散式表格/分片) PostgreSQL + Citus 擴充套件(水平分片) 平等。
分片模型 基於行(分散式資料表)、基於模式(分散式模式) 資料列分片與架構分片 平等。
建築 協調節點 + 工作節點(無共享) 多個彈性伺服器節點相互連接為 Citus 叢集 類似;Elastic 是建立在 Flexible Server 實例之上。
水平縮放 新增工作節點;再平衡碎片 新增工作節點;再平衡數據 平等。
垂直縮放 按節點擴展運算/儲存 按節點擴展運算/儲存 平等。
高可用性 是的(區域冗餘選項;自動切換) 是的(叢集感知型 HA) 平等。
讀取複本 Yes Yes 平等。
專屬協調員(額外費用) Yes 否 彈性優勢。
來自任一節點的查詢 否 Yes 彈性優勢。
計算選擇 突發式或固定記憶體與核心比率;無法選擇計算世代 突發型、通用型、記憶體優化;計算級數的選擇 彈性優勢。
每節點(核心)最大運算次數 96 個虛擬核心 96(很快將有192) 平等。
定價(記憶體優化後) 節點:$0.1425/虛擬核心小時 + 協調員($0.44/小時)或 $0.11/虛擬核心小時 每小時 0.125 美元(無專屬協調員) 彈性優勢(較簡單的成本模型)。
計算定價(通用用途) N/A 每 vCore 小時 0.09 美元 僅彈性。
儲存定價 每月0.115美元/GB。 每月0.115美元/GB。 平等。
線上再平衡 Yes Yes 平等。
PostgreSQL 版本 直到最近的版本(例如以往的第15/16版) 支援最新版本,包括 PostgreSQL 17 彈性優勢(支援較新版本)。
Postgres 17/18 支援 否 Yes 彈性優勢(支援較新版本)。
擴充支援 關鍵擴充功能的子集(例如 PostGIS、JSONB) 標準彈性伺服器擴充功能;一些限制(例如,叢集模式下沒有 TimescaleDB) 奇偶校驗(小差異)。
Microsoft Entra ID 驗證 Yes Yes 平等。
HA 計畫中的故障轉移 否 規劃中(GA+) 空隙(計畫中)。
私人端點 Yes Yes 平等。
虛擬網路 否 否 奇偶性(不支援)。
PgBouncer 支援 — Yes 彈性優勢(支援較新版本)。
每個節點的最大連接數 每個節點 300 個(0–3 個虛擬核心);每個節點 500 個(4–15 個虛擬核心);每個節點 1000 個(16+ 虛擬核心)。 最大 2500 每個節點3000元 彈性優勢。
叢集或節點層級指標 Yes Yes 平等。
多租戶監控 Yes Yes 平等。
建立 NOLOGIN 角色 否 Yes 彈性優勢。
維護時段 Yes Yes 平等。
地理備份與還原 Yes Yes 平等。
受控識別 否 Yes 彈性優勢。
客戶管理金鑰(加密) Yes Yes 平等。
Terraform Yes Yes 平等。
記憶體自動成長 否 規劃中(GA+) 彈性優勢。
高級 SSD v2(80K IOPS/節點) 否 規劃中(GA+) 彈性優勢。
移除節點 不行¹ 否 Parity
長期保留 否 路線圖(GA+) 彈性優勢。
查詢存放區 否 路線圖(GA+) 彈性優勢。
管理與整合 Azure Cosmos DB 入口網站/體驗的一部分;與宇宙生態系統的連結 整合於 適用於 PostgreSQL 的 Azure 資料庫 Flexible Server(例如,備份、指標、Microsoft Entra ID) 不同的傳送門;Elastic 利用 Flexible Server 功能。
定價模式 基於 vCore 的配置;協調員/工作人員分開配置 vCore、儲存、IOPS(Citus 不需額外付費) 彈性優勢(較簡單的模型)。
網路 公共存取(防火牆規則)、私人存取(私人連結)或兩者皆有 公共存取(允許的 IP 位址);透過底層彈性伺服器節點的 Private Link 進行私人存取 奇偶校驗(類似選項)。

¹ 移除節點功能可透過重新平衡的方式將資料移出節點,但該節點本身不會自動被取消配置。

移轉工具

提供專用遷移工具,協助從 Azure Cosmos DB for PostgreSQL 無縫過渡到 適用於 PostgreSQL 的 Azure 資料庫 Elastic Cluster。 此工具能自動化結構與資料遷移,減少停機時間,並確保資料完整性。

遷移方法的核心是從 Flex 上擷取 CPG 叢集的快照,並將其掛載為目標彈性叢集(EC)的主要資料磁碟,大幅縮短遷移時間並確保資料忠實度,且不受網路品質影響。 接著我們會把原本 Flex /data drive 的 delta 檔案(副檔名、PG 與擴充名設定、憑證、歸檔日誌等)複製到新硬碟。

該工具連同彈出提醒將於 4 月 13 日起,透過 Azure Cosmos DB for PostgreSQL 的遷移標籤提供。

Azure Cosmos DB for PostgreSQL 叢集儀表板的截圖,包含各項資訊與選項,如叢集屬性、存取政策、指標及管理功能。

接著,可以透過提供目標伺服器的簡單細節來啟動遷移

Azure Cosmos DB for PostgreSQL 的遷移設定頁面截圖,包含各種遷移過程的設定。

SKU 映射

Azure Cosmos 的 PostgreSQL 資料庫將依照下方映射表與目標 適用於 PostgreSQL 的 Azure 資料庫(彈性叢集)進行匹配。 遷移後,客戶幾乎可以無停機時間地擴展或縮小規模。

來源 ServerEdition 資料來源 vCores 目標名稱 目標等級
爆發性記憶體優化 (BurstableMemoryOptimized) 1 Standard_B2s 突發性
彈性通用型 2 Standard_B2s 突發性
通用目的 2 Standard_D2ds_v5 通用目的
通用目的 4 Standard_D4ds_v5 通用目的
通用目的 8 Standard_D8ds_v5 通用目的
通用目的 16 Standard_D16ds_v5 通用目的
通用目的 32 Standard_D32ds_v5 通用目的
通用目的 64 Standard_D64ds_v5 通用目的
通用目的 96 Standard_D96ds_v5 通用目的
記憶體優化 2 Standard_E2ds_v5 記憶體優化
記憶體優化 4 Standard_E4ds_v5 記憶體優化
記憶體優化 8 Standard_E8ds_v5 記憶體優化
記憶體優化 16 Standard_E16ds_v5 記憶體優化
記憶體優化 32 Standard_E32ds_v5 記憶體優化
記憶體優化 64 Standard_E64ds_v5 記憶體優化
記憶體優化 96 Standard_E96ds_v5 記憶體優化

遷移流程

  1. 使用者從 Azure 入口網站的 CPG 叢集頁面開始遷移。

  2. 該入口網站會執行預先驗證檢查。

  3. 若檢查通過,入口網站會為目標彈性叢集(EC)配置 CPG 遷移設定(例如整合/PG+Citus 版本設定)。

  4. 入口網站會開始在已配置的 EC 上進行遷移。

  5. 遷移工具會將 CPG 叢集切換為唯讀,並觸發快照建立(多節點則每節點建立一次快照)。

  6. 它使用快照資源 ID 呼叫 Elastic Cluster,以開始以磁碟為主的遷移。

  7. 它會從快照建立新的資料磁碟,鎖定 EC,停止容器,並將新磁碟替換為主要 /datadrive。

  8. 它會將「delta」平台檔案(擴充功能、PG/擴充功能設定、憑證、歸檔/WAL 等)複製到新磁碟,然後還原擁有權/權限並執行必要的元資料修正(例如節點映射、角色、擴充功能)。

  9. 它啟動容器並完成遷移操作;

  10. 成功後,工具會對 EC 套用遷移後的設定(使用者覆寫設定、HA 設定)。

  11. 遷移完成:完成後入口網站會更新成功或失敗狀態。 CPG Cluster 會被停止,Elastic Cluster 成為新的可寫目標,客戶可切換至此(建立新的連接字串,必要時重建 PEC)。

平均遷徙時間

大多數情況下,端到端的遷移在 10分鐘內完成。 寫鎖定(唯讀)視窗——從原始叢集切換為唯讀直到目標彈性叢集可寫為止——通常平均約 5–8 分鐘,適合在標準排程維護時段內執行。

影響時序的關鍵因素包括:資料庫大小與節點數量(更多快照/磁碟)、擴充範圍的使用範圍。