15

Star Schema 설계 실수 Top 3

Day 2: 분석팀이 매번 30분씩 기다려요 - 차원 모델링

학습 목표

Star Schema 설계 시 흔한 실수를 피한다 Snowflake와의 차이를 이해한다

실수 1: Dimension을 또 정규화

"카테고리 테이블을 또 분리해야지"

에디터 로딩 중...

이러면 JOIN이 늘어남. Star Schema의 장점 상실!

올바른 설계:

에디터 로딩 중...

DW에서는 의도적으로 중복 저장하는 거다.


실수 2: Fact에 텍스트 저장

에디터 로딩 중...

Fact에는 FK와 숫자만! 텍스트는 Dimension에.

왜?

  • Fact는 수억 행. 텍스트 반복 저장 = 용량 폭발
  • FK(정수)가 훨씬 빠름

실수 3: Grain을 명확히 안 정함

에디터 로딩 중...

Grain이 모호하면:

  • 중복 행 발생
  • 집계 결과 틀림
  • 데이터 신뢰도 하락

반드시 정의:

에디터 로딩 중...

Star vs Snowflake

에디터 로딩 중...
비교StarSnowflake
구조단순복잡
JOIN 수적음많음
성능빠름느림
저장 공간큼 (중복)작음
유지보수쉬움어려움

실무에서는 Star Schema를 주로 사용. Snowflake는 저장 공간이 정말 부족할 때만.


설계 체크리스트

체크항목
[ ]Grain이 명확히 정의되었나?
[ ]Fact에 텍스트가 없나? (FK와 숫자만?)
[ ]Dimension이 또 정규화되지 않았나?
[ ]Surrogate Key를 사용했나?
[ ]분석에 필요한 속성이 Dimension에 있나?