20분
SCD Type 3, 6: 특수한 상황
Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
SCD Type 3, 6: 특수한 상황
데이터 모델링 > Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
학습 목표
SCD Type 3의 사용 사례를 이해한다 Type 6 (하이브리드)의 장점을 파악한다
SCD Type 3: 이전 값 하나만 저장
Type 3 = 현재 값 + 직전 값만 저장
에디터 로딩 중...
특징:
- 새 행 추가 없이 한 행에서 관리
- 직전 값 하나만 저장 (그 이전 이력은 없음)
- 저장 공간 절약
사용 예:
- "이전 부서"와 "현재 부서" 비교 분석
- 등급 변화 패턴 분석 (VIP → 일반 vs 일반 → VIP)
Type 3의 한계
"2년 전 등급은?" → 알 수 없음 (직전 값만 저장)
"3번 이상 등급 변경된 고객?" → 추적 불가
Type 3은 이력이 2개면 충분할 때만 사용!
SCD Type 6: 하이브리드
Type 6 = Type 1 + Type 2 + Type 3
에디터 로딩 중...
컬럼 설명:
- historical_grade: 해당 기간의 등급 (Type 2)
- current_grade: 현재 최신 등급 (Type 1, 모든 행에 동일)
- valid_from/valid_to: 유효 기간 (Type 2)
Type 6의 장점
1. 과거 시점 조회 (Type 2처럼)
에디터 로딩 중...
2. 현재 vs 과거 비교 (Type 1 + 2)
에디터 로딩 중...
3. 현재 값 빠른 조회 (Type 1처럼)
에디터 로딩 중...
SCD 타입 요약
| 타입 | 변경 처리 | 이력 | 사용 예 |
|---|---|---|---|
| Type 0 | 무시 | 없음 | 가입일, 생년월일 |
| Type 1 | 덮어쓰기 | 없음 | 오타 수정, 전화번호 |
| Type 2 | 새 행 추가 | 전체 | 등급, 부서 (분석용) |
| Type 3 | 컬럼 추가 | 직전 값만 | 이전/현재 비교 |
| Type 6 | 1+2+3 | 전체+현재 | 복합 분석 |
실무에서는 Type 1 + Type 2 조합이 가장 흔함!
- 분석에 영향 없는 속성 → Type 1
- 분석에 중요한 속성 → Type 2