Evokoa/pgGraph

Open-source graph database superpowers for your existing Postgres data.

解決的問題

pgGraph 解決了在標準關係型 PostgreSQL 表上執行圖形查詢(例如尋找最短路徑或多跳關係)時的效能瓶頸。它不依賴複雜的遞迴 SQL 或隨著資料增長而變慢的高成本連接,而是提供一個高速的圖形遍歷執行層。

工作原理

pgGraph 作為 PostgreSQL 擴充模組運作,將現有表格視為資料來源,同時建立高度優化的衍生圖形索引。

  • CSR 鄰接:將關係型資料編譯為壓縮稀疏行(CSR)邊儲存,實現 O(1) 的鄰接查找與原始記憶體掃描,而非基於 SQL 的關係發現。
  • 衍生狀態:圖形是從表格衍生的唯讀產物;PostgreSQL 繼續負責儲存、WAL 與耐久性,而 pgGraph 則負責遍歷邏輯。
  • 安全機制:為防止因無限制擴展導致資料庫當機,實作了電路斷路器,包括深度限制、前緣限制與記憶體保護。
  • SQL 整合:使用者透過 graph 模式中的 SQL 函數(例如 graph.search()graph.shortest_path())與圖形互動,無需學習 Cypher 等新查詢語言。

適用對象

專為已使用 PostgreSQL 的開發人員與資料庫管理員設計,他們希望在不將資料遷移至專用圖形資料庫的情況下,實現高效率的圖形搜尋或關係分析。

核心亮點

  • 無需資料遷移:直接在現有 PostgreSQL 表上運作,無需新架構或儲存系統。
  • 高效率:使用 CSR 記憶體結構,避開遞迴 SQL 的開銷。
  • 標準 SQL 接口:透過標準 SQL 函數存取,而非專用圖形查詢語言。
  • 資源保護:內建保護機制,如已訪問節點追蹤與 OOM 保護,確保資料庫穩定性。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案