40분
RDBMS vs Graph DB 비교 실습
그래프 데이터 모델 기초
RDBMS vs Graph DB 비교 실습
그래프 이론 & Neo4j 입문 > 그래프 데이터 모델 기초
같은 데이터, 다른 접근법 - 직접 체감하기
이 실습의 목표
직접 두 모델로 같은 데이터를 표현해보면 그래프 모델의 장점이 체감됩니다.
이 실습을 끝내면:
- SQL과 Cypher의 구문 차이를 이해합니다
- JOIN 깊이에 따른 복잡도 증가를 체감합니다
- 어떤 문제에 어떤 DB가 적합한지 판단할 수 있습니다
실습 과제
시나리오: 소셜 네트워크 데이터
요구사항:
- 사용자 정보 저장 (이름, 나이, 도시)
- 친구 관계 저장 (양방향)
- "Alice의 친구의 친구" 찾기
Part 1: 관계형 모델 (SQL)
에디터 로딩 중...
Part 2: 그래프 모델 (Cypher)
에디터 로딩 중...
비교 분석표
에디터 로딩 중...
JOIN 깊이별 복잡도 비교
에디터 로딩 중...
실습 과제
- 위 Cypher 코드를 Neo4j Browser에서 실행해보세요
- 3촌 친구 (친구의 친구의 친구) 찾는 쿼리를 작성해보세요
- SQL로 같은 쿼리 작성해보고 복잡성을 비교해보세요
- 최단 경로 쿼리로 Alice에서 Frank까지 경로를 찾아보세요
PROFILE키워드를 앞에 붙여서 각 쿼리의 DB Hits를 비교해보세요
에디터 로딩 중...
힌트 보기
- • 3촌 친구: -[:KNOWS*3]-> 사용
- • SQL 3촌은 JOIN이 5개 + 서브쿼리 필요
- • 가변 깊이: -[:KNOWS*1..3]-> (1~3촌)
- • shortestPath()는 두 노드 사이 최단 경로를 찾는 내장 함수
- • PROFILE 키워드로 실제 DB 접근 횟수 확인 가능