15분
작년 VIP가 올해 일반이 됐는데요
Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
작년 VIP가 올해 일반이 됐는데요
데이터 모델링 > Day 3: 작년 VIP가 올해 일반이 됐는데요 - SCD
학습 목표
Dimension 변경 시 발생하는 문제를 체감한다 SCD가 왜 필요한지 이해한다
경영진 리포트 요청
"작년 VIP 고객 매출이 얼마였지?"
에디터 로딩 중...
결과: 5억
1년 후, 같은 쿼리
"작년 VIP 고객 매출 얼마였는지 다시 확인해줘."
같은 쿼리를 실행했다.
결과: 3억
어? 왜 2억이나 줄었지?
원인 분석
알고 보니, 김철수 고객이 2024년에 등급이 바뀌었다.
에디터 로딩 중...
dim_customer 테이블:
에디터 로딩 중...
문제: 2023년 매출인데, 2024년 등급으로 조회됨.
김철수가 VIP일 때 산 2억이 일반 고객 매출로 집계된 것!
리포트 신뢰도 하락
경영진:
"작년 리포트랑 숫자가 다른데? 이거 믿어도 되는 거야?"
데이터 엔지니어의 악몽:
- 매출 숫자가 자꾸 바뀜
- 과거 리포트 재현 불가
- 감사 대응 불가
해결책: SCD (Slowly Changing Dimension)
"고객 등급이 바뀌면 덮어쓰지 말고, 이력을 남겨야 해."
에디터 로딩 중...
2023년 매출 조회 시:
- valid_from <= 2023-12-31 AND valid_to >= 2023-12-31
- → customer_key = 1001 (VIP)
과거 시점의 상태로 정확히 조회 가능!
이번에 이 SCD를 제대로 배워보자.