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 테이블에서 직접 작동합니다.
- 고성능: 재귀 SQL의 오버헤드를 회피하기 위해 CSR 메모리 구조를 사용합니다.
- 표준 SQL 인터페이스: 전용 그래프 쿼리 언어가 아닌 표준 SQL 함수를 통해 접근 가능합니다.
- 자원 보호: 방문 노드 추적 및 OOM 보호와 같은 내장된 보호 기능을 통해 데이터베이스 안정성을 보장합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트