Kimball Architecture - Fundamental Concepts

문주은·2026년 1월 13일

data-modeling

목록 보기
1/1

1. 모델링 설계 프로세스

1-1) 비즈니스 프로세스 선택 (Select the business process)

  • 조직에서 수행되는 운영 활동을 의미
  • e.g. sales order 접수, invoice billing, delivery orer 접수
  • 성과 지표(performance metrics) 를 생성하거나 수집하며, 이는 팩트 테이블의 팩트로 변환

1-2) 그레인 선언 (Declare the grain)

  • 팩트 테이블의 한 행(row)이 정확히 무엇을 의미하는지를 정의
  • 그레인을 먼저 선언해야 하는 이유는, 이후에 고려되는 모든 차원과 팩트가 반드시 해당 그레인과 일관되어야 하기 때문
  • 이 일관성은 BI 애플리케이션의 성능과 사용 편의성에 매우 중요한
    차원 모델의 통일성을 보장
  • 데이터가 가장 상세하게 캡처되는 최소 단위로 설계할 것은 권장 → 예측 불가능한 질의에도 잘 대응(모든 경우의 수)

    각기 다른 그레인을 가진 팩트 테이블은 반드시 별도의 물리적 테이블로 존재해야 하며,
    서로 다른 그레인을 하나의 팩트 테이블에 섞어서는 안 된다.

1-3) 차원 식별 (Identify the dimensions)

Dimension : 비즈니스 프로세스 이벤트를 둘러싼
“누가(who), 무엇을(what), 어디서(where), 언제(when), 왜(why), 어떻게(how)” 라는 설명적 맥락을 제공

  • 설명 속성(descriptive attributes)이 저장
  • 가능하다면 하나의 팩트 행과 연결되는 차원은 단일 값(single-valued) 을 갖도록 설계
  • 사용자가 비즈니스 분석을 가능하게 하는 의미 있는 라벨과 설명을
    담고 있음.

1-4) 팩트 식별 (Identify the facts)

팩트(Fact) : 비즈니스 프로세스 이벤트의 결과로 발생하는 측정값, 거의 항상 숫자형 데이터

  • 해당 테이블의 그레인으로 정의된 단일 측정 이벤트와 1:1 관계
  • 팩트 테이블에는 선언된 그레인과 일관된 팩트만 허용.
  • e.g. sales transaction ▶︎ (판매 수량, 확장 금액 O), (매장 관리자의 급여 X, 해당 그레인과 무관하므로 허용 X)

1-5) Star Schema & OLAP Cube

[Star Schema]

  • 팩트 테이블과 차원 테이블이 PK/FK 관계로 연결
  • 가장 일반적인 DW 구현 형태

[OLAP 큐브]

  • 스타 스키마와 동일한 내용을 가질 수도 있고, 더 일반적으로는 스타 스키마로부터 파생
  • 차원 속성과 팩트를 모두 포함
  • 차원형 DW/BI 시스템의 최종 배포 단계로 사용

1-6) Kimball과 차원 모델링

1-7) Dim Modeling Graceful Extensions (점진적 확장성)

차원 모델은 데이터 관계가 변화하더라도 유연하다.
아래의 변경은 사용자의 쿼리를 변경하지 않은 채 적용할 수 있다.

  • 팩트 추가

    • 기존 팩트 테이블의 그레인과 일치하는 측정값은 새로운 컬럼으로 추가 가능
  • 차원 추가

    • 그레인을 변경하지 않는 한 새로운 FK 컬럼을 추가하여 팩트 테이블에 차원을 연결할 수 있음
  • 차원 속성 추가

    • 기존 차원 테이블에 새로운 설명 속성을 컬럼으로 추가 가능
  • 그레인 세분화 (더 원자적으로 변경)

    • 차원 테이블에 속성을 추가한 후 팩트 테이블을 더 낮은 그레인으로 재정의 가능
    • 이때 팩트 및 차원 테이블의 기존 컬럼명은 유지해야 함
profile
Data Engineer

0개의 댓글