본문 바로가기
학습장/Data Engineering

[DW] Dimensional Modeling

by daedoo_ 2022. 11. 24.
  • Dimensional Modeling
    • 비즈니스 유저들이 DW시스템에서 좀 더 쉽고 빠르게 쿼리를 날리면서 사용할 수 있도록 하는 설계?
    • 데이터기반 의사결정을 지원하기 위해서 분석데이터를 빠르고 유연하게 제공하기 위한 구축 방법론
  • Fact
    • 비즈니스 프로세스에서 측정하고자 하는 값, 일반적으로 '숫자' (항상 그런것은 아님)
    • '이벤트'와 관련 있음
    • Measure 테이블
    • 거래금액 등의 트랜잭션 정보가 담긴다.
    • 그래뉴래러티(Granularity) : 하나의 팩트테이블의 각 행은 모두 동일한 수준의 값이어야 한다.
      • 이 특성이 유지 되는 한, 팩트 테이블의 모든 값에 대해 연산을 적용 하더라도 팩트 테이블의 계산 값에 대해 무결성 보장
  • Dimension
    • Fact 값을 비즈니스적으로 설명하는 속성(보통 텍스트)을 갖고 있음
    • 질의의 '관점'
    • 정수형 타입으로 키를 생성하는 것이 좋다. Bitmap 인덱스를 사용할 수 있기 때문에 성능상 이점
      • 일부 DW 어플라이언스만 그런듯?
    • 비정규화로 존재, 효율적인 쿼리에 목적
    • 계층 형식 또는 Recursive 형태의 관계
      • 계층형태는 드릴다운 또는 드릴업(롤업) 형태의 레포트를 만들 수 있다

참고) 하둡 기반 DW 모델링 

https://blog.lgcns.com/1201

Dimensional modeling process

  1. 비즈니스 프로세스 선택 (Select the business process)
    • 비즈니스 사용자로부터 요구사항을 수집하여 모델링할 비즈니스 프로세스(OLTP 에서 행해지는) 선택 (ex. 주문프로세스,,)
    • 주제영역 설정
  2. Grain 선택 (Declare the grain) ( 같은말 그래뉴래러티??)
    • 팩트 테이블의 레코드가 나타내는 것을 정확히 설명
    • 팩트 테이블의 세부 수준 결정
      • 일반적으로 차원 테이블 수가 적을 수록 상세수준이 낮다
      • 상세수준이 높은 팩트 테이블에서 상세수준이 낮은 팩트 데이터를 생성 할 수 있으나, 그 반대는 안됨 (당연한 소리아녀?)
  3. 차원 선택 (Identify the dimensions)
    • 단일값을 취할 수 있는 모든 가능한 설명을 나타내는 차원 추가 (뭔소리여??)
      • ex. 날짜, 시간, 제품, 고객 등
  4. 팩트 확인 (Identify the Fact)
    • 팩트 테이블에 로드할 숫자값 선택
    • 측정값 설정
  • 데이터 성격에 따른 설계방향
    • 선분이력
    • 점이력
    • 시계열로 구축 할 것인지
    • 스냅샷 이력으로 할 것인지,,

Dimensional modeling의 이점

  • 비즈니스 프로세스의 KPI나 측정 대상 선별
  • 일관된 차원으로 그룹화(뭔말이지??) 되어 비즈니스 사용자가 데이터를 더 쉽게 분석할 수 있음
  • 비정규화 발생 허용되어 쿼리 성능 향상에 최적화??
  • 확장에 용이
    • 팩트 테이블에 혼선을 주지 않으면서 새로운 차원 도입 용이
  • 복잡한 운영 시스템에서의 데이터 흐름을 모르더라도, 비즈니스상 중요한 목표를 이해하기 수월하다.

'학습장 > Data Engineering' 카테고리의 다른 글

Azure 환경에서 구동되는 ETL - Azure ADF  (1) 2023.01.16
[DW] Mart Modeling  (1) 2022.11.28
[DW] OLAP 정의와 목적  (2) 2022.11.18
[DB] index 등 기본개념 정리  (3) 2022.11.08
spark 실행구조  (0) 2022.10.31

댓글