같은 3-hop 조회라도 차이는 문법보다 저장 방식에서 생깁니다. 그래서 다단계 연결이 많은 문제일수록 Graph DB 쪽 쿼리 의도와 실행 경로가 더 직접적으로 맞물립니다.
친구 관계가 행으로 분리되어 있어, 경로를 찾으려면 매 단계마다 다음 연결 행을 이어 붙여야 합니다.
관계가 데이터 모델 안에 직접 있으므로, 조회는 “다음 간선을 따라간다”는 탐색으로 읽힙니다.
SELECT DISTINCT f3.name FROM friends f1 JOIN friends f2 ON f1.friend_id = f2.user_id JOIN friends f3 ON f2.friend_id = f3.user_id WHERE f1.user_id = 1001;
MATCH (:User {id:1001})-[:FRIEND*3]->(target)
RETURN target
`N-hop` 탐색이 사실상 `N번 자기 조인`으로 바뀌어, 쿼리 가독성과 실행 계획이 동시에 무거워집니다.
경로 길이만 바꾸면 되므로, 관계 중심 질의에서는 쿼리 의도와 모델 구조가 계속 일치합니다.
소셜 그래프나 추천처럼 여러 단계를 따라가야 하는 문제에서는 조인 중심 모델이 빠르게 복잡해질 수 있습니다.
추천, 사기 탐지, 지식 그래프처럼 “누가 누구와 어떻게 이어졌는가”가 핵심인 질의에서 강점을 보입니다.