PgDog icon

PgDog

PgDog 是開源 PostgreSQL 代理,整合連線池、負載平衡與分片,支援水平擴充。可作為現有應用前方的即插即用層,無需修改應用。

PgDog

概覽

PgDog 是一個用於水平擴充的開源 PostgreSQL 代理。它將連線池、負載平衡與分片整合於單一可執行檔中,可透過 Helm 或 Docker 部署,並放置在既有 PostgreSQL 應用程式前方。

此產品的設計目標是在擴充規模的同時維持 PostgreSQL 行為不變。首頁強調交易池化、讀寫路由、感知分片鍵的查詢執行、跨分片交易、複寫表,以及對常見 Postgres 用戶端函式庫與遷移工作流程的支援。

核心能力

以真正交易模式進行連線池管理

PgDog 可作為 PostgreSQL 前方具交易感知能力的池化器。首頁表示,它能在保留工作階段狀態、advisory locks、LISTEN/NOTIFY 與 prepared statements 的同時,讓少量 PostgreSQL 連線共享給 100,000+ 用戶端。

讀寫負載平衡

它可透過單一端點,依據副本健康狀態、複寫延遲與故障切換偵測來路由讀寫。負載平衡區塊指出,SELECT 查詢會送往副本,而其他查詢則送往主節點,並使用 PostgreSQL 內建的 SQL 解析器以確保相容性。

基於查詢的分片與 scatter/gather 執行

PgDog 可從查詢中擷取分片鍵,並將其送往正確的分片。沒有鍵的查詢可同時在所有資料庫上執行,首頁將此描述為 scatter/gather 方法。

跨分片交易與結構協調

此產品支援跨分片寫入,並在發生錯誤時自動回滾,使用 PostgreSQL prepared transactions 與 two-phase commit。首頁也說明 DDL 會在各分片間傳播,因此常見的遷移工具可以繼續運作。

關聯式分片功能

PgDog 支援複寫表與分片本地聯結,並可在代理層產生且維持遞增的整數主鍵。它也支援透過一般 UPDATE 陳述式更新分片鍵。

常見使用情境

  • 降低 PostgreSQL 的連線壓力

    當應用程式需要比單一資料庫可舒適承載更多 PostgreSQL 用戶端時,可使用 PgDog。其交易池化模式適合高連線數,同時保留常見的工作階段功能。

  • 在主節點與副本之間路由流量

    可用它透過單一穩定端點將讀取送往副本、將寫入保留在主節點。此產品適合希望在不變更應用設定的情況下,加入延遲檢查與故障切換處理的團隊。

  • 將多租戶或基於鍵值的資料集分片

    當需要將具租戶意識或基於鍵值的資料拆分到多個分片,而又不想重寫應用程式時,可使用 PgDog。代理可從 SQL 讀取分片鍵,並將每個查詢導向正確的資料庫。

  • 在水平擴充時維持關聯式行為

    適合需要跨分片寫入、複寫表或分片本地聯結,同時維持 PostgreSQL 語義的工作負載。首頁強調 ACID 行為、two-phase commit,以及以 UPDATE 為基礎的鍵值移動等一般 SQL 模式。

  • 以機群規模營運 PgDog

    當團隊需要集中式機群管理、即時查詢指標,或實作工程支援時,可使用企業方案。路線圖與部落格將這些能力描述為面向較大型部署與正式營運。

Pros and Cons

Pros

  • 將池化、負載平衡與分片整合在單一 PostgreSQL 代理中,而非分散為多個工具。
  • 根據首頁與部落格說明,設計為即插即用代理,無需修改應用程式。
  • 在交易池化模式下支援 PostgreSQL 工作階段功能,例如 SET 指令、advisory locks、LISTEN/NOTIFY 與 prepared statements。
  • 可將讀取導向副本、偵測延遲或故障切換,並在不變更設定的情況下移轉流量。
  • 包含關聯式分片功能,例如跨分片交易、複寫表,以及跨分片的 DDL 傳播。

Cons

  • 收集到的來源未提供完整文件集,說明受支援的整合、驅動程式或基礎架構;目前僅有對用戶端函式庫與部署方式的概括提及。
  • 企業功能如控制平面與查詢洞察被描述為開發中,因此在來源資料中尚未正式提供。
  • 收集到的定價頁文字中沒有顯示價格細節,因此從這些來源無法清楚得知公開成本結構。

FAQ

PgDog 需要修改應用程式嗎?

PgDog 被設計為部署在既有應用程式前方的 PostgreSQL 代理。首頁與部落格將其描述為即插即用的代理,無需修改應用程式;募資公告則說明它可部署在雲端帳戶、內部機房、機櫃機房,或筆記型電腦上。

PgDog 是做什麼的?

來源顯示 PgDog 扮演三種角色:連線池、負載平衡器,以及分散式資料庫/分片代理。首頁與定價頁將其定位為單一可執行檔,負責連線池、讀寫路由與分片邏輯。

PgDog 是免費還是付費?

定價頁在收集到的文字中沒有顯示方案名稱或價格。它確實提供了開源專案的安裝路徑,而企業頁面則描述了控制平面、查詢洞察與專屬支援等獨立的企業功能。

PgDog Enterprise 包含什麼?

企業路線圖指出,團隊正在建置集中式設定、機群管理、角色型存取、查詢統計、自動查詢計畫分析,以及不良查詢封鎖。頁面也說目前已提供專屬支援。

PgDog 如何部署?

首頁展示了 Helm 與 Docker 的安裝範例,而募資公告說 PgDog 可部署在任何地方,包括內部機房與雲端帳戶。收集到的來源沒有提供受支援資料庫、驅動程式或雲端整合的完整對照表。

Quick Facts

分類
開發者工具
產品類型
開源 PostgreSQL 代理
核心功能
連線池管理器、負載平衡器、分片代理
部署方式
Helm、Docker、雲端、內部機房與本機環境
網站
pgdog.dev
企業狀態
控制平面與查詢洞察正在開發中;目前已提供專屬支援