20

Common Pitfalls: 자주 하는 실수

Day 1: 중심성 알고리즘

학습 목표

프로젝션 관련 오류 해결 방향성 설정 실수 방지 대규모 그래프 처리 팁

중심성 알고리즘 Common Pitfalls

Pitfall 1: 프로젝션 없이 알고리즘 실행

증상

에디터 로딩 중...

원인

GDS 알고리즘은 프로젝션된 그래프에서만 실행됩니다.

잘못된 코드

에디터 로딩 중...

올바른 코드

에디터 로딩 중...

Pitfall 2: 방향성 설정 오류

증상

  • In-Degree를 계산했는데 Out-Degree가 나옴
  • 친구 관계인데 한 방향만 계산됨

원인

기본 방향성은 NATURAL (원본 방향 유지)

잘못된 코드

에디터 로딩 중...

올바른 코드

에디터 로딩 중...

Pitfall 3: stream vs write 혼동

증상

  • stream으로 실행했는데 나중에 결과가 없음
  • write로 저장했는데 노드 속성에 접근 불가

차이점

모드결과 저장 위치사용 시점
stream반환만 (저장 X)탐색, 일회성 분석
writeDB 노드 속성영구 저장 필요 시
mutate프로젝션에만연속 알고리즘 실행

잘못된 패턴

에디터 로딩 중...

올바른 패턴

에디터 로딩 중...

Pitfall 4: 대규모 그래프에서 Betweenness

증상

  • 쿼리가 몇 시간째 안 끝남
  • 메모리 부족

원인

Betweenness는 O(n² × E) 복잡도로 매우 느림

잘못된 코드

에디터 로딩 중...

올바른 코드

에디터 로딩 중...

Pitfall 5: 프로젝션 메모리 누수

증상

  • Neo4j 메모리 사용량 계속 증가
  • "Out of memory" 오류

원인

프로젝션은 메모리에 상주하며 자동 삭제 안 됨

잘못된 패턴

에디터 로딩 중...

올바른 패턴

에디터 로딩 중...

체크리스트

항목확인
프로젝션을 먼저 생성했는가?[ ]
방향성이 분석 목적에 맞는가?[ ]
결과 저장 모드가 적절한가?[ ]
대규모 그래프에서 샘플링 사용?[ ]
분석 후 프로젝션 삭제?[ ]