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 保護,確保資料庫穩定性。
相關
- 專案
- 專案
- 專案
- 專案
- 專案