Evokoa/pgGraph

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

解决的问题

像 PostgreSQL 这样的关系型数据库非常擅长处理结构化数据,但在处理复杂的图样式问题时却很吃力——例如查找两个实体之间的最短路径,或在特定跳数(hops)内发现记录。传统上,这些查询需要复杂的自定义递归 SQL,这可能会导致速度缓慢且难以维护。

工作原理

pgGraph 不是将数据迁移到单独的图数据库,而是从您现有的 PostgreSQL 表中构建一个专门的、读密集型的图索引。它使用压缩稀疏行 (CSR) 格式在连续的内存结构中存储关系,从而实现极快的遍历。您可以通过 graph 模式下的标准 SQL 函数与此图进行交互,同时 PostgreSQL 仍然是您数据的权威事实来源。

适用对象

  • 需要执行复杂关系查询,但又不想迁移到专用图数据库的 PostgreSQL 用户。
  • 寻求加速 GraphRAG 等基于图的工作负载的数据工程师。
  • 希望在保持所有数据位于现有关系模式和安全约束内的情况下,执行高速遍历(如最短路径或多跳搜索)的用户。

亮点

  • 零数据迁移: 您的数据保留在标准的 PostgreSQL 表中;pgGraph 仅创建派生索引。
  • 高性能: 使用专门的内存高效执行层,绕过递归 SQL 连接的开销。
  • SQL 原生: 不需要新的查询语言;使用 SQL 函数即可执行图搜索。
  • 安全特性: 包括深度限制和内存保护等内置断路器,防止无限制的遍历导致数据库崩溃。