메모리 위의 두 그래프 DB — FalkorDB의 진화와 Memgraph의 근황, 그리고 언제 무엇을 쓸 것인가
4월에 RedisGraph의 종말과 FalkorDB의 부상을 다룬 뒤 반년, 두 인메모리 그래프 DB에 큰 변화가 있었습니다. FalkorDB는 9월 29일 엔진을 Rust로 다시 쓴 6.0을 내놨고(4.x에서 올라가는 경로는 아직 없음), 7월에는 Bolt 프로토콜을 뺐습니다. Memgraph는 3.8의 'Atomic GraphRAG'부터 3.13까지 기능을 쌓는 동안 자동 장애 조치·멀티테넌시·동적 알고리즘을 엔터프라이즈 전용으로 묶었습니다. 주변도 바뀌었습니다. PostgreSQL 19는 그래프 질의(SQL/PGQ)를 넣었다 뺐고, Kuzu는 멈췄으며, 에이전트 메모리 회사들은 범용 그래프 DB를 떠나 자기 엔진을 만들기 시작했습니다. 이 글은 2026년 10월 3일 기준으로 두 제품의 설계 차이(행렬 대 포인터), 10년 연표, 라이선스가 허락하는 쓰임새, 메모리 비용, 벤치마크를 읽는 법을 정리하고, 다섯 가지 질문으로 어느 쪽을 고를지 답합니다. 위젯 5개.
이 글은 입문을 반복하지 않습니다. 두 제품이 어디까지 왔고, 어떤 일에 어느 쪽을 써야 하는지에 집중합니다. 버전·날짜·라이선스 문구는 2026년 10월 3일에 각 저장소와 문서에서 확인했고, 제조사의 주장과 확인된 사실을 구분해 적었습니다.
✅
바쁜 분을 위한 요약.
① 둘 다 '그래프 전체를 메모리에 두는' DB입니다. 첫 질문은 속도가 아니라 "메모리에 들어가느냐, 그 메모리가 얼마냐"입니다.
② 설계가 다릅니다. FalkorDB는 그래프를 희소 행렬로 저장해 Redis 모듈로 돌고, Memgraph는 포인터로 연결된 독립 서버입니다. 이 차이가 멀티테넌시·스트림·호환성의 차이로 이어집니다.
③ FalkorDB 6.0은 Rust 재작성의 첫 판입니다. 4.x에서 올라가는 경로가 6.2까지 없고 일부 기능이 빠져 있어, 운영 중이라면 4.22 계열에 머무는 것이 맞습니다.
④ Memgraph 커뮤니티판으로는 자동 장애 조치·멀티테넌시·접근 제어를 쓸 수 없습니다. 운영 HA가 필요하면 가격(비공개, 메모리 용량 기준)을 먼저 확인하세요.
⑤ 작은 그래프 수천 개(세션·테넌트별 에이전트 메모리)면 FalkorDB, 스트림을 받아 실시간으로 갱신하는 큰 그래프 하나면 Memgraph가 설계상 맞습니다.
⑥ 기존 스택이 Redis면 FalkorDB, Neo4j 드라이버 코드면 Memgraph로 기울어집니다. FalkorDB는 Bolt를 뺐습니다.
⑦ 두 회사의 벤치마크는 조건이 빠져 있습니다. 독립 측정은 하나뿐이고 작은 그래프입니다. 내 데이터로 재는 것 외에 답이 없습니다.
⑧ 라이선스(SSPL, BSL)는 사내 사용은 허락하고, DB 자체를 서비스로 파는 것은 막고, 설치형 배포에서 갈립니다.
두 제품은 겉보기에 비슷합니다. 둘 다 Cypher로 질의하고, 둘 다 메모리 위에서 돌고, 둘 다 Neo4j보다 빠르다고 말합니다. 그러나 그래프를 저장하는 방식이 처음부터 다릅니다.
FalkorDB는 그래프를 표(희소 행렬)로 저장합니다. 노드가 N개면 N×N 표를 만들고, 관계가 있는 칸에만 값을 둡니다. 대부분의 칸은 비어 있으므로 비어 있는 칸은 저장하지 않는 희소 행렬 라이브러리 GraphBLAS를 씁니다. "A의 친구의 친구"는 A의 줄을 읽고, 거기서 나온 사람들의 줄을 한꺼번에 읽어 합치는 계산, 곧 행렬 곱셈이 됩니다. 이 설계는 RedisGraph 때부터 이어진 것이고, FalkorDB의 창업자들이 바로 RedisGraph를 만든 사람들입니다.
Memgraph는 그래프를 서로를 가리키는 연결(포인터)로 저장합니다. 각 노드가 자기 관계 목록을 들고 있어, "A의 친구의 친구"는 A에서 친구로, 친구에서 그 친구로 건너가는 탐색입니다. Neo4j와 같은 계열의 설계이고, 그래서 Neo4j의 프로토콜(Bolt)과 질의어를 거의 그대로 받을 수 있습니다.
답은 같지만 잘하는 일이 다릅니다. 표 방식은 많은 지점에서 동시에 퍼져 나가는 질의와 그래프 전체 계산에 하드웨어를 잘 쓰고, 그래프 하나가 Redis의 키 하나로 떨어지므로 작은 그래프를 수천 개 두는 일이 자연스럽습니다. 포인터 방식은 한 지점에서 조건을 따지며 좁혀 가는 질의와 잦은 갱신에 자연스럽고, 트랜잭션과 격리 수준 같은 전통적 DB의 틀이 그대로 얹힙니다.
첫째, FalkorDB는 모회사가 버린 제품을 만든 사람들이 이어받은 경우입니다. Redis가 2023년 7월 RedisGraph 종료를 발표하며 든 이유는 기술이 아니라 영업이었습니다. 학습 곡선이 가파르고, 개념 검증이 길고 성공률이 낮고, 영업 전후 비용이 예상보다 훨씬 컸다는 것입니다. 보름 뒤 RedisGraph의 개발자들(Roi Lipman, Guy Korland, Avi Avni)이 저장소를 포크해 FalkorDB를 세웠습니다. 2024년 6월 시드 300만 달러를 받은 뒤로 확인된 투자는 없습니다. 작은 회사가 큰 기술 부채(이번 Rust 재작성에서 226개 버그를 닫았다고 밝힐 만큼)를 안고 가는 중입니다.
둘째, Memgraph는 10년을 한 방향으로 간 회사입니다. 2016년 런던에서 시작해 2021년 소스를 공개하고 시드 934만 달러(마이크로소프트 M12 주도)를 받았습니다. 그 뒤로 확인된 투자 라운드는 없는데, 2025년부터 릴리스 속도는 오히려 빨라졌습니다. 3.0(2025년 1월)에서 벡터 검색을 정식화하고, 3.8(2026년 2월)에서 GraphRAG 기능을 묶고, 3.13(2026년 9월)까지 거의 달마다 판을 냈습니다. 대신 같은 기간에 동적 알고리즘, 자동 장애 조치, 접근 제어, 멀티테넌시가 차례로 엔터프라이즈 전용이 됐습니다. 투자 없이 매출로 버티는 회사의 전형적인 궤적입니다.
셋째, 주변이 두 제품을 양쪽에서 압박합니다. 아래쪽에서는 PostgreSQL이 표준 그래프 질의(SQL/PGQ)를 19 버전에 넣으려다 9월에 되돌렸습니다. 이번에는 물러섰지만 방향은 분명합니다. 위쪽에서는 그래프 DB의 가장 뜨거운 고객인 에이전트 메모리 회사들이 떠나기 시작했습니다. Graphiti를 만든 Zep은 8월에 "운영 중인 그래프 DB의 장애와 성능 문제" 때문에 자체 엔진을 만들었다고 밝혔고, Mem0은 4월 오픈소스 v2에서 외부 그래프 저장소 지원을 아예 뺐습니다. 범용 그래프 DB가 설 자리는 이 둘 사이입니다.
3. FalkorDB의 진화: 4.18 이후
4월 글이 멈춘 4.18.0 이후의 변화를 추렸습니다.
날짜
버전·사건
무엇이 바뀌었나
2026-04-07
4.18.0
Redis 8 필수
2026-07-13
4.20.0
Bolt 프로토콜 제거. Neo4j 드라이버로 접속하던 경로가 사라짐
2026-08-02
Rust 엔진이 main 브랜치로
C 엔진은 master 브랜치에서 병행 유지
2026-09-29
6.0.0
Rust 엔진의 첫 릴리스. 17개월·8만 줄·PR 357개. MVCC, 최대 1,024행 단위 컬럼 배치 실행. C 엔진 대비 CPU 명령 수 39% 감소(300여 질의, 자체 측정)
2026-09-30
4.22.0 (C 엔진)
A* 경로 탐색, Yen의 k-최단 경로, CCH 경로 인덱스
2026-10-01
6.0.1
이미지 재빌드
6.0은 큰 결정입니다. C로 짠 엔진을 버리고 Rust로 다시 쓰는 데 17개월을 들였고, 그 과정에서 크래시 43건과 메모리 안전 문제 6건을 포함한 버그 226개를 닫았다고 밝혔습니다. RedisGraph에서 물려받은 안정성 부채를 정리하려는 시도입니다.
다만 지금 운영 중이라면 6.0으로 가지 마세요. 릴리스 노트가 직접 말하는 제약입니다.
4.x에서 6.0으로 올라가는 지원 경로가 없습니다. 6.2에서 제공 예정입니다.
4.x 노드와 6.0 노드는 서로 복제할 수 없습니다.
Alpine, macOS, RHEL 8 빌드가 없습니다.
4.22의 A*, CCH, Leiden/Louvain 커뮤니티 탐지가 6.0에는 아직 없습니다.
클라우드 서비스의 6.0 전환은 "점진적"입니다.
그래서 2026년 10월의 FalkorDB는 두 갈래입니다. 운영은 4.22, 새 시작은 6.0을 시험해 볼 수 있지만 올해 안에는 4.x가 안전한 선택입니다.
바뀌지 않은 것도 적어 둬야 합니다. FalkorDB는 여전히 Redis 모듈입니다(6.0은 Redis 8.10 위에서 돌고, 벡터·전문 검색은 RediSearch 모듈을 씁니다). 여전히 메모리 전용이고, 디스크에서 그래프를 올리고 내리는 요청(이슈 #13)은 2023년부터 열려 있습니다. 쓰기는 그래프당 한 줄기로 직렬화되고, 그래프 하나는 Redis Cluster의 샤드 하나를 넘지 못합니다. 그리고 질의 기본 타임아웃이 1초라서, Graphiti 적재 같은 긴 질의가 조용히 끊기는 일이 보고돼 있습니다(이슈 #1826, CEO가 8월에 재확인). 설치 뒤 가장 먼저 올릴 설정입니다.
💡
Bolt 제거가 뜻하는 것. Bolt는 Neo4j의 통신 프로토콜입니다. 이것을 지원하면 Neo4j용으로 짠 코드와 드라이버가 그대로 붙습니다. FalkorDB가 4.20에서 이를 뺀 것은 'Neo4j 대체재' 포지션을 내려놓고 'Redis 생태계의 그래프'로 선을 그은 결정으로 읽힙니다. Neo4j에서 옮겨 올 생각이라면 FalkorDB보다 Memgraph 쪽 문이 넓어졌습니다.
Memgraph의 2025~2026년은 두 흐름이 나란히 갑니다. 기능을 쌓는 흐름과, 쌓은 기능을 유료로 묶는 흐름입니다.
버전 (날짜)
쌓은 것
엔터프라이즈로 묶인 것
3.0 (2025-01)
벡터 검색 정식, HA 코디네이터 영속화
동적(온라인) 알고리즘
3.2~3.5 (2025)
복합 인덱스, 간선 TTL, EXISTS 서브쿼리, k-최단 경로, STRICT_SYNC 복제
TTL
3.6~3.7 (2025 하반기)
전문 검색 정식, 무중단 업그레이드, Parquet 적재
3.8 (2026-02)
'Atomic GraphRAG', 벡터 단일 저장(벡터 메모리 약 85% 절감), JSONL 적재, 슈퍼노드 동시 쓰기
병렬 실행
3.10~3.12 (2026 상반기)
Neo4j식 CREATE INDEX 문법, elementId(), 가벼운 간선(약 24바이트 절감), 퍼지 검색
테넌트별 메모리 추적, 속성 기반 접근 제어
3.13.1 (2026-09-14, 최신)
전역 속성 인덱스, COUNT·COLLECT 서브쿼리, 코디네이터 SSO
쌓인 쪽을 보면 방향이 분명합니다. 벡터와 전문 검색을 정식화하고, GraphRAG용 기능을 모으고, Neo4j 문법과의 간격을 메우고, 메모리를 아낍니다. 5월에 발표한 Memgraph Zero·MemGQL은 별도의 연합 GQL 엔진으로, 본체는 여전히 openCypher입니다(FAQ는 GQL을 "단기·중기 로드맵에 없다"고 적습니다).
묶인 쪽은 운영자에게 중요합니다. 2026년 10월 현재 커뮤니티판으로 할 수 없는 것입니다.
영역
엔터프라이즈 전용
커뮤니티판에서 가능
고가용성
자동 장애 조치(Raft 코디네이터)
복제(SYNC·ASYNC·STRICT_SYNC)와 수동 장애 조치
멀티테넌시
데이터베이스 분리, 테넌트 일시 중지, 테넌트별 메모리 추적
단일 데이터베이스
보안
역할·라벨·속성 기반 접근 제어, LDAP·SAML·OIDC, 감사 로그
기본 인증. 스트림은 인증 미지원
알고리즘
동적(온라인) PageRank·커뮤니티 탐지 등, TTL, 병렬 실행
정적 알고리즘 전부(MAGE)
운영
Prometheus 지표, 예약 스냅샷
수동 스냅샷, 로그
가격은 공개돼 있지 않고 "메모리 용량에 따라 책정"됩니다. 공개된 단서는 2025년 4월 CTO가 해커뉴스에 적은 "16GB에 연 2만 5천 달러"가 전부이며, 지금도 같은지는 확인되지 않습니다. 같은 스레드에는 "터무니없이 비싸다"는 반응도 있었습니다. 라이선스 메모리 한도에 닿으면 쓰기가 막힙니다.
운영 요건 하나를 더 적어 둡니다. 온디스크 모드는 2023년 도입 이후 3년째 실험 단계이고 복제와 HA를 지원하지 않습니다. 샤딩은 없습니다. FAQ의 표현으로 "수직 확장으로 노드 10억·간선 100억까지"이고, RAM은 데이터의 두 배를 권합니다. 메모리 위의 DB라는 정체성은 바뀌지 않았습니다.
AI Toolkit(MCP·LangChain·unstructured2graph), Lab의 GraphChat
Graphiti와 LightRAG가 정확히 반대로 갈린 것이 흥미롭습니다. Graphiti를 쓰면 FalkorDB, LightRAG를 쓰면 Memgraph가 되고, 반대 조합은 직접 어댑터를 써야 합니다. 그리고 표의 아래쪽, Mem0이 오픈소스에서 그래프 저장소를 빼고 Zep이 자체 엔진으로 간 것은 두 제품 모두에 경고입니다. 에이전트 메모리는 쓰기가 잦고, 작은 그래프가 많고, 지연에 민감합니다. 범용 그래프 DB가 이 요구를 못 맞추면 고객이 직접 만듭니다.
두 제품의 가장 큰 장점과 가장 큰 제약은 같은 문장입니다. 그래프 전체가 메모리에 있습니다. 그래서 빠르고, 그래서 비쌉니다.
메모리 설계에서 세 가지를 짚습니다.
첫째, 벡터가 그래프보다 큽니다. 노드 100만 개에 1,536차원 벡터를 붙이면 벡터만 6GB를 넘습니다. 두 회사가 2025~2026년에 메모리 절감에 공을 들인 이유입니다. Memgraph 3.8의 벡터 단일 저장은 벡터 메모리를 약 85% 줄인다고 하고, FalkorDB는 4.8에서 32비트 인덱스로 약 40%, 4.14에서 압축 저장으로 최대 30%를 줄였다고 합니다. 그래도 벡터가 주된 데이터라면 벡터 DB를 따로 두고 그래프에는 ID만 두는 설계가 흔합니다.
둘째, 두 배를 잡으세요. Memgraph 문서는 데이터 크기의 두 배를 RAM으로 권하고, FalkorDB 클라우드는 데이터를 RAM의 75%까지로 제한합니다. 스냅샷, 질의 중간 결과, 인덱스가 나머지를 씁니다. Memgraph에는 ORDER BY에서 메모리가 튀는 미해결 이슈(#1170)도 있습니다.
셋째, 메모리가 곧 가격입니다. Memgraph 엔터프라이즈는 메모리 용량으로 과금하고, FalkorDB 클라우드는 GB당 월 73달러부터입니다. 그래프 DB에서 "노드 하나 더"는 공짜가 아닙니다. 10억 노드 규모라면 두 제품 모두 메모리 한 대의 한계에 걸리고(Memgraph는 분석 모드로 10억 노드를 올린 Sayari 사례가 있지만 샤딩이 없고, FalkorDB는 그래프 하나가 샤드를 넘지 못합니다), 그 전에 "정말 전부 메모리에 있어야 하는가"를 물어야 합니다.
7. 벤치마크를 읽는 법
두 회사 모두 Neo4j보다 몇 배에서 몇백 배 빠르다고 말합니다. 숫자를 그대로 믿기 전에 조건을 봐야 합니다.
읽어 낼 수 있는 것은 이 정도입니다. 작은 그래프의 읽기 질의에서는 둘 다 Neo4j보다 확실히 빠르고, 메모리도 훨씬 덜 쓴다. FalkorDB가 지연에서 조금 앞서는 경향이 있지만, 9월 논문에서는 20개 질의 중 2개의 답이 틀렸습니다. 큰 그래프, 쓰기가 많은 부하, 장시간 운영에서의 비교는 독립된 자료가 없습니다. LDBC 같은 공인 벤치마크에는 두 제품 모두 참가하지 않았습니다.
같은 논문에 두 제품 사용자가 기억할 만한 결과가 하나 더 있습니다. 경로 질의 17종을 Kuzu, DuckPGQ, Neo4j, Memgraph, Apache AGE에 던진 다른 연구(arXiv 2609.23032)에서 9종이 엔진마다 다른 답을 냈고, 불일치 26건 중 15건은 아무 경고 없이 조용히 달랐습니다. Cypher는 표준이 아니라 방언이고, 엔진을 바꾸면 질의 결과를 다시 검증해야 합니다.
두 제품 모두 소스를 볼 수 있지만 OSI가 인정하는 오픈소스 라이선스는 아닙니다. FalkorDB는 2023년 8월부터 SSPL 단독이고, Memgraph는 BSL 1.1(릴리스 4년 뒤 Apache 2.0으로 전환)입니다. Memgraph 저장소 설명과 가격 페이지는 '오픈소스'라고 적고 있지만 라이선스 파일은 스스로 "오픈소스 라이선스가 아니다"라고 명시하며, 이를 지적한 이슈(#3069)는 답 없이 열려 있습니다.
쓰임새에 따라 답이 다릅니다.
핵심은 둘입니다. 사내에서 쓰는 것은 둘 다 자유롭고, 이 DB 자체를 서비스로 파는 것은 둘 다 사실상 막혀 있습니다. 갈리는 곳은 설치형 배포입니다. Memgraph의 BSL은 "제3자에게 내장하거나 배포"하는 것을 명시적으로 제외하고, FalkorDB의 SSPL은 막지는 않되 카피레프트 의무를 지웁니다. 고객사에 설치해 주는 제품을 만든다면 둘 다 상용 계약이 전제이고, 그 제약이 없는 쪽을 원하면 MIT인 LadybugDB(Kuzu의 후계) 같은 임베디드 DB로 눈을 돌리게 됩니다.
먼저 그래프 DB 자체가 필요한지부터입니다. 두 다리 건너 친구를 찾는 일에는 종이 지도, 곧 관계형 DB의 조인으로 충분합니다. 전용 안내인이 필요한 때는 몇 번 꺾일지 모르는 깊은 경로를 자주, 빠르게 찾아야 할 때입니다. 9월 논문의 표현을 빌리면 속도를 예측하는 것은 "그래프 데이터베이스라는 이름표가 아니라 질의의 모양"입니다. 이 판단은 GraphRAG는 언제 써야 할까에서 더 자세히 다뤘습니다.
그래프 DB가 맞다고 판단했다면, 두 제품 사이의 선택입니다.
상황
먼저 볼 것
이유
사용자·세션별 에이전트 메모리 (작은 그래프 수천 개)
FalkorDB
그래프 하나가 Redis 키 하나. Graphiti 정식 지원, GraphRAG-SDK 포함
Kafka로 들어오는 거래·이벤트를 실시간 분석 (사기, 네트워크, 전력망)
Memgraph
스트림을 DB 안에서 받고, 트리거와 동적 알고리즘으로 즉시 갱신. Capitec·Volue 사례
이미 Redis를 운영 중
FalkorDB
모듈 하나 추가. 백업·복제·모니터링을 Redis 방식 그대로
Neo4j에서 비용 때문에 이전
Memgraph
Bolt와 openCypher로 코드 대부분이 그대로. NASA 인력 그래프가 이 경로. FalkorDB는 Bolt를 뺌
소스는 공개돼 있지만 SSPL·BSL은 OSI 승인 라이선스가 아닙니다. 쓰임새에 따라 상용 계약이 필요합니다.
FalkorDB 6.0이 나왔으니 올리면 된다
4.x에서 올라가는 경로가 6.2까지 없습니다. 운영은 4.22 계열에 머무세요.
Memgraph 커뮤니티판으로 운영 HA를 구성한다
자동 장애 조치는 엔터프라이즈 전용입니다. 수동 장애 조치만 가능합니다.
Neo4j 코드가 FalkorDB에 그대로 붙는다
4.20에서 Bolt가 빠졌습니다. FalkorDB 클라이언트로 바꿔야 합니다.
Cypher면 어느 엔진이든 같은 답이 나온다
경로 질의 17종 중 9종이 엔진마다 다른 답을 냈고 절반 이상이 조용히 달랐습니다. 엔진을 바꾸면 결과를 다시 검증합니다.
Neo4j 대비 N배라니 그만큼 빠르다
조건이 빠진 수치입니다. 독립 측정은 작은 그래프의 읽기 질의뿐이며, 큰 그래프·쓰기 부하·장시간 운영의 비교는 없습니다.
그래프 DB에 벡터도 넣으면 벡터 DB가 필요 없다
벡터는 메모리 위 그래프 DB에서 가장 비싼 데이터입니다. 규모가 크면 벡터 DB를 따로 두고 ID만 그래프에 둡니다.
마치며: 반년 뒤에 다시 볼 것
두 제품은 같은 질문(메모리 위의 빠른 그래프)에 다른 답을 냈고, 2026년 가을의 모습은 그 답의 연장선에 있습니다. FalkorDB는 Redis 생태계의 그래프로 선을 긋고 엔진을 다시 썼습니다. Memgraph는 실시간 스트림과 운영 기능으로 기업 고객을 향하며 그 기능을 유료로 묶었습니다. 어느 쪽이 맞는지는 제품이 아니라 우리 데이터의 모양과 기존 스택이 정합니다.
다음 점검 때 확인할 것들입니다.
지켜볼 것
왜
FalkorDB 6.2의 업그레이드 경로
Rust 엔진이 운영 선택지가 되는 시점입니다.
FalkorDB의 다음 투자 또는 매출 공개
2024년 시드 이후 소식이 없습니다. 작은 팀이 큰 재작성을 감당하고 있습니다.
Memgraph 온디스크 모드의 정식화 여부
3년째 실험 단계. 정식화되면 메모리 제약이 풀립니다.
Memgraph 가격 공개 여부
엔터프라이즈 도입의 가장 큰 불확실성입니다.
PostgreSQL 20의 SQL/PGQ
관계형 DB가 그래프 질의를 품으면 두 제품의 아래쪽 시장이 좁아집니다.
Zep·Mem0 같은 에이전트 메모리 회사의 선택
가장 뜨거운 고객층이 범용 그래프 DB를 계속 쓸지, 자기 엔진으로 갈지가 두 회사의 미래를 정합니다.
실무적인 권고는 간단합니다. 표본 데이터를 양쪽에 올리고, 실제로 던질 질의 열 개를 재고, 메모리를 확인하고, 라이선스 원문을 법무와 읽어 보세요. 반나절이면 됩니다. 그 반나절이 벤치마크 블로그 열 편보다 정확합니다.