반응형

/*
-- Title : 차원 모델링(Dimensional Modeling)
-- Reference : www.zentut.com
-- Tag : dimensional modeling 차원 모델링 dw 모델링 다차원 모델차 fact 팩트 measure 측정값 치수 dim 스타 스키마 눈송이 스키마 star schema snowflake schema surrogate key 대리키
*/

■ 차원 모델링 주요 요소
    • 팩트 : 비즈니스 측정값. 측정 가능한 숫자값.
    • 차원 : 치수나 컨텍스트라고도 함. 비즈니스 관점이나 분석 대상.

■ 차원 모델링 프로세스
    1. 비즈니스 프로세스 선택
        - 비즈니스 요구사항 수집
        - ex. 주문처리, 출하, 자재 구매, GL 등

    2. Grain 선택
        - 팩트 테이블의 레코드가 나타내는 것을 정확히 설명
        - 팩트 테이블의 세부 수준 표현 및 결정
        - 최소 Grain은 Dim이 될 수 없다?

    3. 차원 선택
        - 단일값이 취할 수 있는 모든 가능한 설명을 나타내는 차원 추가
        - ex. 날짜, 시간, 제품, 고객, 상점 등

    4. 팩트 확인
        - 팩트 테이블에 로드할 숫자값 선택
        - 비즈니스 프로세스의 KPI나 측정 대상 선별

    5. 스키마 작성
        - 다차원 모델링 구현
        - 스타(star) 스키마 vs. 눈송이(snowflake) 스키마

■ 차원 모델링 규칙
    • 단일 팩트 테이블의 모든 팩트가 동일한 수준(Grain)에 있는지 확인
    • 차원 테이블은 가능한 속성이 많고 Row가 적게 유지(차원의 속성은 분석시 필터링의 대상)
    • 팩트 테이블은 가능한 필드가 작고 Row가 많게 운영
    • 성능을 위해 차원 테이블에 대리키(Surrogate Key)를 사용하고 팩트에 FK로 반영
    • 또한, 성능을 위해 최소한의 Join 유도
    • 




■ 차원 모델링 이점

    • 비즈니스를 쉽게 이해할 수 있는 구조
    •
 쉬운 이해 및 분석에 도움되는 일관된 차원의 그룹화
    • 쿼리 성능 향상, 비정규화 발생 허용
    • 확장이 용이
      - 팩트 테이블에 혼란을 주지 않으면서 새로운 차원 도입 용이
      - 응용 프로그램에 영향없이 필드 추가 가능

반응형

+ Recent posts