눈송이 스키마
Snowflake schema이 글은 검증을 위해 인용구가 추가로 필요하다. – · · · · (2012년 10월 (이 템플릿 |
컴퓨팅에서 눈송이 스키마는 도면요소 관계도가 눈송이 모양을 닮도록 다차원 데이터베이스로 표들을 논리적으로 배열한 것이다. 눈송이 스키마는 다차원에 연결된 중앙집중식 팩트 테이블로 표현된다. '스노우플라킹'은 스타 스키마에서 치수표를 정상화하는 방식이다. 모든 치수표를 따라 완전히 정상화되면 결과 구조는 사실표가 가운데 있는 눈송이와 유사하다. 눈송이의 원리는 낮은 카디널리티 속성을 제거하고 별도의 테이블을 형성하여 치수 테이블을 정상화시키는 것이다.[1]
눈송이 스키마는 스타 스키마와 비슷하다. 단, 눈송이 스키마에서는 치수가 복수의 관련 테이블로 정규화되는 반면, 스타 스키마의 치수는 각 치수가 하나의 테이블로 표현되는 것과 함께 변별화된다. 복잡한 눈송이 모양은 눈송이 스키마의 치수가 정교하여 여러 단계의 관계를 가지며, 하위 테이블에는 여러 부모 테이블("도로의 포크")이 있을 때 나타난다.
공통 용법
별과 눈송이 스키마는 데이터 조작의 효율성보다 데이터 검색 속도가 더 중요한 치수 데이터 웨어하우스와 데이터 마트에서 가장 흔히 발견된다. 이와 같이, 이러한 스키마의 표는 그다지 정규화되지 않으며, 제3의 정규 형태에 미달하는 정규화 수준으로 설계되는 경우가 많다.[2]
데이터 표준화 및 저장
정규화는 공통적으로 반복되는 데이터 그룹을 새 테이블로 이동하여 중복(중복)을 방지하기 위해 데이터를 분할한다. 따라서 정규화는 주어진 질의를 수행하기 위해 조인해야 하는 테이블의 수를 증가시키는 경향이 있지만, 데이터가 변경될 경우 데이터를 보유하는 데 필요한 공간과 업데이트해야 하는 장소의 수를 감소시킨다.
공간 저장 관점에서 치수 표는 사실 표에 비해 일반적으로 작다. 이것은 종종 눈송이 스키마에 비해 스타 스키마의 잠재적인 저장 공간 이점을 부정한다. 예: 220개국 300개 상점에서 100만 건의 판매 거래로 스타 스키마(사실표 100만 건, 해당 국가의 각 상점이 명시적으로 상장되는 치수표 300건)에 100만 건이 기록된다. 컨트리 테이블을 참조하는 컨트리 키를 가진 눈송이 스키마는 동일한 100만 개의 레코드 팩트 테이블, 220개의 레코드를 가진 컨트리 테이블을 참조하는 300개의 레코드 숍 테이블로 구성될 것이다. 이 경우, 스타 스키마는 더 이상 변별이 되기는 했지만, 숫자나 기록을 ~0.9998(=[100만+300]으로 나눈 값만 감소시킬 뿐이다.
일부 데이터베이스 개발자는 스타 스키마를 시뮬레이션하기 위해 필요한 조인을 많이 수행하는 뷰를 위에 구축한 기본 눈송이 스키마를 만들어 타협한다. 이는 스타 스키마가 제공하는 쿼리 용이성과 함께 치수의 정상화를 통해 달성되는 스토리지 이점을 제공한다. 트레이드오프는 서버가 기본 조인을 자동으로 수행하도록 요구하면 쿼리할 때 성능 적중뿐만 아니라 특정 조회를 수행하는 데 필요하지 않을 수 있는 테이블에 추가 조인을 발생시킬 수 있다는 것이다.[citation needed]
혜택들
눈꽃 스키마는 스타 스키마 논리 모델과 같은 계열이다. 사실, 스타 스키마는 눈송이 스키마의 특별한 경우로 여겨진다. 눈송이 스키마는 다음과 같은 특정 상황에서 스타 스키마보다 몇 가지 장점을 제공한다.
단점들
눈송이 스키마의 일차적인 단점은 속성 정규화의 추가 레벨이 스타 스키마와 비교했을 때 소스 쿼리 조인에 복잡성을 더한다는 것이다.
눈송이의 스키마는 평평한 단일 테이블 치수와 대조적으로, 심하게 비판되어 왔다. 이들의 목표는 정규화된 데이터의 효율적이고 컴팩트한 저장으로 가정되지만, 이 차원에서 필요한 조인트를 탐색할 때 성능 저하의 상당한 비용이 든다.[4] 이러한 단점은 검색 도구 내에서 더 나은 쿼리 성능 때문에 처음 인식된 이후 몇 년 동안 감소했을 수 있다.
고도로 정규화된 트랜잭션 스키마와 비교했을 때, 눈송이 스키마의 생략은 정규화된 스키마가 제공하는 데이터 무결성 보증을 제거한다.[citation needed] 눈송이 스키마에 대한 데이터 로드는 업데이트를 방지하고 이상 징후를 삽입할 수 있도록 고도의 제어 및 관리되어야 한다.
예
오른쪽에 보이는 예시 스키마는 스타 스키마 기사에 제공된 스타 스키마 예제의 눈송이가 달린 버전이다.
다음의 예시 쿼리는 스타 스키마 예시 코드에 해당하는 눈송이 스키마로서, 브랜드별, 국가별로 판매된 텔레비전 단위의 총 수를 1997년에 반환한다. 눈송이 스키마 쿼리는 단순한 쿼리라도 충족시키기 위해 스타 스키마 버전보다 더 많은 조인을 필요로 한다는 점에 유의하십시오. 이 예에서 눈송이 스키마를 사용하면 눈송이 스키마가 치수 자체에서 많은 중복 값을 제거하기 때문에 스토리지 요구사항이 더 낮다는 장점이 있다.
선택 B.브랜드, G.나라, SUM(F.Units_Sold) From 팩트_세일즈 F 이너 가입하다 딤_날짜 D 켜기 F.날짜_Id = D.아이디 이너 가입하다 딤_스토어 S 켜기 F.스토어_Id = S.아이디 이너 가입하다 딤_지오그래피 G 켜기 S.지리_Id = G.아이디 이너 가입하다 Dim_Product P 켜기 F.product_Id = P.아이디 이너 가입하다 딤_브랜드 B 켜기 P.브랜드_ID = B.아이디 이너 가입하다 Dim_Product_Category C 켜기 P.Product_Category_Id = C.아이디 어디에 D.연도 = 1997 AND C.Product_Category = 'tv' 그룹 BY B.브랜드, G.나라
참고 항목
참조
- ^ 폴라지 폰니야 IT 전문가를 위한 데이터 웨어하우징 기본 원리. 와일리, 2010년 29-32페이지 ISBN0470462078.
- ^ Han, Jiawei (2012). Data Mining - Concepts and Techniques. Massachusettes, USA: Morgan Kauffmann Publishers. ISBN 9780123814791.
- ^ Wilkie, Michelle (2009). "Using SAS® OLAP Server for a ROLAP Scenario" (PDF). SAS Global Forum 2009. Retrieved 2013-02-27.
- ^ Kimball, Ralph (1996). "6: The Big Dimensions". The Data Warehouse Toolkit (1st ed.). Wiley. pp. 95–98. ISBN 0-471-15337-0.
Do not snowflake your dimensions, even if they are large
참고 문헌 목록
- Anahory, S.; D. Murray. Data Warehousing in the Real World: A Practical Guide for Building Decision Support Systems. Addison Wesley Professional.
- Kimball, Ralph (1996). The Data Warehousing Toolkit. John Wiley.