핵심 인사이트 (3줄 요약)
- 본질: 차원 모델링은 데이터 웨어하우스(DW)에서 분석 쿼리 성능을 극대화하기 위해, 데이터를 **팩트 테이블(측정값)과 디멘전 테이블(분석 축)**로 구성하는 설계 기법이다.
- 가치: 3NF 정규화는 OLTP에 최적이지만, 분석 쿼리(GROUP BY·SUM·AVG)에는 JOIN이 과다하여 느리다. 차원 모델링은 비정규화된 디멘전으로 JOIN을 최소화하여 쿼리 속도를 10~100배 향상시킨다.
- 판단 포인트: **스타 스키마(팩트 중심 1단계 JOIN)**와 **스노우플레이크 스키마(디멘전 정규화, 다단계 JOIN)**를 구분하고, 현대 컬럼 스토어(BigQuery·Snowflake)에서는 스타 스키마가 사실상 표준이다.
Ⅰ. 개요 및 필요성
┌───────────────────────────────────────────────────────┐
│ 스타 스키마 구조 │
├───────────────────────────────────────────────────────┤
│ [DIM_날짜] │
│ │ │
│ [DIM_상품]──[FACT_매출]──[DIM_고객] │
│ │ │
│ [DIM_매장] │
│ │
│ FACT_매출: 날짜KEY, 상품KEY, 고객KEY, 매장KEY, │
│ 매출액, 수량, 할인액 (측정값) │
│ DIM_상품: 상품KEY, 상품명, 카테고리, 브랜드 (분석 축)│
└───────────────────────────────────────────────────────┘
- 📢 섹션 요약 비유: 팩트 테이블은 "무엇이 일어났는가(매출 3만원)"를 기록하고, 디멘전 테이블은 "어디서, 언제, 누가, 무엇을(분석 축)"을 설명한다.
Ⅱ. 아키텍처 및 핵심 원리
팩트 vs 디멘전
| 구분 | 팩트 테이블 | 디멘전 테이블 |
| 내용 | 측정값 (매출, 수량) | 분석 축 (날짜, 상품, 고객) |
| 행 수 | 매우 많음 (수억) | 적음 (수천~수만) |
| 키 | FK (디멘전 참조) | PK (Surrogate Key) |
| 변경 | 추가만 (Append) | SCD (Slowly Changing) |
스타 vs 스노우플레이크
| 비교 | 스타 스키마 | 스노우플레이크 |
| 디멘전 | 비정규화 (1테이블) | 정규화 (다단계) |
| JOIN | 1단계 | 다단계 |
| 쿼리 속도 | 빠름 | 느림 |
| 중복 | 있음 | 최소 |
| 현대 DW | 표준 | 드물게 사용 |
- 📢 섹션 요약 비유: 스타 스키마는 백화점 안내판(한 곳에 모든 정보)이고, 스노우플레이크는 안내판→층별 안내→매장별 안내로 나뉜 체계다.
Ⅲ. 비교 및 연결
| 비교 | 3NF (OLTP) | 스타 스키마 (OLAP) |
| 목적 | 트랜잭션 무결성 | 분석 쿼리 성능 |
| JOIN | 많음 | 최소 |
| 중복 | 없음 | 허용 |
Ⅳ. 실무 적용 및 기술사 판단
SCD (Slowly Changing Dimension)
- Type 1: 덮어쓰기 (이력 없음).
- Type 2: 새 행 추가 (이력 보존, 유효 기간).
- Type 3: 이전/현재 값 컬럼 (제한된 이력).
Ⅴ. 기대효과 및 결론
| 지표 | 3NF 분석 | 스타 스키마 | 개선 |
| 쿼리 속도 | 느림 (다단 JOIN) | 빠름 (1단 JOIN) | 10~100× |
| 사용자 이해 | 어려움 | 직관적 | 셀프 서비스 BI |
차원 모델링은 Kimball 방법론의 핵심이며, 현대 클라우드 DW(BigQuery, Snowflake)에서도 스타 스키마가 표준으로 사용된다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
| 팩트 테이블 | 측정값(매출·수량) 저장 |
| 디멘전 테이블 | 분석 축(날짜·상품·고객) |
| 스타 스키마 | 팩트 중심 1단계 JOIN |
| SCD | 디멘전 변경 이력 관리 |
| Kimball 방법론 | 차원 모델링의 이론적 기반 |
📈 관련 키워드 및 발전 흐름도
[ER 모델 3NF (OLTP, 1970s)]
│
▼
[Kimball 차원 모델링 (1996) — 스타 스키마·팩트/디멘전]
│
▼
[스노우플레이크 스키마 (디멘전 정규화 변형)]
│
▼
[컬럼 스토어 DW (BigQuery, 2010s) — 스타 스키마 최적]
│
▼
[현재: dbt + 스타 스키마 — 분석 엔지니어링 자동화]
👶 어린이를 위한 3줄 비유 설명
- 팩트 테이블은 "가게에서 무엇이 일어났는지(매출 3만원)"를 기록하는 일지예요.
- 디멘전 테이블은 "어디서, 언제, 누가 샀는지"를 설명하는 사전이에요.
- 스타 스키마는 일지와 사전을 별(Star) 모양으로 연결해서 빠르게 분석할 수 있게 한 거예요!