Posts 스타 스키마와 눈송이 스키마.
Post
Cancel

스타 스키마와 눈송이 스키마.

0. Fact Table과 Demension Table이란?

스타 스키마와 눈송이 스키마를 설명하기 앞서 Fact Table과 Demension Table에 대해 정리가 필요할것 같아 정리한다. Fact Table 수치를 가지고 있는 Table로 집계(Sum,Average,Division,Minus 등 다양한 함수)가 가능한 Table이다 Tableau에서는 이것을 측정값으로 부른다. 예를 들어 아래와 같은 테이블로 표현할 수 있다.

판매일시상품 아이디판매 가격판매 수량
2020-10-03 16:44:22apcsdxewqe1350005
2020-10-03 16:45:32wedfewerer25200001
2020-10-03 17:02:72dsadccsfsd4330002

Demension Table은 카테고리와 같이 Fact Table을 집계하는 기준이 되는 테이블로 Tableau 에서는 번역 차원이라고 표현된다. 예를 들어 아래와 같읕 테이블로 표현할 수 있다.

상품 아이디카테고리브랜드판매 가격
apcsdxewqe13가구에이스5000
wedfewerer25사무용품모나미100
dsadccsfsd43가전삼성1000000

1. 스타 스키마

스타 스키마의 특징은 아래와 같다.

  • 차원(Demension) 테이블과 팩트(Fact) 테이블로 구성되어 있다.
  • Demension Table은 비정규화 되어 저장되는 것이 특징이다.
  • Fact Table은 정규화 되어 저장.
  • Demension Table은 되도록 Column수가 많게, Fact Table은 Column수가 적게 설계하는것이 데이터 사이즈와 성능에서 좋다. 그 이유는 Fact Table은 필연적으로 Row수가 많을수 밖에 없기 때문에 최대한 정보를 Demension Table에서 가지고 있는게 좋다.
  • 최대 장점은 원하는 정보가 주제별로 하나의 테이블에 다 정리되어 있다는 점이다.
  • DW는 데이터를 코드화하지 않고 그 값 자체를 저장하기 때문에 따로 참조할 정보가 줄어든다. 예를 들어 성별이라는 값은 보통 M, F와 같이 코드화할 수 있지만 DW에서는 Man, Female과 같은 그 값 전체를 기술하는 것을 좋아한다.

그림으로 살펴 보자면 아래와 같이 가운데에 Fact Table이 있고 주변에 Demension Table이 있는 형태이다.

2. 눈송이 스키마

눈송이 스키마의 특징은 아래와 같다.

  • 스타 스키마에서 일부 Demension Table이 정규화된 형태를 가지고 있다.
  • 저장 공간을 절약할 수 있다, 경우에 따라 쿼리 성능이 향상될 수 있지만 대부분 많은 조인을 필요로 하기 때문에 성능이 떨어진다.
  • 속성의 개수가 가변적인 항목의 처리에 상당한 강점이 있다.
  • 스타 스키마 보다 정보가 흩어져 저장되어 있으므로 덜 직관적인 구조를 가진다.

그림으로 살펴 보자면 기본적으로는 스타 스키마와 비슷하지만 Demension Table들이 정규화 되어있다.

스타 스키마의 Demension Table의 정보가 많이 중복된다는 단점을 해결하고자 만들어진 모델링 기법이지만 요즘에는 Column Store Index 기능을 가진 DBMS와 Nosql이 많기 때문에 필요한지 의문이 든다.

출처 [1]: https://www.guru99.com/fact-table-vs-dimension-table.html
출처 [2]: https://lovedb.tistory.com/218
출처 [3]: https://dbrang.tistory.com/1381

This post is licensed under CC BY 4.0 by the author.

Contents

Postgresql 아키텍처 및 특징.

Tez가 MR보다 빠른이유.

Comments powered by Disqus.