_대문 | 방명록 | 최근글 | 홈피소개 | 주인놈
FrontPage › 차원모델링의원리

Contents

[-]
1 장의 목표
2 요구사항에서 데이터 설계까지
3 STAR Schema
4 차원 테이블 특징
5 사실 테이블 특징
6 사실없는 사실 테이블(factless fact tables)
7 데이터 구체화 정도(data granularity)
8 스타 스키마의 장점


1 장의 목표 #

  • 요구사항의 규정이 어떻게 데이터 설계를 결정하는지 명확히 이해
  • 차원 모델링을 소개하고, 개체-관계 모델링과 대조
  • 스타 스키마의 기본을 검토
  • 사실 테이블의 내부와 차원 테이블의 내부가 무엇인지 알아본다
  • DW를 위한 스타 스키마의 장점들을 정한다.

2 요구사항에서 데이터 설계까지 #

requirements_to_dim_model.jpg

설계 결정
  • 주제 선택
  • 구체화정도 선택
  • 차원을 확인하고 식별하기 (차원: 사실(fact)를 바라보는 관점, 분석하고자 하는 관점)
  • 사실을 선택하기(사실: 분석하고자 하는 대상)
  • 데이터의 생명주기 결정

차원 모델링 기초
앞서 설명한 [http]Information Package에 근거하여 차원모델링을 한다.

information_package.jpg

  • 정보 패키지의 하단의 측정치들을 작업의 후보가 된다.
  • 측정치들 하나하나를 검토함으로써 하나의 자료 구조로 그룹지을 수 있다는 것을 발견할 것이다.
  • 차원들(날짜, 제품, 지불방법, 고객인구통계, 딜러)은 사실(fact)을 바라보는 관점이다.
  • 각 차원 테이블은 한 질의의 부분이 될 동등한 기회를 가진다.

차원 모델의 기준
  • 가장 좋은 데이터 접근을 제공해야 한다.
  • 전체 모델은 질의 중심적이어야 한다.
  • 질의와 분석을 위해 최적화 되어야 한다.
  • 차원와 사실의 상호작용함을 보여야 한다.
  • 모든 차원이 사실 테이블과 동등하게 상호작용할 수 있는 방법으로 구조화 되어야 한다.
  • 차원 계층들에 따라 드릴 다운이 나 롤 업하게 해야 한다.

스타스키마의 간단한 소개
  • 차원 테이블은 중앙의 사실 테이블과 직접적인 관계를 가진다.
  • 모든 차원 테이블의 속성들이 사실 테이블에 속한 속성들을 분석하기 위하여 하나의 질의에 참여하는 균등한 기회를 갖도록 한다.
  • 차원 모델의 배치가 별모양
star_sch.jpg

3 STAR Schema #

star_schema_01.jpg

4 차원 테이블 특징 #

  • 차원 테이블 키(dimension table key). 차원 테이블의 기본키는 테이블에서 각 행을 유일하게 식별
  • 테이블은 넓다(table is wide). 많은 열을 가짐. 50개 이상의 열을 가지는 것은 특별한 것이 아님
  • 텍스트로 된 속성(textual attributes). 수치값을 찾기 어려움. 속성들은 텍스트 형식
  • 속성들은 직접 연관되지 않음(attirbues not directly related). 차원 테이블의 속성들과 그 테이블에 속성들과 직접 관련되어 있지 않음.
  • 정규화 되어 있지 않다(not normalized).
  • 드릴다운, 롤업(drilldown, rollup).
  • 다수 계층(multiple hierachies)
  • 더 작은 개수들의 레코드(fewer number of records).

5 사실 테이블 특징 #

  • 합성된 키(concatenated key). 사실 테이블의 기본키는 모든 차원 테이블의 기본키(외부키)의 조합
  • 데이터 구체화정도(data grain). 측정값(measure)의 상세함의 수준. 합성된 키의 수준.
  • 완전 덧셈 측정치(fully additive measures).
  • 반 덧셈 측정치(semiadditive measures).
  • 테이블은 깊고, 넓지 않다(table deep, not wide)
  • 희박 데이터(sparse data)
  • 퇴화 차원(degenerate dimensions). 주문번호와 같은 measure도 아닌 metric(측정규준, 지표, 실판매가, 딜러공제, 옵션가격 등..)도 아닌 속성

6 사실없는 사실 테이블(factless fact tables) #

factless_fact_tables.jpg

  • fact가 없는 테이블이다.
  • 이런 형태는 사실 테이블이 사건을 나타내는 경우에 발생한다.
  • count(*) 연산 위주

7 데이터 구체화 정도(data granularity) #

  • 구체화 정도는 fact table의 상세 수준을 나타낸 정도
  • 가장 낮은(atomic) 구체화 정도를 유지할 때의 장/단점
    • 운영 시스템으로 접근할 필요가 없이 사용자의 요구사항을 처리할 수 있음
      • 드릴다운, 롤업의 질의들을 효율적으로 수행
      • 데이터 마이닝(data mining) 어플리케이션들은 가장 낮은 구체화 정도를 요구함
    • 저장 및 유지면에서 비용이 많이 든다. 또한 필수적으로 집계 fact table을 만들어야 한다.
  • 가장 낮은(atomic) 구체화 정도 = 차원의 기본키들의 조합 + 기타 fact table의 조합이 각각의 row를 식별할 수 있음.

8 스타 스키마의 장점 #

관계형 모델이지만, 정규화된 모델은 아니다. 하지만 장점들은 어떤 단점들보다 더 가치가 있다.

  • 사용자들이 이해하기 쉽다. (사용자들과 의사소통을 위한 매개물)
  • 항해(navigation)를 위해 최적화한다.
  • 질의 처리에 가장 적합하다.
  • star join , star index

댓글 남기기..
이름: : 오른쪽의 새로고침을 클릭해 주세요. 새로고침
EditText : Print : Mobile : FindPage : DeletePage : LikePages : Powered by MoniWiki : Last modified 2018-04-13 23:12:52

희망이란 본래 있다고도 할 수 없고 없다고도 할 수 없다. 그것은 마치 땅 위의 길과 같은 것이다. 본래 땅 위에는 길이 없었다. 걸어가는 사람이 많아지면 그것이 곧 길이 되는 것이다. (노신의 “고향“중에서)