주요 컨텐츠로 이동

스노우플레이크 스키마(Snowflake Schema)

Databricks 무료로 시작하기

스노우플레이크 스키마란 무엇입니까?

스노우플레이크 스키마스타 스키마를 확장한 다차원적 데이터 모델로, 차원 테이블을 하위 차원으로 나눕니다. 스노우플레이크 스키마는 OLAP 웨어하우스에 대한 비즈니스 인텔리전스 및 보고, 데이터 마트, 관계형 데이터베이스에 흔히 사용됩니다.

스노우플레이크 스키마에서 엔지니어는 개별 차원 테이블을 논리적 하위 차원으로 나눕니다. 이렇게 하면 데이터 모델이 더 복잡해지만, 애널리스트가 작업하기는 더 쉬우며 특히 특정 데이터 유형의 경우 더욱 쉽습니다.

이 스키마를 스노우플레이크 스키마라고 부르는 이유는 아래에서 볼 수 있듯이 ERD(entity-relationship diagram)가 눈송이처럼 보이기 때문입니다.

외래 키를 통해 다수의 차원 테이블과 하위 차원 테이블에 연결되는 중앙의 팩트 테이블이 있는 스노우플레이크 스키마 다이어그램.

스노우플레이크 스키마와 스타 스키마

스타 스키마처럼 스노우플레이크 스키마에는 외래 키를 통해 다수의 차원 테이블로 연결되는 중앙의 팩트 테이블이 있습니다. 그러나, 주된 차이점은 스노우플레이크 스키마가 스타 스키마보다 더 정규화되어 있다는 것입니다.

스노우플레이크 스키마는 높은 정규화 표준을 더 엄격하게 준수하므로 더 높은 효율성을 제공하지만, 쿼리 성능은 더 비정규화된 데이터 모델만큼 좋지 않습니다. 스타 스키마와 같은 비정규화된 데이터 모델은 데이터 중복성(데이터의 복제)이 더 강하므로 중복된 데이터를 사용하여 쿼리 성능을 높입니다.

스노우플레이크 스키마의 장점

  • 빠른 데이터 검색
  • 데이터 품질 유지
  • 데이터 웨어하우징을 위한 심플한 공통 데이터 모델

스노우플레이크 스키마의 단점

  • 초기 설정 시 많은 오버헤드 발생
  • 경직된 데이터 모델
  • 높은 유지 관리 비용

리소스

 

    용어집으로 돌아가기