무엇인가
FalkorDB는 그래프 전체를 메모리에 두고 Cypher로 질의하는 그래프 데이터베이스이며, Redis 모듈로 돕니다. 뿌리는 RedisGraph입니다. Redis가 2023년 7월 RedisGraph 종료를 발표하며 든 이유는 기술이 아니라 영업(가파른 학습 곡선, 길고 성공률 낮은 개념 검증)이었고, 보름 뒤 RedisGraph를 만든 Roi Lipman, Guy Korland, Avi Avni가 저장소를 포크해 FalkorDB를 세웠습니다. 이름은 『네버엔딩 스토리』의 행운의 용 팔코르에서 따왔습니다. 2024년 6월 시드 300만 달러 이후 확인된 투자는 없습니다.
2026년 10월 3일 기준 최신판은 두 갈래입니다. 2026년 9월 29일 엔진을 Rust로 통째로 다시 쓴 6.0(17개월·8만 줄·PR 357개, 이후 6.0.1)이 나왔고, 기존 C 엔진은 4.22.0(9월 30일)으로 계속 갑니다. GitHub 별은 약 6,700개(4월 글 당시 3,900개 이상), DB-Engines 그래프 부문 22위입니다. 에이전트 기억 쪽에서는 Graphiti(Zep)가 README에서 Neo4j와 함께 권하는 저장소입니다.
어떻게 동작하나
한 인스턴스에 그래프 수천 개
노드 N개면 N×N 표, 관계 있는 칸만 저장
"친구의 친구"는 여러 줄을 한꺼번에 읽어 합치는 계산
Neo4j·Memgraph가 노드마다 이웃을 가리키는 포인터를 들고 한 걸음씩 건너간다면, FalkorDB는 그래프를 표(희소 행렬) 로 두고 탐색을 선형대수로 바꿉니다. 많은 지점에서 동시에 퍼지는 질의와 그래프 전체 계산에 하드웨어를 잘 쓰고, 그래프가 키 하나로 떨어지므로 사용자·세션·테넌트마다 작은 그래프를 따로 두는 일이 자연스럽습니다.
| 항목 | FalkorDB (2026-10 기준) |
|---|---|
| 영속성 | Redis RDB 스냅샷 + AOF 로그 |
| 동시성 | 쓰기는 그래프당 한 줄기로 직렬, 읽기는 스냅샷에서 병렬 |
| 확장 | 그래프 하나는 Redis Cluster 샤드 하나를 넘지 못함. 복제는 비동기, Sentinel·Cluster에 의존 |
| 검색 | 벡터·전문 검색은 RediSearch 모듈 기반 |
| 프로토콜 | Redis 프로토콜. Neo4j의 Bolt는 4.20.0(2026-07-13)에서 제거 |
| 알고리즘 | WCC, 매개 중심성, 라벨 전파, MSF, A*·Yen의 k-최단 경로(4.22) |
| 임베디드 | 서버 없이 프로세스 안에서 쓰는 FalkorDBLite (Python·TypeScript) |
6.0의 Rust 엔진은 MVCC와 최대 1,024행 단위 컬럼 배치 실행을 넣었고, 300여 질의에서 C 엔진보다 CPU 명령 수가 39% 적었다고 자체 측정을 밝혔습니다. 재작성 과정에서 크래시 43건·메모리 안전 문제 6건을 포함해 버그 226개를 닫았다고 합니다. 그래도 여전히 Redis 모듈(6.0은 Redis 8.10 위)이고 여전히 메모리 전용입니다.
빠른 시작
docker run -d --name falkordb -p 6379:6379 falkordb/falkordb
docker exec -it falkordb redis-cli
# redis-cli 안에서: 노드·관계 만들고 조회
GRAPH.QUERY myapp "CREATE (:Person {name:'김철수'})-[:근무 {role:'개발자'}]->(:Company {name:'코어닷'})"
GRAPH.QUERY myapp "MATCH (p:Person {name:'김철수'})-[r]->(n) RETURN type(r), n.name"
from falkordb import FalkorDB
db = FalkorDB(host="localhost", port=6379)
tenant_a = db.select_graph("tenant_a_knowledge") # 테넌트마다 독립 그래프
tenant_b = db.select_graph("tenant_b_knowledge")
print(tenant_a.query("MATCH (n) RETURN count(n)").result_set)
RedisGraph에서 옮길 때는 둘 다 Redis 기반이라 RDB 파일을 그대로 씁니다. 기존 컨테이너에서 redis-cli SAVE로 dump.rdb를 만든 뒤, FalkorDB 컨테이너에 마운트하고 REDIS_ARGS="--dir /data --dbfilename dump.rdb"로 띄워 노드·간선 수를 세어 대조합니다.
설치 뒤 바로 볼 두 가지가 있습니다. 질의 기본 타임아웃이 1초라서 Graphiti 적재 같은 긴 질의가 조용히 끊기는 일이 보고돼 있습니다(이슈 #1826, CEO가 2026년 8월 재확인). 그리고 운영 환경이라면 이미지 버전을 명시해 4.x 계열에 묶어 두는 편이 안전합니다(6.0의 제약은 아래 '한계와 주의').
언제 쓰고, 언제 피하나
| 상황 | 먼저 볼 것 | 이유 |
|---|---|---|
| 사용자·세션별 에이전트 메모리 (작은 그래프 수천 개) | FalkorDB | 그래프 하나가 Redis 키 하나. Graphiti 정식 지원, GraphRAG-SDK·MCP 서버 포함 |
| 이미 Redis를 운영 중 | FalkorDB | 모듈 하나 추가. 백업·복제·모니터링을 Redis 방식 그대로 |
| 로컬 실험, 앱 안에 묻어 쓰기 | FalkorDBLite · LadybugDB | 서버 없는 임베디드. 배포 제약 없는 쪽은 MIT인 LadybugDB(Kuzu의 후계) |
| Kafka로 들어오는 이벤트를 실시간 분석 | Memgraph | 스트림을 DB 안에서 직접 받고 트리거로 갱신. FalkorDB는 외부 처리기 필요 |
| Neo4j 드라이버 코드를 그대로 옮기기 | Memgraph | Bolt·openCypher 유지. FalkorDB는 Bolt를 뺐다 |
| LightRAG 기반 GraphRAG | Memgraph | LightRAG 1.5.7은 Memgraph만 정식 지원 |
| 두 다리 건너는 정도의 관계 조회 | 그래프 DB 불필요 | 관계형 DB 조인으로 충분. 속도를 정하는 건 "질의의 모양" |
요약하면 FalkorDB는 작은 그래프를 많이, Memgraph는 큰 그래프 하나를 실시간으로 다루는 설계입니다. 어느 쪽이든 표본 데이터를 올리고 실제로 던질 질의 열 개를 재는 반나절이 벤치마크 글보다 정확합니다.
한계와 주의
- 6.0은 아직 운영용이 아닙니다. 4.x에서 6.0으로 올라가는 경로가 6.2까지 없고, 4.x와 6.0 노드는 서로 복제되지 않습니다. Alpine·macOS·RHEL 8 빌드가 없고, 4.22의 A*·CCH·Leiden/Louvain이 6.0에는 빠져 있습니다. 2026년 10월 기준으로는 운영은 4.22, 새 시작만 6.0 시험이 맞습니다.
- 메모리가 곧 용량이고 가격입니다. 디스크에서 그래프를 올리고 내리는 요청(이슈 #13)은 2023년부터 열려 있습니다. 클라우드는 데이터를 RAM의 75%까지로 제한하고 Startup이 GB당 월 73달러부터입니다. 노드 100만 개에 1,536차원 벡터를 붙이면 벡터만 6GB를 넘으니, 벡터가 주된 데이터면 벡터 DB를 따로 두고 그래프에는 ID만 둡니다.
- SSPL은 오픈소스 라이선스가 아닙니다. 2023년 8월부터 SSPL 단독입니다. 사내 사용은 자유롭고, DB 자체를 서비스로 파는 것은 사실상 막히며, 고객사 설치형 배포에는 카피레프트 의무가 붙습니다.
- 벤치마크 숫자는 조건부터 봅니다. 4월 글에 실었던 제조사 수치(P99 83ms 대 Neo4j 7,500ms)는 Neo4j 버전·튜닝이 빠져 있고 랜딩 페이지와 블로그 수치도 서로 다릅니다. 독립 측정(AIMultiple, 38만 노드)은 Neo4j의 6.7배 QPS였지만 작은 단일 노드 그래프의 읽기뿐이고, arXiv 2609.23315에서는 기하평균 지연이 가장 낮았으나(1.81ms) 20개 질의 중 2개의 답이 틀렸습니다.
- Cypher는 방언입니다. 엔진을 바꾸면 결과를 다시 검증합니다. 다른 연구(arXiv 2609.23032, FalkorDB는 미포함)에서 경로 질의 17종 중 9종이 엔진마다 다른 답을 냈습니다.
- 가장 뜨거운 고객층이 떠나는 중입니다. Mem0은 OSS v2에서 외부 그래프 저장소 지원을 뺐고, Zep은 2026년 8월 자체 그래프 엔진(Konig)을 발표했습니다. 작은 팀이 큰 재작성을 감당하고 있다는 점도 장기 도입 전에 고려합니다.
- 이 항목은 코어닷투데이가 FalkorDB를 직접 측정한 결과가 아니라 2026년 10월 3일 기준 공개 자료를 정리한 것입니다. 코어닷투데이의 Graphiti 한국어 실측은 Neo4j 5.26에서만 돌렸습니다.




