Granuality
- Fact Table의 Grain 레벨을 의미
- Fact Table의 최소 단위가 월 단위로 표현되는지, 일 단위로 표현되는지를 의미
Granuality
가 높으면 성능상의 이점은 있지만 상세 데이터를 조회할 수 없는 단점이 있다.
Fact Table
- Major Table이라고도 한다.
- Business에 관한 수량적이거나 사실적인 data를 갖는다.
Dimension Table
- Minor table이라고도 한다.
- Buiness의 차원을 반영하는 서술적인 data를 갖는다.
Fact Table
내의 각각의 row에 대하여 서술적인 정보를 갖는다.
- 일반적으로
Fact Table
에 비하여 그 양이 적다.
- Large Dimension Tables
- 모든
Dimension Table
이 항상 작은 것은 아니다.
- 고객에 관한 정보를 갖는
Dimension Table
이라면 매우 커질 수 있다.
- 이러한 복잡한 분석을 지원하기 위하여 보다 정교한 인덱스와 조인 기술을 필요로 한다.
테이블 예시
예를 들어서 Fact_Sales 라는 판매 Fact Table
을 구성할 때 날짜, 상점, 제품의 Dimension Table
이 FK로 연결된다.
Fact Table
은 Measure 를 가지고 있고 아래 Fact_Sales에서는 Units Sold가 Measure가 됨.
Star Schema
- RDBMS에서 구현되는 다차원 구조.
Fact Table
을 중심으로 Dimension Table
들이 뻗어져 나오는 형태를 취한 모습 때문에 ‘star’라는 이름을 가졌다.
- 팩트 테이블과 관련된 디멘션의 키 참조를 통해 연결되는 구조
- 데이터를 검색하는 동안 조인 횟수를 줄여 성능에 장점을 가진다.
Dimension Table
은 의도적으로 비정규화되기 때문에 데이터 중복성이 높다.
SnowFlake Schema
- 모든 차원 테이블을 정규화하는 프로세스
- 데이터 중복성이 완전히 제거되기 때문에 스토리지 공간이 더 절약된다.
- 반면 정규화된 차원 테이블로 인해 복잡한 조인이 필요하다.
Additive, Semi-additive, Non additive
Additive
: 어떤 디멘션으로도 합산이 가능한 measure
- store별 일 매출 → store별 한달 총 매출로 합산이 가능
Semi Additive
: 일부 디멘션으로 합산이 가능한 measure
- 잔고 금액과 같은 경우 시간을 제외한 모든 디멘션으로 합산 가능
Non additive
: 완전히 합산 불가능한 measure.
Roll Up, Drill Up
- 작은 단위(예: day)에서 큰 단위(예: month, year)로 집계 수행
Drill Down
- 큰 단위(예:year)에서 작은 단위(예:month, day)로 집계 수행
- 기존 쿼리에 로우 헤더를 추가하는 것
- 로우 헤더는 SQL의 GROUP BY절에 추가되는 디멘션 속성
Drill through
- OLAP에서 DW나 OLTP에 존재하는 상세 데이터에 접근(원천 조회)
Drill across
- 다른 큐브의 데이터에 접근(큐브 간 전환)
- 예) 매출 → 재고
Reference