뚱인데요

출처: 꼬리스토리

  • Multi-dimensional data model 에서는 데이터를 (이론적으로는) cube 의 형태로 표현될 수 있다.
  • 그럼 이것을 컴퓨터에는 어떻게 저장하면 될까? 에 대한 해답이 이 schema 이다.
  • 우선 어떤 measure 에 대한 dimension 들을 다 tuple 에 때려박는 방법을 생각할 수 있다.
    • 즉, 이 예시 로 보면, TIME column 을 준비해 Q1, Q2 등을 넣고, BRANCH column 을 준비해 dongjak 등의 값을 넣으면 될 것이다.
  • 이때 이 dimension 들을 정규화 하여 dimension table 을 분리한 것이 Star Schema 다. 아래 그림을 보시라.

출처: ThoughtSpot

  • 보면 가운데 fact table 이 있고, 여기에 여러 dimension table 들이 reference 되어 있는 형태를 띈다고 해서 Star 라는 이름이 붙는다.
  • 왜 굳이 정규화를 하냐.. 라고 한다면 일반적인 정규화의 장점을 떠올리면 된다.
    • 즉, 데이터 중복을 막고 일관된 상태를 유지하기 위함임.
  • 근데 저 dimension table 또한 정규화시킬 수 있을 것이다. 여기에서 더 정규화를 시킨 것은 Snowflake Schema 라고 부른다.