這很重要
新專案不再支援適用於 PostgreSQL 的 Azure Cosmos DB。 請勿將此服務用於新專案。 請改用下列兩項服務之一:
使用 Azure Cosmos DB for NoSQL 作為專為高規模應用場景設計的分散式資料庫解決方案,其特色包括99.999% 的可用性服務等級協定(SLA)、即時自動調整,以及跨多個區域的自動容錯移轉。
針對使用開放原始碼超大規模 (Citus) 延伸模組的分區化 PostgreSQL 使用適用於 PostgreSQL 的 Azure 資料庫的彈性叢集功能。
叢集的大小 (節點數目及其硬體容量) 很容易變更。 不過,您仍然需要為新的叢集選擇初始大小。 以下是做出合理選擇的一些秘訣。
使用案例
我們經常以下列方式使用 Azure Cosmos DB for PostgreSQL。
多租用戶 SaaS
從現有的單一節點 PostgreSQL 資料庫實例移轉至 Azure Cosmos DB for PostgreSQL 時,請選擇一個叢集,其中工作節點的虛擬核心數和記憶體總計等於原始實例。 在這類案例中,我們看過因為分區化改善了資源使用率而讓效能提升 2-3 倍,從而允許較小的索引等等。
實際上,虛擬核心的數量是唯一的選擇。 RAM 配置目前取決於虛擬核心計數,如計算和儲存體頁面所述。 協調器節點不需要像工作節點那樣多的 RAM,但您無法獨立地選擇 RAM 和虛擬核心。
即時分析
虛擬核心總數:當工作中的資料可以容納在 RAM 中時,Azure Cosmos DB for PostgreSQL 的效能應該會隨著工作核心的數量成正比線性提升。 若要判斷您需要的適當虛擬核心數目,請考慮單一節點資料庫中查詢的目前延遲,以及 Azure Cosmos DB for PostgreSQL 中所需的延遲。 將目前的延遲除以所需的延遲,並將結果四捨五入。
背景工作角色 RAM:最好的情況是提供足夠的記憶體,讓大部分的工作中集合能夠容納到記憶體。 您應用程式所使用的查詢類型會影響記憶體需求。 您可以在查詢上執行 EXPLAIN ANALYZE,以判斷其所需的記憶體數量。 請記住,虛擬核心和 RAM 會一起擴展,如計算和儲存體一文中所述。