- Dimensional Modeling
- 비즈니스 유저들이 DW시스템에서 좀 더 쉽고 빠르게 쿼리를 날리면서 사용할 수 있도록 하는 설계?
- 데이터기반 의사결정을 지원하기 위해서 분석데이터를 빠르고 유연하게 제공하기 위한 구축 방법론
- Fact
- 비즈니스 프로세스에서 측정하고자 하는 값, 일반적으로 '숫자' (항상 그런것은 아님)
- '이벤트'와 관련 있음
- Measure 테이블
- 거래금액 등의 트랜잭션 정보가 담긴다.
- 그래뉴래러티(Granularity) : 하나의 팩트테이블의 각 행은 모두 동일한 수준의 값이어야 한다.
- 이 특성이 유지 되는 한, 팩트 테이블의 모든 값에 대해 연산을 적용 하더라도 팩트 테이블의 계산 값에 대해 무결성 보장
- Dimension
- Fact 값을 비즈니스적으로 설명하는 속성(보통 텍스트)을 갖고 있음
- 질의의 '관점'
- 정수형 타입으로 키를 생성하는 것이 좋다. Bitmap 인덱스를 사용할 수 있기 때문에 성능상 이점
- 일부 DW 어플라이언스만 그런듯?
- 비정규화로 존재, 효율적인 쿼리에 목적
- 계층 형식 또는 Recursive 형태의 관계
- 계층형태는 드릴다운 또는 드릴업(롤업) 형태의 레포트를 만들 수 있다
참고) 하둡 기반 DW 모델링
Dimensional modeling process
- 비즈니스 프로세스 선택 (Select the business process)
- 비즈니스 사용자로부터 요구사항을 수집하여 모델링할 비즈니스 프로세스(OLTP 에서 행해지는) 선택 (ex. 주문프로세스,,)
- 주제영역 설정
- Grain 선택 (Declare the grain) ( 같은말 그래뉴래러티??)
- 팩트 테이블의 레코드가 나타내는 것을 정확히 설명
- 팩트 테이블의 세부 수준 결정
- 일반적으로 차원 테이블 수가 적을 수록 상세수준이 낮다
- 상세수준이 높은 팩트 테이블에서 상세수준이 낮은 팩트 데이터를 생성 할 수 있으나, 그 반대는 안됨 (당연한 소리아녀?)
- 차원 선택 (Identify the dimensions)
- 단일값을 취할 수 있는 모든 가능한 설명을 나타내는 차원 추가 (뭔소리여??)
- ex. 날짜, 시간, 제품, 고객 등
- 단일값을 취할 수 있는 모든 가능한 설명을 나타내는 차원 추가 (뭔소리여??)
- 팩트 확인 (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 정의와 목적 (3) | 2022.11.18 |
[DB] index 등 기본개념 정리 (3) | 2022.11.08 |
spark 실행구조 (0) | 2022.10.31 |
댓글