40

RDBMS vs Graph DB 비교 실습

그래프 데이터 모델 기초

같은 데이터, 다른 접근법 - 직접 체감하기

이 실습의 목표

직접 두 모델로 같은 데이터를 표현해보면 그래프 모델의 장점이 체감됩니다.

이 실습을 끝내면:

  • SQL과 Cypher의 구문 차이를 이해합니다
  • JOIN 깊이에 따른 복잡도 증가를 체감합니다
  • 어떤 문제에 어떤 DB가 적합한지 판단할 수 있습니다

실습 과제

시나리오: 소셜 네트워크 데이터

요구사항:

  • 사용자 정보 저장 (이름, 나이, 도시)
  • 친구 관계 저장 (양방향)
  • "Alice의 친구의 친구" 찾기

Part 1: 관계형 모델 (SQL)

에디터 로딩 중...

Part 2: 그래프 모델 (Cypher)

에디터 로딩 중...

비교 분석표

에디터 로딩 중...

JOIN 깊이별 복잡도 비교

에디터 로딩 중...

실습 과제

  1. 위 Cypher 코드를 Neo4j Browser에서 실행해보세요
  2. 3촌 친구 (친구의 친구의 친구) 찾는 쿼리를 작성해보세요
  3. SQL로 같은 쿼리 작성해보고 복잡성을 비교해보세요
  4. 최단 경로 쿼리로 Alice에서 Frank까지 경로를 찾아보세요
  5. PROFILE 키워드를 앞에 붙여서 각 쿼리의 DB Hits를 비교해보세요
에디터 로딩 중...
힌트 보기
  • 3촌 친구: -[:KNOWS*3]-> 사용
  • SQL 3촌은 JOIN이 5개 + 서브쿼리 필요
  • 가변 깊이: -[:KNOWS*1..3]-> (1~3촌)
  • shortestPath()는 두 노드 사이 최단 경로를 찾는 내장 함수
  • PROFILE 키워드로 실제 DB 접근 횟수 확인 가능