Skip to content
Published on

그래프 DB & 지식 그래프 2026 완벽 가이드 — Neo4j 5 · ArangoDB · Memgraph · TigerGraph · Amazon Neptune · Apache AGE · Kuzu · FalkorDB · Dgraph · GraphRAG 심층 분석

Authors

"GraphRAG는 단순한 vector RAG가 답하지 못하는 'global summarization'을 가능하게 한다. 100만 문서를 합쳐서 하나의 질문에 답하는 시대가 왔다." — Microsoft Research, GraphRAG 논문 (April 2024)

그래프 데이터베이스는 2024-2026년에 두 번째 황금기를 맞이했습니다. 첫 번째 황금기가 2010년대 후반의 부정거래 탐지·추천 시스템 시대였다면, 두 번째는 LLM·GraphRAG·에이전트 메모리 시대입니다. Microsoft가 2024년 4월 GraphRAG를 공개하고 OpenAI가 메모리 기능에 지식 그래프 패턴을 채택하면서 Neo4j·ArangoDB·FalkorDB 같은 도구의 GitHub 스타가 폭발적으로 증가했고, ISO는 2024년 4월 GQL(Graph Query Language)을 SQL 이래 첫 새 ISO 데이터베이스 쿼리 표준으로 채택했습니다.

2026년 5월 현재 그래프 DB는 property graph 진영(Neo4j/Memgraph/TigerGraph), RDF/트리플 스토어 진영(GraphDB/Stardog/Virtuoso), 멀티모델 진영(ArangoDB/SurrealDB), 매니지드 진영(Amazon Neptune/Cosmos DB Gremlin), 임베디드 진영(Kuzu/FalkorDB), Postgres 확장 진영(Apache AGE) 여섯 카테고리로 분화되어 있습니다. 이 글에서는 각 카테고리의 대표 도구, GQL/Cypher/Gremlin/SPARQL 쿼리 언어, GraphRAG 패턴, 그리고 실전 도입 사례까지 한 번에 정리합니다.

1. 2026년 그래프 DB 지도 — 여섯 진영의 분화

2026년의 그래프 DB 생태계는 단일 승자가 없는 다극 체제입니다.

진영대표 도구핵심 특징
Property Graph (LPG)Neo4j 5, Memgraph, TigerGraph노드·관계·속성, Cypher/GQL
RDF Triple StoreGraphDB, Stardog, Virtuoso, Apache Jena주어-술어-목적어, SPARQL
Multi-modelArangoDB, SurrealDB, OrientDB문서 + 그래프 + KV
Cloud ManagedAmazon Neptune, Cosmos DB Gremlin, AuraDB매니지드 SaaS
EmbeddedKuzu, FalkorDB, NetworkX로컬·분석 워크로드
Postgres ExtensionApache AGE, pgRoutingPostgres 위에서 그래프

핵심 통찰은 "그래프 DB는 더 이상 niche가 아니라 RAG·에이전트·MDM의 인프라" 라는 것입니다. 2024년 Microsoft GraphRAG 논문과 함께 Neo4j의 LLM Knowledge Graph Builder, FalkorDB의 GraphRAG 패키지가 등장했고, AWS는 Neptune Analytics를 출시했습니다. 이제 그래프는 vector DB와 함께 RAG 스택의 표준 컴포넌트가 되었습니다.

2. GraphRAG의 등장 — 2024년 4월의 분기점

2024년 4월 Microsoft Research가 발표한 "From Local to Global: A Graph RAG Approach to Query-Focused Summarization" 논문은 그래프 DB 시장의 분기점이 되었습니다. 기존 vector RAG는 "100만 문서 중 가장 유사한 5개를 찾아 LLM에 던지는" 모델이라 글로벌 질문("전체적으로 어떤 트렌드가 있는가?")에 약했는데, GraphRAG는 LLM으로 엔티티·관계를 추출해 지식 그래프를 만들고 그 위에 community detection을 돌려 계층적 요약을 만듭니다.

# Microsoft GraphRAG 기본 흐름 (개념 코드)
from graphrag.index import build_index
from graphrag.query import GlobalSearch, LocalSearch

# 1. 인덱싱 — 문서를 LLM으로 분해해 엔티티/관계 추출
index = build_index(
    documents="./data/*.txt",
    llm_model="gpt-4o",
    embedding_model="text-embedding-3-small",
    community_levels=3,  # Leiden 알고리즘 3단계
)

# 2. Global 검색 — 커뮤니티 요약 기반
global_search = GlobalSearch(index)
answer = global_search.search("이 데이터셋의 핵심 테마는?")

# 3. Local 검색 — 특정 엔티티 주변 탐색
local_search = LocalSearch(index)
answer = local_search.search("Sam Altman과 OpenAI 보드의 관계는?")

GraphRAG가 의미한 것은 "그래프 DB는 LLM 시대의 메모리 인프라"라는 재정의였습니다. Neo4j·FalkorDB·Kuzu·Memgraph는 이 흐름에 맞춰 LLM 통합 도구를 빠르게 출시했고, 2025년에는 LangChain·LlamaIndex가 모두 Property Graph 인덱스를 기본 모듈로 추가했습니다.

3. Neo4j 5 — 사실상의 표준

Neo4j(Neo4j Inc., 2007 창립, 2021년 $325M Series F)는 그래프 DB의 사실상 표준입니다. 2026년 5월 기준 Neo4j 5.x 시리즈가 안정 버전이며, 핵심 가치는 다음 셋입니다.

첫째, Cypher 쿼리 언어MATCH (a)-[:KNOWS]->(b) RETURN a, b 같은 ASCII-아트 패턴 매칭으로 그래프 패턴을 직관적으로 표현합니다. 둘째, ACID 트랜잭션 — 진짜 OLTP 그래프로 다중 노드·관계 갱신을 원자적으로 보장합니다. 셋째, 그래프 알고리즘 라이브러리(GDS) — PageRank·community detection·shortest path·node embedding 등 70개 이상의 알고리즘을 GPU 없이 단일 노드에서 실행합니다.

// Neo4j 5 Cypher — 영화 추천 그래프 패턴
MATCH (user:User {id: $userId})-[:RATED]->(movie:Movie)<-[:RATED]-(other:User),
      (other)-[:RATED]->(rec:Movie)
WHERE NOT (user)-[:RATED]->(rec)
WITH rec, COUNT(*) AS strength
RETURN rec.title, strength
ORDER BY strength DESC
LIMIT 10

Neo4j 5의 주요 신기능은 Composite Database(여러 그래프를 하나의 쿼리로 조합), Vector Index(2023.10 추가, OpenAI 임베딩 같은 벡터를 그래프 노드에 저장), Parallel Runtime(읽기 쿼리 병렬 실행)입니다. 라이선스는 Community Edition(GPLv3)과 Enterprise(상용), AuraDB(SaaS) 셋으로 갈립니다.

4. Cypher와 GQL — ISO 표준이 된 그래프 쿼리

Cypher는 2011년 Neo4j가 만든 그래프 쿼리 언어로 2015년 openCypher 프로젝트로 오픈됐고, 2024년 4월 ISO/IEC 39075(GQL — Graph Query Language)로 표준화됐습니다. SQL(1987) 이래 ISO가 채택한 첫 새 데이터베이스 쿼리 언어입니다.

// 1. CREATE — 노드와 관계 생성
CREATE (alice:Person {name: 'Alice', age: 30})
CREATE (bob:Person {name: 'Bob', age: 28})
CREATE (alice)-[:KNOWS {since: 2018}]->(bob)

// 2. MATCH — 패턴 매칭
MATCH (p:Person)-[:KNOWS*1..3]->(friend)
WHERE p.name = 'Alice'
RETURN DISTINCT friend.name

// 3. MERGE — UPSERT
MERGE (city:City {name: 'Seoul'})
ON CREATE SET city.population = 9700000
ON MATCH SET city.last_seen = datetime()

GQL은 Cypher의 후속이며 SQL과 함께 ISO/IEC 9075 / 39075 두 트랙으로 관리됩니다. Neo4j·SAP HANA·TigerGraph·Memgraph가 GQL 호환 작업을 진행 중이고, 2026년 말까지 대부분의 property graph DB가 GQL 1.0을 지원할 예정입니다.

5. Memgraph — In-Memory Cypher 호환

Memgraph(Memgraph Inc., 2016~, Croatia)는 Neo4j와 Cypher 호환되는 인메모리 그래프 DB입니다. 핵심 차별점은 세 가지입니다. 첫째, 인메모리 우선 + 디스크 지속성 — 모든 데이터가 RAM에 들어 있어 Neo4j 대비 5-10배 빠른 쿼리 응답을 제공합니다. 둘째, MAGE 라이브러리 — C++/Python/Rust로 작성된 그래프 알고리즘과 LLM 도구. 셋째, Memgraph Lab — 시각적 IDE.

# Memgraph Platform Docker 실행
docker run -p 7687:7687 -p 7444:7444 -p 3000:3000 \
  --name memgraph memgraph/memgraph-platform

# Cypher 셸 접속
docker exec -it memgraph mgconsole

# 인메모리 그래프 알고리즘 호출 (MAGE)
CALL pagerank.get() YIELD node, rank
RETURN node.name, rank ORDER BY rank DESC LIMIT 10;

Memgraph는 2024년부터 GraphRAG·에이전트 메모리에 특화된 기능을 추가했고, MAGE에는 LLM 기반 엔티티 추출 알고리즘 node2vec·text-to-cypher 같은 모듈이 포함됩니다. 라이선스는 Community(BSL 1.1, 일정 기간 후 Apache 2.0)와 Enterprise.

6. TigerGraph — Distributed Graph + GSQL

TigerGraph(TigerGraph Inc., 2012~, USA)는 분산 처리에 특화된 상용 그래프 DB입니다. 핵심 차별점은 GSQL — SQL 친화적인 그래프 쿼리 언어 — 와 MPP(Massively Parallel Processing) 아키텍처입니다. 수십억 노드 / 수천억 엣지 규모에서 빠른 다중 홉 쿼리(>3 hops)를 보장합니다.

-- GSQL 예: 친구의 친구의 친구 (3-hop) 추천
CREATE QUERY recommend_friends(VERTEX<Person> seed) FOR GRAPH SocialNet {
  SumAccum<INT> @score;
  Start = {seed};
  
  Friends = SELECT v FROM Start:s -(KNOWS:e)- :v;
  FoFs    = SELECT v FROM Friends:s -(KNOWS:e)- :v
            WHERE v != seed
            ACCUM v.@score += 1;
  
  PRINT FoFs[FoFs.@score] LIMIT 10;
}

TigerGraph는 SK Telecom·중국 인민은행·중국 공상은행 같은 대형 금융기관에서 부정거래 탐지에 도입되어 있고, 2024년에는 GraphRAG 모듈을 발표했습니다. 라이선스는 상용이지만 TigerGraph Cloud(SaaS)와 TigerGraph DB Free Tier(1B edges 한정)를 제공합니다.

7. ArangoDB — Multi-Model의 대표

ArangoDB(ArangoDB Inc., 2014~)는 문서·그래프·키-값 세 모델을 하나의 엔진에서 다루는 멀티모델 DB입니다. 핵심 가치는 단일 쿼리에서 문서·그래프·KV를 함께 다루는 AQL(ArangoDB Query Language) 입니다.

// AQL — 그래프 + 문서 + 필터를 하나의 쿼리로
FOR user IN users
  FILTER user.country == "KR"
  FOR friend IN 2..3 OUTBOUND user knows_edges
    FILTER friend.age >= 18
    RETURN { user: user.name, friend: friend.name }

ArangoDB는 2024년 4.0에서 GraphML 통합, 2025년 3.12에서 Vector Search를 추가했고, ArangoSearch(ArangoSearch + Vector)는 RAG 워크로드에 자주 쓰입니다. 라이선스는 Community(Apache 2.0)와 Enterprise. SaaS는 ArangoGraph(구 Oasis)로 제공됩니다.

8. Amazon Neptune — AWS의 그래프 매니지드

Amazon Neptune(2018~, AWS)은 property graph(Gremlin·openCypher)와 RDF(SPARQL)를 한 엔진에서 지원하는 매니지드 그래프 DB입니다. 2023년에는 Neptune ML(GNN 기반 추천)을, 2024년에는 Neptune Analytics(인메모리 분석 엔진)를 출시했고, 2025년에는 OpenCypher를 1급으로 지원하기 시작했습니다.

# Neptune Gremlin (Python boto3)
import boto3
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
from gremlin_python.process.anonymous_traversal import traversal

conn = DriverRemoteConnection(
    'wss://my-cluster.cluster-xxx.us-east-1.neptune.amazonaws.com:8182/gremlin',
    'g'
)
g = traversal().withRemote(conn)

# 친구의 친구 추천
result = (g.V().has('person', 'name', 'Alice')
            .out('knows').out('knows')
            .dedup()
            .limit(10)
            .values('name')
            .toList())

Neptune의 가장 큰 매력은 AWS 통합입니다. IAM·VPC·CloudWatch·SageMaker와 자연스럽게 연결되며, 백업·HA·암호화가 자동입니다. 2025년 GA된 Neptune Analytics는 50B 엣지급 분석을 분 단위로 끝낼 수 있어 GraphRAG 인덱스 빌드에 적합합니다.

9. Apache AGE — Postgres 위의 그래프

Apache AGE(A Graph Extension, 2020 BitNine 기증, Apache 2.0)는 PostgreSQL에 openCypher를 얹는 확장입니다. 기존 Postgres 인프라를 그대로 쓰면서 그래프 쿼리를 추가하고 싶을 때 가장 자연스러운 선택입니다.

-- Apache AGE — Postgres에서 openCypher 실행
CREATE EXTENSION age;
LOAD 'age';
SET search_path = ag_catalog, "$user", public;

-- 그래프 생성
SELECT create_graph('social');

-- Cypher를 SQL 안에서 실행
SELECT * FROM cypher('social', $$
  CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'})
  RETURN a, b
$$) AS (a agtype, b agtype);

-- 패턴 검색
SELECT * FROM cypher('social', $$
  MATCH (p:Person)-[:KNOWS*1..3]->(f:Person)
  RETURN p.name, f.name
$$) AS (person_name agtype, friend_name agtype);

AGE의 핵심 가치는 "Postgres 트랜잭션·인덱스·복제·확장 생태계를 그대로 활용"입니다. pgvector·PostGIS·TimescaleDB와 한 DB에서 같이 쓸 수 있어 RAG 스택에 자연스럽게 들어갑니다. 한계는 성능 — 깊은 다중 홉 쿼리에서는 전용 그래프 DB 대비 느립니다.

10. Kuzu — 임베디드 분석 그래프 DB

Kuzu(University of Waterloo / Kuzu Inc., 2022~, MIT/Apache 2.0)는 DuckDB의 그래프 버전을 지향하는 임베디드 그래프 DB입니다. 단일 바이너리·Python wheel로 설치되고 분석 워크로드(OLAP)에 최적화되어 있습니다.

import kuzu
import pandas as pd

# 임베디드 DB 생성
db = kuzu.Database("./mydb")
conn = kuzu.Connection(db)

# 스키마 정의
conn.execute("CREATE NODE TABLE Person(id INT64, name STRING, PRIMARY KEY(id))")
conn.execute("CREATE REL TABLE Knows(FROM Person TO Person, since INT64)")

# Pandas DataFrame 로드
people_df = pd.DataFrame({"id": [1, 2, 3], "name": ["A", "B", "C"]})
conn.execute("COPY Person FROM people_df")

# Cypher 쿼리
result = conn.execute("""
  MATCH (a:Person)-[:Knows*1..3]->(b:Person)
  WHERE a.name = 'A'
  RETURN DISTINCT b.name
""")
print(result.get_as_df())

Kuzu는 2024년부터 벡터 인덱스풀텍스트 검색을 내장하기 시작했고, LlamaIndex·LangChain 통합도 진행됐습니다. 임베디드 모델 덕에 노트북에서 10억 엣지 그래프 분석이 가능해 GraphRAG 프로토타입에 매우 인기입니다.

11. FalkorDB — Redis 기반 Sparse Matrix

FalkorDB(2023, RedisGraph fork)는 Redis 모듈로 동작하는 sparse-matrix 기반 그래프 DB입니다. Redis Labs가 2023년 RedisGraph 개발을 중단한 뒤 fork한 프로젝트로, 핵심 기여자들이 이어가고 있습니다.

핵심 기술은 선형대수 기반 그래프 연산 — 모든 그래프 쿼리를 sparse matrix 곱셈으로 변환해 GraphBLAS 라이브러리로 실행합니다. 이 덕에 다중 홉 쿼리가 매우 빠릅니다.

# FalkorDB — Redis 기반 Cypher
from falkordb import FalkorDB

db = FalkorDB(host='localhost', port=6379)
graph = db.select_graph('social')

# 노드/관계 생성
graph.query("""
  CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'})
""")

# 패턴 검색
result = graph.query("""
  MATCH (p:Person)-[:KNOWS*1..3]->(f:Person)
  RETURN DISTINCT f.name
""")
for row in result.result_set:
    print(row[0])

FalkorDB의 가장 큰 차별점은 GraphRAG SDK — 문서를 입력하면 LLM으로 엔티티 추출 → 그래프 빌드 → 자연어 질의를 Cypher로 변환하는 전체 파이프라인을 제공합니다. 2025년에는 LangChain·Microsoft AutoGen과의 공식 통합이 추가됐습니다.

12. Dgraph — 분산 native GraphQL

Dgraph(Dgraph Labs → Hypermode로 리브랜드, 2016~, Apache 2.0)는 native GraphQL을 1급 쿼리 언어로 채택한 분산 그래프 DB입니다. 2024년 모회사가 Hypermode로 리브랜드되면서 LLM·에이전트 워크로드에 더 집중하고 있습니다.

# Dgraph — GraphQL 쿼리
query {
  queryUser(filter: {country: {eq: "KR"}}) {
    name
    friends {
      name
      age
    }
  }
}

# DQL (Dgraph Query Language)
{
  users(func: eq(country, "KR")) {
    name
    friends @filter(ge(age, 18)) {
      name
      age
    }
  }
}

Dgraph는 RAFT 합의 알고리즘 기반의 분산 처리, 자동 sharding, ACID 트랜잭션을 제공하며, 수십억 노드 규모에서도 sub-second 응답을 목표로 합니다. 2026년 5월 현재 Hypermode는 Dgraph 위에 에이전트 메모리·MCP 통합 레이어를 올린 SaaS를 출시했습니다.

13. RDF · SPARQL — 시맨틱 웹의 정통

property graph가 "노드와 엣지에 속성을 단다"는 모델이라면, RDF(Resource Description Framework, W3C 1999/2014)는 "주어-술어-목적어(subject-predicate-object) 삼원소"로 모든 사실을 표현합니다. W3C 표준이고 OWL·SHACL 같은 온톨로지 언어와 짝을 이룹니다.

# SPARQL — DBpedia에서 한국 대통령 목록 가져오기
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>

SELECT ?president ?name ?term WHERE {
  ?president dbo:office dbr:President_of_South_Korea .
  ?president rdfs:label ?name .
  ?president dbo:termPeriod ?term .
  FILTER(LANG(?name) = "ko")
}
ORDER BY ?term

RDF는 학술·정부·도서관·생명과학 분야에서 표준입니다. DBpedia·Wikidata·UniProt·DrugBank 같은 거대 공공 지식 그래프가 모두 RDF로 발행됩니다. 단점은 학습 곡선 — 트리플 모델이 직관적이지 않고 SPARQL이 SQL/Cypher 대비 복잡합니다.

14. RDF 트리플 스토어 — GraphDB · Stardog · Virtuoso · Jena

도구제작자라이선스특징
Ontotext GraphDBOntotext상용 + Free추론 엔진 강력, Linked Data
StardogStardog Union상용지식 그래프 플랫폼, virtual graphs
OpenLink VirtuosoOpenLink상용 + GPLDBpedia·UniProt 백엔드, SQL/SPARQL 둘 다
Apache Jena FusekiApacheApache 2.0가장 인기 있는 OSS Jena 서버
Blazegraph(legacy)GPL2Wikidata 백엔드, 개발 중단
AllegroGraphFranz상용enterprise, neuro-symbolic
RDF4JEclipseEDLSesame 후속, Java 라이브러리

Wikidata Query Service는 2015년부터 Blazegraph 위에서 동작했지만 2024년 확장성 한계로 QLever(Universität Freiburg)로의 마이그레이션이 진행 중입니다. 이는 RDF 트리플 스토어의 세대교체를 상징합니다.

15. Apache TinkerPop · Gremlin — 그래프의 SQL 시도

Apache TinkerPop(2009~)은 그래프 DB를 위한 추상 레이어로, Gremlin 트래버설 언어를 제공합니다. Neo4j·Neptune·JanusGraph·Cosmos DB·OrientDB 등 대부분의 property graph DB를 같은 코드로 다룰 수 있게 합니다.

# Gremlin — TinkerPop 표준
from gremlin_python.process.anonymous_traversal import traversal
from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection

g = traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin', 'g'))

# 친구의 친구 (2-hop) 추천
result = (g.V()
           .has('person', 'name', 'Alice')
           .out('knows')
           .out('knows')
           .dedup()
           .has('age', P.gte(18))
           .limit(10)
           .values('name')
           .toList())

JanusGraph(Apache, Titan의 후속)·OrientDB·Cosmos DB Gremlin은 모두 Gremlin을 1급 언어로 채택합니다. 단점은 학습 곡선 — Cypher에 비해 함수형/체이닝 스타일이 직관적이지 않습니다. 2024년 GQL이 ISO로 채택되면서 Gremlin은 점진적으로 영향력을 잃고 있습니다.

16. SurrealDB · OrientDB · Aerospike Graph

SurrealDB(2022~, Rust, BSL→Apache 2.0)는 멀티모델(문서·그래프·KV·시계열) DB로 SQL과 흡사한 SurrealQL을 사용합니다. 2025년 1.0 GA 이후 빠르게 인기를 얻고 있고, 임베디드·서버·서버리스 세 모드를 지원합니다.

OrientDB(2010~, SAP 후원, Apache 2.0)는 1세대 멀티모델 그래프 DB로 OrientDB-Studio·Gremlin·SQL 확장을 제공합니다. 한때 ArangoDB와 시장을 양분했지만 최근에는 성장세가 둔화됐습니다.

Aerospike Graph(2023, Aerospike가 AeroGraph 인수)는 Aerospike 키-값 엔진 위에 Gremlin을 얹은 형태로, 광고 ID 그래프·실시간 추천에 특화되어 있습니다.

-- SurrealQL — 그래프 트래버설을 SQL처럼
SELECT name, ->knows->person.name AS friends
FROM person
WHERE country = "KR"
LIMIT 10;

-- 다중 홉 트래버설
SELECT ->knows->person->knows->person.name AS fofs
FROM person:alice;

SurrealDB는 라이브 쿼리(WebSocket 변경 구독), 권한·인증 내장, JS/Python/Rust SDK를 갖췄고, 2026년에는 SurrealKV(임베디드 모드)와 SurrealCloud(매니지드)를 출시했습니다.

17. JanusGraph · ArcadeDB — Apache 진영의 분산 그래프

JanusGraph(Apache 2.0, Titan의 후속, 2017~)는 Apache Cassandra·HBase·BigTable 위에서 동작하는 분산 그래프 DB입니다. PayPal·Uber·IBM·NASA가 도입했고, 수십억 엣지 규모에서 검증됐습니다.

# JanusGraph + Cassandra 스택 (Docker)
docker run --name janus -p 8182:8182 janusgraph/janusgraph
// JanusGraph Gremlin 콘솔
graph = JanusGraphFactory.open('conf/janusgraph-cassandra.properties')
g = graph.traversal()
g.addV('person').property('name', 'Alice').next()

ArcadeDB(2021, OrientDB의 후계, Apache 2.0)는 멀티모델(그래프·문서·KV·검색)을 단일 엔진에 담은 신생 DB로 OrientDB 호환 API와 Cypher·Gremlin·SQL을 모두 지원합니다. 임베디드·서버·클러스터 세 모드를 제공합니다.

18. Microsoft GraphRAG · LlamaIndex · LangChain

GraphRAG 도구 진영은 2024-2026년 사이 폭발적으로 성장했습니다.

도구위치특징
Microsoft GraphRAGPython 라이브러리원조, community-based summarization
Neo4j LLM Knowledge Graph Builder웹 UI + 라이브러리PDF→그래프 자동, Neo4j 기반
LlamaIndex Property Graph IndexPython모듈식, 어떤 그래프 DB와도 연결
LangChain Knowledge GraphPython/JSLLMChain + Cypher 변환
FalkorDB GraphRAG SDKPythonRedis 기반, 빠른 프로토타입
Memgraph LangChainPython인메모리 + GraphRAG
DSPy + GraphPython프롬프트 자동 최적화 + 그래프
CogneePythonLLM 기반 그래프 메모리
# LlamaIndex Property Graph Index — Neo4j 백엔드
from llama_index.core import PropertyGraphIndex, SimpleDirectoryReader
from llama_index.graph_stores.neo4j import Neo4jPropertyGraphStore
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI

documents = SimpleDirectoryReader("./data").load_data()

graph_store = Neo4jPropertyGraphStore(
    username="neo4j",
    password="password",
    url="bolt://localhost:7687",
)

index = PropertyGraphIndex.from_documents(
    documents,
    property_graph_store=graph_store,
    embed_model=OpenAIEmbedding(),
    llm=OpenAI(model="gpt-4o"),
)

# 자연어 질의 → Cypher 자동 변환 → 답변
query_engine = index.as_query_engine(include_text=True)
print(query_engine.query("주요 등장인물들 간의 관계를 요약해줘"))

19. 벡터 DB vs 그래프 DB vs 하이브리드

RAG 시대의 가장 중요한 설계 질문은 "vector DB·graph DB·하이브리드 중 무엇을 쓸 것인가"입니다.

  • Vector DB만 (Pinecone, Weaviate, Qdrant, pgvector): 단순 의미 검색·문서 Q&A에 적합. 글로벌 질문·다중 홉 추론에 약함.
  • Graph DB만 (Neo4j, ArangoDB): 명확한 엔티티·관계 구조가 있을 때(KG, fraud) 강력. 비정형 텍스트에는 별도 추출 단계 필요.
  • 하이브리드 (Neo4j + 벡터 인덱스, FalkorDB + 임베딩): 가장 일반적인 GraphRAG 패턴. 노드에 임베딩을 저장하고 벡터 검색으로 진입점을 찾은 뒤 그래프 트래버설로 확장.
# Neo4j 5 — 노드에 벡터 인덱스를 만드는 패턴 (하이브리드)
# 1. 벡터 인덱스 생성
CALL db.index.vector.createNodeIndex(
  'movie-embeddings', 'Movie', 'embedding', 1536, 'cosine'
)

# 2. 임베딩이 있는 영화 노드 생성
CREATE (m:Movie {title: 'Matrix', embedding: [0.123, 0.456, ...]})

# 3. 벡터 + 그래프 결합 검색
MATCH (m:Movie)
CALL db.index.vector.queryNodes('movie-embeddings', 10, $query_emb)
YIELD node AS similar, score
MATCH (similar)<-[:ACTED_IN]-(actor:Person)-[:ACTED_IN]->(other:Movie)
RETURN other.title, score, COUNT(actor) AS shared_actors
ORDER BY shared_actors DESC, score DESC LIMIT 10

20. 부정거래 탐지 — PayPal · 은행 · 통신사

부정거래 탐지(fraud detection)는 그래프 DB의 가장 오래된 킬러 앱입니다. PayPal은 2010년대부터 Neo4j를 도입해 신용카드 사기·계정 도용·자금 세탁 탐지에 활용합니다. 핵심 패턴은 "같은 디바이스·IP·전화번호를 공유하는 계정 클러스터" 같은 다중 홉 관계 탐색입니다.

// 의심스러운 계정 클러스터 탐지
MATCH (a:Account)-[:USED_DEVICE]->(d:Device)<-[:USED_DEVICE]-(b:Account)
WHERE a <> b
WITH d, COUNT(DISTINCT [a, b]) AS accounts_sharing
WHERE accounts_sharing > 5
RETURN d.id AS suspicious_device, accounts_sharing
ORDER BY accounts_sharing DESC LIMIT 20

한국에서는 신한카드·국민카드·우리은행이 그래프 기반 이상거래탐지를 부분 도입했고, 일본에서는 미츠이스미토모은행·라쿠텐카드가 TigerGraph·Neo4j를 사용합니다. 미국에서는 Equifax·Experian이 신용 그래프를, 통신사 Verizon·AT&T가 SIM swap 사기 탐지에 그래프를 활용합니다.

21. 추천 시스템 — Netflix · eBay · LinkedIn

추천 시스템은 그래프 DB의 두 번째 킬러 앱입니다. 사용자-아이템-속성 그래프 위에 GNN(Graph Neural Network)이나 PageRank·node embedding을 돌려 추천을 생성합니다.

Netflix는 영화·시리즈·태그·사용자 그래프를 내부적으로 운영하며 일부에 Neo4j·자체 그래프 시스템을 혼합 사용합니다. eBay는 상품 카탈로그를 GraphDB(Ontotext)로 운영해 다국어 검색·동의어 처리를 합니다. LinkedIn의 People You May Know는 자체 그래프 시스템 LIquid가 처리합니다.

// 영화 추천 — 같은 장르 + 같은 배우 공유 그래프 패턴
MATCH (user:User {id: $userId})-[:WATCHED]->(movie:Movie),
      (movie)-[:HAS_GENRE]->(g:Genre)<-[:HAS_GENRE]-(rec:Movie),
      (movie)<-[:ACTED_IN]-(actor:Person)-[:ACTED_IN]->(rec)
WHERE NOT (user)-[:WATCHED]->(rec)
WITH rec, COUNT(DISTINCT g) AS shared_genres,
          COUNT(DISTINCT actor) AS shared_actors
RETURN rec.title, shared_genres + shared_actors AS score
ORDER BY score DESC LIMIT 10

22. 신약 개발과 생명과학 — Pfizer · Roche · BenevolentAI

생명과학은 그래프 DB의 자연스러운 영역입니다. 단백질-유전자-질병-약물의 복잡한 다중 관계를 표현하기에 그래프가 최적입니다. Pfizer·AstraZeneca·Roche가 신약 후보 발굴에 Neo4j와 RDF 트리플 스토어(GraphDB·Stardog)를 활용합니다.

BenevolentAI(영국)는 자체 지식 그래프 BKG(Benevolent Knowledge Graph)에 70억+ 트리플을 담아 ALS·COVID-19 신약 발굴에 활용했고, 2020년 Baricitinib을 COVID-19 치료제로 재발견한 사례로 유명합니다. UniProt·DrugBank·ChEMBL·OpenTargets 같은 공공 지식 그래프가 RDF로 발행됩니다.

# OpenTargets — 질병→타깃 유전자→약물 트래버설
PREFIX otar: <http://identifiers.org/opentargets/>

SELECT ?disease ?target ?drug WHERE {
  ?disease otar:efoId "EFO_0000676" .  # Alzheimer
  ?disease otar:associatedTarget ?target .
  ?target otar:knownDrugs ?drug .
  ?drug otar:phase ?phase .
  FILTER(?phase >= 3)
}

23. ID 해결 · MDM · 사이버보안

ID 해결(Identity Resolution) 은 여러 채널·기기에서 발견되는 신원 정보를 하나의 사람으로 통합하는 작업입니다. 마케팅의 360° 고객 뷰, KYC(고객 알기), AML(자금세탁방지)의 핵심 인프라로 그래프 DB가 표준 도구입니다.

MDM(Master Data Management) — Reltio·Tamr·Stibo·Profisee 같은 MDM 플랫폼이 내부적으로 그래프 DB를 활용합니다. 제품·고객·공급사 사이의 복잡한 관계를 다루기에 그래프가 자연스럽습니다.

사이버보안에서는 BloodHound(Active Directory 권한 그래프)가 침투 테스트의 표준 도구이고, Stellar Cyber·Lacework·Wiz가 클라우드 자산·취약점 그래프를 다룹니다.

// BloodHound — Active Directory 권한 최단 경로
MATCH p=shortestPath(
  (u:User {name: 'low_priv_user'})-[*1..6]->(da:Group {name: 'DOMAIN ADMINS'})
)
RETURN p

24. 공공 지식 그래프 — DBpedia · Wikidata · YAGO · ConceptNet

지식 그래프규모(2026)발행 형식특징
Wikidata1.1B+ 트리플RDF, SPARQLWikipedia 자매 프로젝트, 가장 큰 OSS KG
DBpedia580M+ 트리플RDF, SPARQLWikipedia 인포박스 추출
YAGO 4.5200M+ 트리플RDFWikidata + WordNet, Saarland대
ConceptNet 5.734M+ 트리플JSON, REST상식 추론, MIT
ImageNet KG-JSON시각 객체 분류
OpenStreetMap-XML, PBF지리 그래프

Wikidata Query Service는 2024년 Blazegraph에서 QLever·Wikibase의 새 백엔드로 이행 중이고, DBpedia Live는 Wikipedia 편집을 거의 실시간 반영합니다. Microsoft Academic Graph는 2021년 종료된 뒤 OpenAlex(2022~)와 Semantic Scholar로 대체됐습니다.

25. 한국 그래프 활용 — NAVER · 카카오 · 삼성

NAVER는 자체 지식 그래프를 검색·서비스에 광범위하게 활용합니다. NAVER 지식백과·인물·장소 데이터를 그래프로 통합하고, 검색의 엔티티 답변(Knowledge Panel) 기반으로 씁니다. 카카오엔터프라이즈는 KG-Cloud를 통해 기업용 지식 그래프 SaaS를 제공합니다. 삼성리서치는 Bixby의 지식 그래프 백엔드와 갤럭시 AI의 컨텍스트 메모리를 그래프로 구성합니다.

POSTECH PRESM(Personal Relevant Search Modeling)·KAIST DKE 연구실·서울대 BiKE 연구실이 한국어 지식 그래프 학술 연구를 주도하며, NIA(한국지능정보사회진흥원) 의 공공 지식 그래프 사업이 정부 기관 도입을 견인합니다. 법무법인 율촌·김앤장은 법률 지식 그래프 도입을 검토 중입니다.

26. 일본 그래프 활용 — PFN · NTT · Yahoo!Japan

PFN(Preferred Networks) 은 PFN Bio Knowledge Graph로 신약 후보 발굴 연구를 진행 중이고, 화학 구조·단백질·논문을 통합합니다. NTT Knowledge Computing 부문은 자체 그래프 DB와 추론 엔진을 개발해 통신·헬스케어 도메인에 적용합니다.

Yahoo!Japan(LINE Yahoo)은 자체 지식 그래프로 검색·뉴스 추천을 강화하고, Rakuten은 상품 카탈로그 그래프와 사용자 행동 그래프를 결합한 추천을 운영합니다. Cyberagent·DeNA·Mercari는 광고·게임·중고거래 도메인에서 그래프 기반 추천을 도입했습니다.

학계에서는 국립정보학연구소(NII), 도쿄대 Hori Lab, 교토대 Kyoto KG 가 일본어 지식 그래프 연구를 진행 중이고, 2024년에는 Japanese Wikidata 활성화 프로젝트가 정부 지원으로 시작됐습니다.

27. 시각화 도구 — Bloom · Cytoscape · Gephi · yFiles

그래프는 시각화가 곧 가치입니다. 주요 도구 카테고리는 다음과 같습니다.

도구라이선스특징
Neo4j Bloom상용 (Neo4j 포함)비즈니스 사용자용, 자연어 질의
NeoDashApache 2.0Neo4j 대시보드
Graphileon상용그래프 앱 빌더
Linkurious상용부정거래·인텔리전스
yWorks yFiles상용JS/HTML/Java/.NET 라이브러리
CytoscapeOSS, LGPL생명과학 표준
Cytoscape.jsMIT웹 그래프 시각화
GephiGPLv3학술·소셜 네트워크 분석
GraphvizEPL정적 다이어그램
Sigma.jsMIT대규모 웹 시각화
Apache ECharts GraphApache 2.0일반 차트 + 그래프

GraphRAG 시대에는 시각화 도구도 LLM과 통합되어 자연어로 "이 그래프에서 Alice 주변 3-hop을 보여줘" 같은 명령을 처리하기 시작했습니다. Linkurious 2024 릴리스가 대표적입니다.

28. 의사결정 트리 — 어떤 그래프 DB를 고를 것인가

2026년 5월 기준 추천 결정 트리는 다음과 같습니다.

  • 표준·생태계가 최우선 → Neo4j 5 (가장 안전한 출발)
  • AWS에 이미 있다 → Amazon Neptune + Neptune Analytics
  • Postgres를 이미 쓴다 → Apache AGE
  • 인메모리 속도가 필요 → Memgraph 또는 FalkorDB
  • 수십억 엣지 분산이 필요 → TigerGraph 또는 JanusGraph
  • 문서·KV와 같이 쓰고 싶다 → ArangoDB 또는 SurrealDB
  • 로컬·노트북 분석 → Kuzu (DuckDB의 그래프 버전)
  • GraphQL이 표준 인터페이스 → Dgraph / Hypermode
  • RDF·시맨틱 웹 표준 → GraphDB 또는 Stardog
  • GraphRAG 프로토타입 → Neo4j + LlamaIndex 또는 FalkorDB SDK
  • 공공 데이터 그래프 → Wikidata + SPARQL

선택의 중심에는 항상 "쿼리 언어 선호(Cypher/GQL/Gremlin/SPARQL) + 데이터 모델(LPG vs RDF) + 운영 형태(자체 호스팅 vs 매니지드)" 세 축이 있습니다.

29. 마무리 — 그래프는 RAG·에이전트 시대의 메모리

2024년 4월 Microsoft GraphRAG 논문과 2024년 4월 ISO GQL 표준 채택은 우연이 아닙니다. LLM이 "텍스트의 의미"를 이해하면서 "엔티티와 관계의 구조"가 다시 중요해졌고, ISO는 그 흐름에 응답해 SQL 이래 첫 새 데이터베이스 쿼리 표준을 정식화했습니다.

2026년의 그래프 DB는 단순한 niche 도구가 아니라 RAG 스택의 표준 컴포넌트입니다. 신규 프로젝트라면 "Neo4j 5 + Vector Index + LlamaIndex Property Graph"가 가장 안전한 출발점이고, AWS 환경이라면 Neptune Analytics, Postgres 환경이라면 Apache AGE + pgvector 조합이 자연스럽습니다. 인메모리·속도가 절대 가치라면 Memgraph 또는 FalkorDB, 로컬 분석은 Kuzu를 선택하면 됩니다.

10년 전 그래프 DB는 "관계가 많은 문제에 가끔 쓰는 niche"였지만, 2026년에는 "RAG·에이전트 메모리·MDM·부정거래 탐지·신약 개발의 표준 인프라"입니다. 다음 10년의 데이터 인프라는 SQL(트랜잭션) + Vector(의미 검색) + Graph(관계 추론) 세 축의 결합 위에서 만들어질 것입니다.

참고 자료