주요 스키마에 대해 알기: 별 대 눈송이
게시 됨: 2022-08-26다차원 스키마는 데이터 웨어하우스 시스템 모델을 구축하도록 설계되었습니다.
이러한 스키마의 주요 목적은 분석 목적(OLAP)을 위해 구축된 대규모 데이터베이스의 요구 사항을 해결하는 것입니다.
이 방법은 데이터베이스의 내용을 잘 정렬하여 데이터베이스의 데이터를 정렬하는 데 사용됩니다. 스키마를 통해 고객은 비즈니스 또는 시장 동향과 관련된 질문을 할 수 있습니다.
또한 다차원 스키마는 다양한 관점과 차원에서 데이터를 보고 모델링할 수 있는 데이터 큐브 형태의 데이터를 나타냅니다.
세 가지 유형이지만 많은 사람들이 별과 눈송이를 혼동합니다. 따라서 선호하는 모델을 선택하는 것이 어려워집니다.
당신이 그들 중 하나라면 정의부터 시작하여 이점, 과제, 다이어그램 및 특성을 이해하면서 별과 눈송이 스키마의 차이점에 대해 논의해 보겠습니다.
다차원 스키마란 무엇입니까?
스키마는 전체 데이터베이스 및 데이터 마트에 대한 논리적 설명을 나타냅니다. 여기에는 집계 및 관련 데이터 항목을 포함하여 레코드의 이름과 설명이 포함됩니다.
데이터베이스는 일반적으로 관계형 모델을 사용하여 설명하는 반면 데이터 웨어하우스 시스템은 스키마 모델을 사용합니다.
다차원 스키마는 DMQL(Data Mining Query Language)로 정의할 수 있습니다.
데이터 마트와 데이터 웨어하우스를 정의하기 위해 차원 정의와 큐브 정의라는 두 가지 기본 요소를 사용합니다.
다차원 스키마는 다양한 유형의 스키마 모델을 사용합니다. 그들은:
- 스타 스키마
- 눈송이 스키마
- 갤럭시 스키마
star 및 Snowflake 스키마가 무엇인지 논의해 보겠습니다.
별 대 눈송이: 그들은 무엇입니까?

스타 스키마란 무엇입니까?
스타 스키마는 측정 및 트랜잭션 데이터를 저장하기 위해 단일 팩트 테이블이 필요한 아키텍처 데이터 웨어하우징 및 비즈니스 인텔리전스 모델입니다. 또한 다른 작은 차원 테이블을 사용하여 비즈니스 데이터에 대한 속성을 보유합니다.
구조에 따라 명명됩니다. 별과 같이 도표의 중앙에 팩트 테이블이 자리를 잡고 중앙 테이블에 작은 차원의 테이블이 가지처럼 놓여 별과 같은 구조를 형성합니다.
모든 스타 스키마는 단일 팩트 테이블로 구성되지만 여러 개의 작은 차원 테이블로 구성됩니다. 팩트 테이블에는 기록된 성과, 재무 데이터 또는 판매 기록과 같이 분석해야 하는 측정 가능한 특정 데이터가 포함됩니다. 한 번에 또는 트랜잭션에 대한 기록 데이터의 스냅일 수 있습니다.
또한 Star 스키마는 데이터 웨어하우스 및 데이터 마트 스키마 중 가장 단순하고 가장 기본적인 스키마입니다. 기본 쿼리를 처리하는 데 효율적입니다. 스타 스키마는 일반적으로 비즈니스 인텔리전스, 임시 쿼리, 분석 응용 프로그램 및 온라인 분석 처리 큐브를 지원합니다.
스타 스키마는 또한 많은 레코드의 개수, 평균, 합계 및 기타 집계를 지원합니다. 사용자는 차원별로 집계를 쉽게 필터링하고 그룹화할 수 있습니다. 예를 들어 사용자는 "6월의 모든 판매 기록 찾기" 또는 "2022년 XYZ 사무실의 총 수익 분석"과 같은 쿼리를 생성합니다.
눈송이 스키마란 무엇입니까?

눈송이 스키마는 스타 스키마의 확장으로도 알려진 다차원 데이터 모델입니다. 이는 Snowflake 스키마의 차원 테이블이 하위 차원으로 분해되기 때문입니다.
하나 이상의 차원 테이블이 사실 테이블에 직접 연결되지 않고 다른 차원 테이블을 통해 연결되는 경우 스키마는 눈송이입니다.
눈송이는 스타 스키마에서 차원 테이블을 정규화하는 현상입니다. 모든 차원 테이블을 정규화하면 결과 구조가 구조 중간에 팩트 테이블이 포함된 눈송이와 유사합니다.
간단히 말해서, 눈송이 스키마는 모델 중간에 하나의 팩트 테이블로 구성되며, 이는 차원 테이블에 연결되고, 다시 다른 차원 테이블에 연결됩니다. 이 스키마는 쿼리의 성능을 향상시키는 데 사용됩니다.
모델은 복잡한 관계와 차원에서 빠르고 유연한 쿼리를 위해 만들어졌습니다. 다양한 차원 수준 간의 일대다 및 다대다 관계에 유용합니다.
더 많은 정규화 표준을 더 엄격하게 준수하기 때문에 더 많은 저장 효율성을 얻을 수 있습니다. 그러나 데이터 중복성은 무시할 만하고 스타 스키마와 같은 비정규화된 데이터 모델에 비해 성능이 낮습니다.
별 대 눈송이: 어떻게 작동합니까?

스타 스키마는 어떻게 작동합니까?
스타 모델 중간에 있는 팩트 테이블은 숫자 및 차원 속성 값의 두 가지 유형의 정보를 저장합니다. 판매 데이터베이스의 예를 들어 이해합시다.
- 숫자 값 은 모든 행과 데이터 요소에 고유합니다. 이것은 다른 행에 저장된 데이터와 상관 관계가 없습니다. 이는 총액, 주문 수량, 정확한 시간, 순이익, 주문 ID 등과 같은 특정 거래에 대한 사실입니다.
- 차원 속성 값 은 데이터를 직접 저장하지 않고 행에 대한 외래 키 값을 차원 테이블에 저장합니다. 중앙 테이블의 다른 행은 데이터 값, 영업 사원 ID, 지점 ID, 제품 ID 등과 같은 이 정보를 참조합니다.
차원 테이블은 항상 팩트 테이블의 지원 정보를 저장합니다. 모든 차원 테이블은 차원 값과 함께 팩트 테이블의 열과 관련되며 해당 값에 대한 추가 데이터를 저장합니다.
예: 직원 차원 테이블은 직원 ID를 키 값으로 사용하며 이름, 성별, 주소 및 전화 번호와 같은 정보도 포함합니다. 마찬가지로 제품 차원 테이블에는 제품 이름, 색상, 최초 출시 날짜, 제조 비용 등의 정보가 저장됩니다.
Snowflake 스키마는 어떻게 작동합니까?

중앙 상자와 그 상자를 통해 다른 점으로 연결되는 눈송이 디자인을 생각해 보십시오. 데이터 마트와 데이터 웨어하우스를 유지 관리하기 위해 눈송이 스키마 디자인이 필요합니다.
별 스키마와 유사하지만 미세한 변경 사항이 있습니다. 스타 스키마와 달리 눈송이 스키마는 차원 테이블에 연결된 하위 차원 테이블을 확장합니다.
이 모델의 주요 목적은 스타 모델의 비정규화된 정보를 정규화하는 것입니다. 이런 식으로 스타 스키마와 관련된 일반적인 문제를 해결할 수 있습니다.
스키마의 핵심에는 차원 테이블에 포함된 정보와 연결되는 팩트 테이블이 있습니다. 이러한 테이블은 차원 테이블 정보를 설명하는 자세한 정보가 있는 하위 차원 테이블로 다시 외부로 방출됩니다.
예: 눈송이 스키마에는 판매 사실 테이블과 매장 위치, 라인, 제품군, 제품 및 시간 차원 테이블이 포함되어 있습니다. 시장 차원은 기본 차원 테이블인 상점과 하위 차원 테이블인 상점의 위치가 있는 두 개의 차원 테이블로 구성됩니다. 제품 차원에는 제품, 라인 및 제품군 하위 차원 테이블을 언급하는 세 개의 하위 차원 테이블이 있습니다.
별 대 눈송이: 특성

스타 스키마의 특성
- 스타 스키마는 정규화된 데이터에서 데이터를 필터링하여 데이터 웨어하우징 요구 사항을 충족할 수 있습니다. 모든 행을 식별하기 위해 각 팩트 테이블에 대한 관련 정보에서 고유 키가 생성됩니다.
- 매월 말에 얻은 소득 및 총 판매 항목과 같은 빠른 계산 및 집계를 제공합니다. 이러한 세부 정보는 적절한 쿼리를 구성하여 필요에 따라 필터링할 수 있습니다.
- 외래 키로 구성된 유한 숫자 값을 포함하는 이벤트의 측정입니다. 이러한 키는 차원 테이블과 관련됩니다. 원자 수준의 값으로 구성된 다양한 유형의 팩트 테이블이 있습니다.
- 거래 사실 테이블에는 판매 및 휴일과 같은 특정 이벤트에 대한 데이터가 포함됩니다.
- 기록 사실에는 연말 또는 분기마다 계정 정보와 같은 지정된 기간이 포함됩니다.
- 차원 테이블은 중앙 테이블에 있는 속성 또는 레코드에 대한 자세한 데이터를 제공합니다.
- 사용자는 필요에 따라 테이블을 직접 디자인할 수 있습니다.
- 스타 스키마를 사용하여 스냅샷 테이블을 누적할 수 있습니다.
눈송이 스키마의 특성
- 눈송이 스키마에는 작은 디스크 공간이 필요합니다.
- 이 모델은 별도의 기본 차원 테이블로 인해 구현하기 쉽습니다.
- 차원 테이블에는 여러 그레인에서 정보를 정의하는 두 개 이상의 속성이 있습니다.
- 여러 테이블로 인해 스타 스키마에 비해 성능이 낮습니다.
- 눈송이 스키마는 정규화로 인해 데이터 무결성 수준이 가장 높고 중복성이 낮습니다.
별 대 눈송이: 장점

스타 스키마의 장점
- 스타 스키마는 데이터 마트 스키마 중 가장 간단한 방법입니다.
- 간단한 보고 논리가 있습니다. 이 논리는 동적으로 암시됩니다.
- 큐브가 효율적이고 효과적으로 작동할 수 있도록 Online Transaction Process를 통해 적용된 Feeding 큐브를 사용하여 설계되었습니다.
- 스타 스키마는 트랜잭션 프로세스에서 쉽게 추출할 수 있는 간단한 논리와 쿼리로 구성됩니다.
- 보고 응용 프로그램에 대한 향상된 성능을 제공합니다.
- 데이터의 빠른 복구를 제어하기 위해 배포됩니다.
- 필터링되고 선택된 정보는 다양한 경우에 쉽게 적용할 수 있습니다.
눈송이 스키마의 장점
- 스타 스키마는 디스크 스토리지 요구 사항이 적기 때문에 쿼리 성능을 개발하는 데 사용됩니다.
- 구성 요소와 차원 수준 간의 관계에서 더 큰 확장성을 제공합니다.
- 유지 관리가 더 쉽습니다.
- 스타 스키마는 빠른 데이터 검색을 제공합니다.
- 데이터 웨어하우징을 위한 일반적이고 간단한 데이터 스키마입니다.
- 데이터 품질 향상에 도움이 됩니다.
- 구조화된 데이터는 데이터 무결성 문제를 줄입니다.
별 대 눈송이: 제한 사항
스타 스키마의 한계
비정규화 및 무결성 상태가 높습니다. 사용자가 데이터 업데이트에 실패하면 전체 프로세스가 축소됩니다. 보안 및 보호도 제한됩니다. 또한 스타 스키마는 분석 모델만큼 유연하지 않습니다. 다양한 관계에 대한 효율적인 지원을 제공하지 않습니다.

Snowflake 스키마의 한계
Snowflake에서 찾을 수 있는 주요 제한 사항은 작은 차원 테이블의 수가 증가하기 때문에 추가 유지 관리 노력이 필요하다는 것입니다. 많은 복잡한 쿼리로 인해 필요한 데이터를 찾기가 어렵습니다. 또한 높은 테이블로 인해 질문의 구현 시간이 높습니다. 이 모델은 또한 단단하고 더 높은 유지 보수 비용이 필요합니다.
별 대 눈송이: 차이점

Star와 Snowflake는 다차원 스키마 유형이지만 구조와 속성이 다릅니다. 전자는 별과 같고 후자는 눈송이와 비슷하여 이름을 정의합니다.
스타 스키마에서는 단일 조인만 중앙 팩트 테이블과 측면 차원 테이블 간의 관계를 구축합니다. 반면, 눈송이 스키마에서는 차원 테이블에 연결하기 위해 여러 조인이 필요합니다.
스타 스키마는 일반적으로 차원 테이블의 행 수가 적을 때 사용되는 반면 눈송이 스키마는 차원 테이블이 상대적으로 클 때 사용됩니다.
아래 다이어그램은 두 모델을 구분하고 차원 테이블과 팩트 테이블이 서로 다른 스키마에서 어떻게 연결되는지 보여줍니다.
매개변수 | 스타 스키마 | 눈송이 스키마 |
디스크 공간 | 스타 스키마는 더 많은 디스크 공간을 사용합니다. | Snowflake 스키마는 디스크 공간을 덜 사용합니다. |
데이터 중복 | 높은 데이터 중복성을 가지고 있습니다. | 데이터 중복성이 낮습니다. |
표준화 | 차원 테이블이 비정규화되어 테이블 내에서 동일한 값이 반복됩니다. | 차원 테이블이 완전히 정규화되었습니다. |
쿼리 성능 | 쿼리를 실행하는 데 최소한의 시간이 걸리므로 성능이 향상됩니다. | 쿼리 실행에 스타 스키마보다 시간이 오래 걸리므로 스타 스키마보다 성능이 떨어집니다. |
쿼리 복잡성 | 쿼리 복잡도가 낮습니다. | 쿼리 복잡성이 스타 스키마보다 높습니다. |
유지 | 높은 데이터 중복성으로 인해 스타 스키마를 유지 관리하는 것은 약간 어렵습니다. | 낮은 데이터 중복성으로 인해 눈송이 스키마를 유지하고 변경하기 쉽습니다. |
데이터 무결성 | 차원 테이블에 여러 복사본이 있는 곳에 데이터가 중복 저장되기 때문에 데이터 무결성이 높습니다. | 차원 테이블을 완전히 정규화하므로 데이터 무결성이 낮습니다. |
계층 | 스타 스키마의 차원 테이블에 대한 계층은 차원 테이블에 저장됩니다. | 계층은 별도의 차원 테이블로 나뉩니다. |
DB설계 | 심플한 DB 디자인을 가지고 있습니다. | 매우 복잡한 DB 설계를 가지고 있습니다. |
팩트 테이블 | 여러 차원 테이블이 팩트 테이블을 둘러싸고 있습니다. | 사실 테이블은 하위 차원 테이블로도 둘러싸여 있는 차원 테이블로 둘러싸여 있습니다. |
설정 | 스타 스키마는 직접 관계가 이를 나타내므로 설계 및 설정이 쉽습니다. | 반면에 눈송이 스키마는 설정하기가 약간 복잡합니다. |
큐브 처리 | 큐브 처리가 더 빠릅니다. | 복잡한 조인으로 인해 큐브 처리가 약간 느립니다. |
외래 키 | 최소한의 외래 키가 있습니다. | 최대 외래 키 수를 가집니다. |
결론
Star 및 Snowflake 스키마는 모두 다른 부문에서 유용합니다. 따라서 그들 중 어느 것이 더 나은지 결정하는 것은 요구 사항을 기반으로 합니다.
눈송이 스키마는 별 스키마의 차원 테이블을 정규화하는 별 스키마의 확장입니다.
스타 스키마는 디자인이 간단하고 쿼리를 더 빠르게 실행하며 설정이 쉽습니다. 반면에 눈송이 스키마는 유지 관리가 더 쉽고 디스크 공간을 덜 차지하며 데이터 무결성 문제가 발생하기 쉽습니다.
따라서 단순한 디자인, 더 적은 외래 키, 더 빠른 큐브 처리가 필요한 경우 스타 스키마가 더 나은 옵션이 될 수 있습니다. 그러나 더 적은 디스크 공간, 낮은 데이터 무결성 및 낮은 유지 관리가 필요한 경우 눈송이 스키마가 더 적합할 수 있습니다.
최고의 그래프 데이터베이스 솔루션을 탐색할 수도 있습니다.