
FalkorDB 공식 기술 블로그에 따르면 회사는 핵심 그래프 데이터베이스 엔진을 C에서 Rust로 재작성한 프리뷰를 3일 공개했다. 새 엔진은 Rust 코드 약 8만 줄로 구성됐으며, 357개 풀 리퀘스트가 병합됐다.
회사가 공개한 검증 현황은 오픈사이퍼(openCypher) 기술 호환성 키트 1,585개 시나리오와 1,322개 플로 테스트 통과다. FalkorDB는 기존 C 엔진의 이슈를 검토한 결과 Rust 전환으로 해결되는 미해결 버그가 100건 이상이었으며, 대부분 충돌과 메모리 손상 문제였다고 설명했다.
이번 작업은 제품 동작을 바꾸는 재설계보다 기존 엔진의 동작을 Rust로 옮기는 데 초점을 맞췄다. 그래프를 희소 행렬로 표현하고 탐색을 행렬 곱셈으로 처리하는 구조와 Redis를 호스트로 쓰는 방식은 유지했다. 새 엔진은 C 엔진의 v19 RDB 직렬화 형식과 바이트 단위로 호환되며, 기존 Cypher 쿼리와 API, 연동 방식도 그대로 사용할 수 있다는 것이 회사 설명이다.
개발 과정에는 AI 코딩 에이전트가 활용됐다. FalkorDB는 아키텍처와 MVCC 모델, 텐서 인코딩, 쿼리 플래너 등 설계 결정은 사람이 맡고, 테스트 파일 이전이나 다중 작성자 테스트 수정처럼 범위가 정해진 구현 작업을 에이전트에 맡겼다고 밝혔다. 회사는 전체 코딩의 대부분이 AI로 이뤄졌다고 설명하면서도 모든 변경은 사람이 검토하고 호환성·동시성 테스트를 통과하도록 했다고 덧붙였다.
성능은 회사 내부 벤치마크에서 기존 C 엔진과 비슷하거나 일부 작업에서 더 높은 수준을 보였다고 발표했다. 다만 이는 제3자 검증 결과가 아닌 자체 측정치다. Rust 엔진은 현재 프리뷰 단계이며, MVCC 모델에 맞춘 네이티브 인덱스 라이브러리도 아직 개발 중이다.
FalkorDB는 새 엔진을 호스트 데이터베이스와 분리된 크레이트로 구성했다. 저장소와 행렬 계층, 플래너, 실행기가 호스트 의존성 없이 컴파일되도록 경계를 나눠 향후 다른 바이너리에 연결하거나 별도 서버 프로세스로 구동할 가능성도 열었다. 데이터베이스처럼 안정성과 호환성이 중요한 시스템에서 AI 코딩 에이전트를 활용하되, 사람이 설계하고 기존 테스트 묶음을 품질 기준으로 삼은 사례라는 점도 주목된다.
출처: FalkorDB 공식 기술 블로그, FalkorDB GitHub 저장소
https://www.falkordb.com/blog/rewriting-falkordb-in-rust/
https://github.com/FalkorDB/FalkorDB