20

Fact 테이블의 3가지 유형

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

학습 목표

Fact 테이블의 3가지 유형을 구분할 수 있다 Grain 개념을 이해한다

Grain (입도)

Grain = Fact 테이블의 한 행이 의미하는 것

"이 테이블의 한 행은 무엇을 나타내나요?"

에디터 로딩 중...

Grain을 명확히 정의해야 중복/누락 방지!


Fact 유형 1: Transaction Fact

트랜잭션 팩트 = 개별 이벤트 기록

에디터 로딩 중...

특징:

  • 한 행 = 하나의 이벤트 (주문, 클릭, 결제)
  • 가장 상세한 레벨
  • 행이 가장 많음
  • 모든 분석의 기초

Fact 유형 2: Periodic Snapshot

주기 스냅샷 = 일정 기간 합계/평균

에디터 로딩 중...

특징:

  • 한 행 = 일/주/월 단위 집계
  • 트랜잭션 팩트에서 미리 집계
  • 빠른 조회 (이미 집계됨)
  • 상세 데이터는 별도 보관

Fact 유형 3: Accumulating Snapshot

누적 스냅샷 = 프로세스 진행 상태

에디터 로딩 중...

특징:

  • 한 행 = 하나의 프로세스 (주문→배송→완료)
  • 단계별 날짜/상태 기록
  • 행이 UPDATE됨 (다른 Fact와 다름)
  • 파이프라인/워크플로우 분석용

어떤 유형을 선택?

분석 목적Fact 유형
개별 거래 분석Transaction
월별 매출 대시보드Periodic Snapshot
주문 처리 시간 분석Accumulating Snapshot
상세 드릴다운 필요Transaction
빠른 집계 필요Periodic Snapshot

보통 Transaction Fact를 먼저 만들고, 필요에 따라 Periodic Snapshot을 추가