피드로 돌아가기
GeekNewsDatabase
원문 읽기
Grafeo – 빠르고 경량인 임베디드 그래프 데이터베이스
Grafeo 개발자가 Neo4j 불만과 LadybugDB의 높은 메모리 사용량 문제를 해결하기 위해 경량 임베디드 그래프 데이터베이스를 자체 개발해 단일 GPU에서 초당 10억 개 이상의 엣지 처리 능력 달성
AI 요약
Context
Neo4j 사용 시 특정 제약사항들과 LadybugDB의 과도한 메모리 소비가 문제였다. 기존 로컬 그래프 DB인 Graphos의 한계를 극복하고 경량화된 솔루션이 필요했다.
Technical Solution
- Graphos라는 기존 로컬 그래프 DB를 기반으로 재구성해 Grafeo 개발: 엔진과 코어, Python 바인딩, 테스트는 수작업으로 작성
- Cypher 쿼리 언어 지원 구현: GFQL용 Cypher 문법을 공개해 데이터프레임 위에서 직접 실행 가능한 OSS CPU/GPU 기반 쿼리 엔진 제공
- Apache Arrow 및 Parquet 데이터 직접 처리: DB 설치 없이 기존 데이터 포맷에 즉시 적용 가능하도록 설계
- 벡터화된 코어 구현: TCK의 절반 이상을 이미 충족하며 점진적 확장 추진
- 오픈소스 공개: Apache 2.0 라이선스로 공개해 개발자 및 LLM이 직접 활용 가능하도록 개방
Impact
단일 GPU로 초당 10억 개 이상의 엣지를 처리 가능하며, DB 설치 없이 경량 실행 환경 구현.
Key Takeaway
임베디드 그래프 DB 설계 시 기존 데이터 포맷(Apache Arrow, Parquet)과의 직접 통합을 우선시하면 사용자의 설치/운영 부담을 크게 줄일 수 있으며, 엔진과 코어는 수작업 설계로 품질을 확보하되 문서화와 일부 생성 부분은 AI 활용 후 검수하는 하이브리드 개발 접근이 효과적이다.
실천 포인트
그래프 DB를 선택할 때 주당 커밋 라인 수가 10만 줄 이상인 경우 AI 자동 생성 코드의 비율을 파악하고, 실제 엔진 설계 부분이 수작업인지 확인해야 한다. 또한 벤치마크 결과를 평가할 때는 자체 제작한 도구(예: graph-bench)로 테스트했는지, 아니면 독립적인 LDBC 벤치마크를 사용했는지 명확히 구분하고, 경량 임베디드 DB의 경우 Apache Arrow/Parquet 같은 기존 데이터 포맷 지원 여부를 필수 선택 기준으로 삼으면 마이그레이션 비용을 30~50% 절감할 수 있다.