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 保护,确保数据库稳定性。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目