본문 바로가기

컴퓨터 과학/데이터베이스

Star Schema와 SnowFlake Schema (HackerRank - Database)

반응형

What is the source of the cube metadata for OLAP?

 

-> Both star and snowflake schema(s)

 

 

 

"Star Schema"와 "Snowflake Schema"는 데이터 웨어하우스 및 비즈니스 인텔리전스(Business Intelligence) 환경에서 데이터를 모델링하고 구성하는 데 사용되는 데이터베이스 디자인 패턴입니다. 이 두 스키마는 데이터베이스 테이블 간의 관계를 나타내고 데이터의 조직 및 쿼리 성능에 영향을 미칩니다.

  1. Star Schema(스타 스키마):
    • Star Schema는 데이터 웨어하우스 환경에서 가장 일반적으로 사용되는 스키마 패턴 중 하나입니다.
    • Star Schema는 중심 테이블인 "팩트 테이블(Fact Table)"과 여러 차원 테이블("Dimension Tables")로 구성됩니다.
    • 팩트 테이블은 비즈니스 이벤트(예: 판매, 주문)에 대한 수치 데이터(메저)를 포함하며, 각 행은 차원 테이블의 키를 가리키는 외래 키를 포함합니다.
    • 차원 테이블은 비즈니스의 다양한 관점을 나타내며, 예를 들어 제품, 시간, 지역, 고객 등의 정보를 포함합니다.
    • Star Schema는 팩트 테이블과 차원 테이블 간의 간단한 관계를 가지고 있으므로 쿼리의 성능이 뛰어납니다.
    • Star Schema는 데이터 모델을 단순화하고 직관적으로 이해하기 쉽게 만듭니다.
  2. Snowflake Schema(스노우플레이크 스키마):
    • Snowflake Schema는 Star Schema의 확장 또는 변형으로, 차원 테이블이 정규화된 형태를 가지는 스키마입니다.
    • Snowflake Schema에서 차원 테이블은 더 작은 하위 테이블로 분해될 수 있으며, 이 하위 테이블은 별도의 차원 테이블이나 코드 테이블로 구성됩니다.
    • 예를 들어, "시간" 차원 테이블은 "연도", "분기", "월"로 구성된 별도의 테이블로 분리될 수 있습니다.
    • Snowflake Schema의 장점은 데이터 정규화로 인해 데이터 중복성이 줄어들고 데이터 일관성이 향상되는 것입니다.
    • 그러나 쿼리의 복잡성이 증가하고 성능에 영향을 미칠 수 있으며, 조인 작업이 더 많이 필요합니다.

비교:

  • Star Schema는 간단하고 직관적이며, 주로 집계 및 보고용 데이터 웨어하우스에 적합합니다.
  • Snowflake Schema는 정규화된 데이터 구조를 제공하며, 데이터 중복성을 줄이고 데이터 일관성을 향상시킬 수 있지만, 복잡한 쿼리 및 성능 저하의 위험이 있습니다.
  • 선택적으로 Star Schema와 Snowflake Schema를 혼합하여 사용할 수 있으며, 이를 "Galaxy Schema"라고도 합니다. Galaxy Schema는 Star Schema와 Snowflake Schema의 장점을 조합한 것으로, 쿼리 성능과 데이터 구조의 최적화를 동시에 고려합니다.
반응형

'컴퓨터 과학 > 데이터베이스' 카테고리의 다른 글

Cube와 Rollup 예시  (0) 2023.10.03
OLTP와 OLAP  (1) 2023.10.03
OLAP operation (HackerRank - Database)  (0) 2023.10.03
OLAP (HackerRank - Database)  (0) 2023.10.03
cluster factor와 fill factor (HacerRank - Database)  (0) 2023.10.03