Data Warehousing and OLAP(2)

7. Data Cube (데이터 큐브) - 다차원 데이터 모형

: 데이터를 데이터가 다차원으로 모델링되고 뷰를 할 수 있도록 함

- 데이터 웨어하우스는 데이터를 데이터 큐브의 형태로 보여주는 다차원 데이터 모형을 기반으로 함.

 

- 데이터 큐브는 차원과 팩트에 대해 정의함

  • dimension (차원) : 레코드를 보관하기 위해 조직이 원하는 관점이나 entity

         ex) 판매량 데이터를 시간, 제품항목, 지점, 위치에 따라 보관

      - dimension table (차원 테이블) : 차원에 대해 설명하는 테이블

         ex) item (item_name, brand, type) , time(year, quarter, month, week, day)

      - 차원 테이블은 사용자나 전문가가 설정하거나 데이터 분포에 근거하여 자동으로 생성. 조정됨

  • fact (팩트) : measure (숫자 측도), 차원간 관계를 분석하고자 하는 양

         ex) 판매량 데이터 -> 달러 기준 판매량, 판매단위 개수, 예측량....

      - fact table (팩트 테이블) : 팩트의 이름이나 측도, 차원 테이블 각각에 대한 키를 포함

 

- 데이터 웨어하우스에서 데이터 큐브는 n차원이며, 3D로 한정되지 않음

 

- n차원의 데이터 큐브는 일련의 (n - 1) 차원의 큐브들로 표시할 수 있다.

Location, Item, Time에 근거한 3D 데이터를 일련의 2D 표로 나타냄
Supplier, Location, Item, Time에 근거한 4D 데이터를 일련의 3D 큐브로 나타냄

- 데이터 큐브는 다차원 데이터 저장소를 위한 메티포이므로 실제 데이터의 물리적 저장소와는 차이가 있음

 

- 데이터 하우싱 연구에서 데이터 큐브를 cuboid (큐보이드)라고 함

        - 최하위 수준의 요약정보를 갖는 n차원의 base cube를 base cuboid (기저 큐보이드)라고 함

        - 요약결과의 최상위 수준만을 갖는 0차원의 cube를 apex cuboid (아펙스 큐보이드)라고 함

                -> n개 차원에 대해 요약한 총 합산, 데이터에 대한 all로 표시

 

 

8. 데이터 웨어하우스의 Conceptual Modeling ( 개념 모델링)

- 데이터 웨어하우스는 dimension과 measure를 통해 모델링됨

 

1) Star schema (스타 스키마)

- 벌크 데이터를 포함한 중앙의 fact table 하나와 각 차원에 대해 연결된 일련의 dimension table들로 구성

- 중앙의 fact table에서 시작하는 방사형 패턴

- 각 dimension은 한 개의 테이블로만 표현되고, 각 테이블은 Attribute 집합을 가짐

    ex) Location table -> Attribute 집합 {location_key, street, city, state, country}

- dimension table의 제한은 일부 중복으로 이어짐

    ex) Urbana, Chicago 모두 Illinois의 도시 -> (.... , Urbana, IL, USA), (...., Chicago, IL, USA)로 state와 country에서 중복값 발생 큐브) - 다차원 데이터 모형

: 데이터를 데이터가 다차원으로 모델링되고 뷰를 할 수 있도록 함

- 데이터 웨어하우스는 데이터를 데이터 큐브의 형태로 보여주는 다차원 데이터 모형을 기반으로 함.

 

2) Snowflake Schema (눈송이 스키마)

- 스타 스키마 모델의 변종으로, 계층을 가진 차원 테이블을 정규화하여 별도의 작은 차원 테이블로 분리함

- 차원 테이블을 정규화하여 중복이 줄어듬 -> 저장 공간을 쉽게 유지하고 저감할 수 있음

- 질의를 실행하려면 많은 조인 작업이 필요하여 브라우징 효과를 축소시킨다는 단점이 존재

3) Fact Constellation (팩트 별자리) 

- 다수의 fact table이 dimension table을 공유하며 존재

- Fact Constellation은 스타 스키마의 집합으로 볼 수 있으며, galaxy schema (은하 스키마)라고도 함 

 

9. Concept Hierarchy (개념 계층)

: 하위 수준의 개념집합에서 상위수준으로 좀 더 일반적인 개념으로 매핑하는 작업

- ex) Location : street < city < state < country

 

- 개념 계층을 형성하는 순서 관계를 갖는 Attribute를 Lattice (격자)로 나타낼 수 있음

 

- 개념 계층은 시스템 사용자, 도메인 전문가, IT 전문가에 의해 수동으로 제공되거나 데이터 분포에 대한 통계 분석으로 자동 생성이 가능함

 

- 개념 계층을 데이터 마이닝 시스템에서 사전 정의하고, 필요에 따라 사전에 정의한 계층을 상세 조정할 수 있음

 

- 대상 dimension이나 Attribute의 값을 discretize하거나 그룹화하는데 이용될 수 있음

 

10. Data Cube Measure (측도)

- 데이터 큐브 공간에서 다차원 포인트는 차원과 값의 쌍으로 정의

    ex) <Time = "Q1", Location = "Vancouver", Item = "Computer">

 

- Measure (측도) : 데이터 큐브 공간의 각 지점에서 계산할 수 있는 수학 함수

 

- 어떠한 포인트의 measure는 개별 차원-값 쌍에 해당하는 데이터를 합산하여 계산

 

- 사용하는 집계 함수에 따라 3가지 방법으로 분류

 

1) Distributive (분배적)

- 데이터가 n개의 집합에 나뉘어져 있을 때, 각 집합에 함수를 적용하여 n개의 집계값을 계산하고, 이 n개의 값에 함수를 적용하여 계산한 결과가 분할하지 않은 전체 데이터 집합에 동일한 함수를 적용하여 계산된 결과와 같을 때의 집계함수

        ex) sum(), count(), min(), max()

 

- 분리하여 계산할 수 있으므로 효율적

 

2) Algebraic (대수적)

- M개의 인자를 갖는 대수함수로 계산할 수 있는 집계함수 (이때, M은 양수로 제한, M의 값은 분배적 집계함수로 계산). 즉, 분배된 measure를 대수적인 집계함수를 사용하여 계산할 수 있는 집계함수

        ex) avg() -> sum() / count () (sum과 count는 분배적 집계함수)

             min_N(), max_N() (대상 집합에서 N개의 최솟값/최댓값 계산)

             standard_deviation()

 

1) Holistic (총체적)

- 하위 집계를 표현하는데 필요한 스토리지 크기에 대한 제한 경계가 없는 집계함수. 즉, 상수 M개의 인자로 구성된 대수함수가 없으며, 분배적 집계함수를 이용하지 않고 전체 데이터에 대해서만 계산해야하는 집계함수

        ex) median(), rank(), mode()

 

11. 전형적인 OLAP 작업

1) Roll up (Drill up)(롤 업) : 데이터 큐브에서 집계를 실행하여 개념 계층을 오르거나, 차원을 축소함

- 데이터 요약을 제공

- Roll up을 통해 차원을 축소하면 1개 이상의 차원이 대상 큐브에서 제거됨

    ex) Location과 Time 차원을 갖는 판매 데이터에서 시간 차원에 대해 Roll up 작업을 하면 Location에 따른 전체 시간의 판매량을 나타냄

 

2) Drill Down (Roll down) : 덜 상세한, 더 높은 개념의 데이터에서 더 상세한, 낮은 개념의 데이터 수준으로 살펴보거나, 추가 차원을 도입함

- Roll up과 반대되는 개념

- Drill down 작업으로 대상 데이터에 새로운 차원을 추가할 수 있음

    ex) Location과 Time 차원을 갖는 판매 데이터에서 고객 그룹 등의 차원을 추가하여 판매 데이터를 더 세부적으로 나타냄

 

3) Slice, Dice (슬라이스, 다이스) : 대상 큐브를 쪼개어 하위 큐브로 만드는 작업

- Slice : 차원 하나를 선택하여 하위큐브로 생성

- Dice : 모든 차원에 대해 특정 값을 정하여 하위큐브로 생성

 

4) Pivot (피봇) : 같은 데이터에 대한 다른 데이터 표현을 보기 위해 데이터 축을 회전하는 가시화 작업

- 2D 슬라이스나 3D 큐브의 축을 회전함

- 3D 큐브를 2D 평면으로 변환함

 

5) 그 외 작업

- Drill across :  하나 이상의 fact table을 대상흐로 하는 작업

- Drill through : SQL을 이용하여 데이터 큐브의 하위 수준 (기저 큐보이드)를 통과하여 관계형 테이블까지 관통하는 작업

 

12. Star-Net Query Model (스타넷 질의 모형)

- 다차원 데이터베이스에서 스타넷 모형으로 질의명령을 실행 할 수 있음

 

- 스타넷 모형 : 중심점에서 순서를 매기는 여러 방사선으로 구성, 각 라인은 차원에 대한 개념 계층을 표현

 

- 각 차원에서 추상화 수준을 정하여 이루어진 circle을  footprint라고 함

'전공 과목 공부 > 데이터 사이언스' 카테고리의 다른 글

Frequent Pattern Analysis  (0) 2021.04.15
Data Warehousing and OLAP(3)  (0) 2021.04.09
Data Warehousing and OLAP(1)  (0) 2021.03.28
Data Preprocessing(3)  (0) 2021.03.25
Data Preprocessing(2)  (0) 2021.03.25