OLAP 큐브

OLAP cube
OLAP 큐브의 예

OLAP 큐브는 데이터의 다차원 배열이다.[1] 온라인 분석 처리(OLAP)[2]는 통찰력을 찾기 위해 데이터를 분석하는 컴퓨터 기반 기법이다. 여기서 큐브라는 용어는 다차원 데이터 집합을 말하는데, 차원이 3보다 크면 하이퍼큐브라고도 한다.

용어.

큐브는 2차원 또는 3차원 스프레드시트의 다차원 일반화로 간주할 수 있다. 예를 들어, 기업은 실제 비용과 예산을 비교하기 위해 제품별, 기간별, 도시별로 재무 데이터를 요약하고자 할 수 있다. 제품, 시간, 도시 및 시나리오(실제 및 예산)는 데이터의 차원이다.[3]

데이터가 임의의 차원을 가질 수 있다는 점을 감안할 때 큐브다차원 데이터 집합의 속기다. 특히 3차원이 넘는 데이터에는 하이퍼큐브라는 용어가 쓰이기도 한다. 정육면체는 엄격한 수학적 의미에서 "큐브"가 아니며, 이는 면들이 반드시 모두 동일한 것은 아니기 때문이다. 그러나 이 용어는 널리 쓰인다.

슬라이스는 데이터의 부분 집합에 대한 용어로서, 한 차원에 대한 값을 선택하고 해당 값에 대한 데이터(예: 한 시점에 데이터만 표시)를 표시함으로써 생성된다. 스프레드시트는 2차원일 뿐이므로 슬라이싱이나 기타 기법에 의해 그 안에 있는 다차원 데이터를 시각화할 수 있게 된다.

큐브의 각 셀에는 매출, 수익, 비용, 예산 및 예측과 같은 비즈니스의 일부 척도를 나타내는 숫자가 들어 있다.

OLAP 데이터는 일반적으로 관계형 데이터 웨어하우스 또는 특수 목적 데이터 관리 시스템의 스타 스키마 또는 눈송이 스키마에 저장된다. 측정은 팩트 테이블의 기록에서 도출되고 치수는 치수 테이블에서 도출된다.

계층

차원의 요소는 계층 구조,[4] 즉 부모-자녀 관계의 집합으로 구성될 수 있으며, 일반적으로 부모 구성원이 자녀들을 요약한다. 부모 요소는 다른 부모의 자녀로 더욱 통합될 수 있다.[5]

예를 들어, 2005년 5월의 부모는 2005년 2/4분기 자식이다. 비슷하게 도시는 지역의 아이들이다; 상품은 상품군으로 분류되고 개별 지출 항목은 지출의 유형으로 분류된다.

운영

데이터를 계층적 차원이 있는 큐브로 구현하면 개념적으로 간단한 연산을 통해 분석이 용이해진다. 익숙한 시각화에 맞춰 데이터 컨텐츠를 조정하면 분석가 학습 및 생산성이 향상된다.[5] 사용자가 페이지 표시를 호출하여 탐색하는 과정을 회전을 통한 슬라이스 사양과 드릴다운/업으로 대화식으로 진행하는 과정을 "슬라이스와 주사위"라고도 한다. 일반적인 수술로는 슬라이스와 주사위, 드릴다운, 롤업, 피벗 등이 있다.

OLAP 슬라이싱

슬라이스는 큐브의 치수 중 하나에 대해 하나의 값을 선택하여 큐브의 직사각형 부분집합을 선택하는 행위로서, 한 치수 작은 새로운 큐브를 만든다.[5] 사진에는 슬라이싱 작업이 그려져 있다. 2005년과 2006년에 회사의 모든 판매 지역 및 모든 제품 범주의 판매 수치는 데이터 큐브에서 "라이선싱"된다.

OLAP 다이싱

주사위: 주사위 연산은 분석가가 다차원의 특정 값을 선택할 수 있도록 하여 서브큐브를 생성한다.[6] 사진에는 다이싱 작업이 표시된다. 새로운 큐브는 제한된 수의 제품 범주의 판매 수치를 보여주며, 시간과 지역 치수는 이전과 동일한 범위를 차지한다.

OLAP-functionalities
OLAP 드릴업 및 드릴다운

드릴다운/업으로 사용자는 가장 요약된(위쪽)부터 가장 상세한(아래쪽)까지의 데이터 수준 사이를 탐색할 수 있다.[5] 그림에는 드릴다운 작업이 표시된다. 분석가는 요약 범주 "외부 보호 장비"에서 개별 제품의 판매 수치를 확인하도록 이동한다.

롤업: 롤업은 차원을 따라 데이터를 요약하는 것을 포함한다. 요약 규칙은 계층을 따라 총계를 계산하거나 "이익 = 판매 - 비용"[5]과 같은 공식 집합을 적용하는 것과 같은 집계 함수일 수 있다. 일반 집계 함수는 롤업할 때 계산에 비용이 많이 들 수 있다. 큐브의 셀에서 확인할 수 없는 경우, 기본 데이터로 계산해야 하며, 온라인에서 계산하거나(느리게) 가능한 롤아웃(대공간)을 위해 미리 계산해야 한다. 셀로부터 결정할 수 있는 집적함수를 분해 가능한 집적함수라고 하며, 효율적인 연산이 가능하다.[7] 예를 들어, 지원하기가 쉽다. COUNT, MAX, MIN, 그리고 SUM OLAP에서는 OLAP 큐브의 각 셀에 대해 계산된 다음 롤업할 수 있으므로, 전체 합(또는 카운트 등)은 서브섬의 합이지만, 지원하기는 어렵다. MEDIAN모든 뷰에 대해 별도로 계산해야 하므로 집합의 중위수는 하위 집합의 중위수가 아니다.

OLAP 회전

피벗은 분석가가 큐브의 다양한 면을 보기 위해 큐브를 공간 내에서 회전시킬 수 있도록 한다. 예를 들어 특정 분기의 데이터를 보면서 도시는 수직으로, 제품은 수평으로 배열할 수 있다. 피벗은 단일 제품에 대한 시간 단위의 데이터를 볼 수 있는 기간으로 제품을 대체할 수 있다.[5][8]

그림에는 선회 작업이 표시된다. 큐브 전체가 회전하여 데이터에 대한 또 다른 관점을 제공한다.

수학적 정의

데이터베이스 이론에서 OLAP 큐브는 RDBMS 관계의 투영을 추상적으로 표현한 것이다[9]. 순서 N관계가 주어진 경우, X, Y, Z를 키로, W잔차 속성으로 구분하는 투영을 고려한다. 이것을 함수로 특징짓는 것은,

f : (X,Y,Z) → W,

속성 X, Y, Z는 큐브의 축에 해당하는 반면, W 값은 큐브의 각 셀을 채우는 데이터 요소에 해당한다.

2차원 출력 장치가 3차원의 특성을 쉽게 파악할 수 없는 한, 데이터 큐브의 "slices"를 투영하는 것이 더 실용적이다(우리는 두 장치가 개념적으로 유사하지만 SQL 감각에서는 아닌 고전적인 벡터 분석적 치수 감소 의미로 투영한다고 말한다).

g : (X,Y) → W

1차 키를 억제할 수 있지만, 어떤 의미적 중요성은 여전히 가지고 있으며, 주어진 관심 Z 값에 대한 3차원 기능적 표현의 한 조각일 수 있다.

OLAP 디스플레이의 이면에[9] 있는 동기는 1980년대 DBMS의 교차 탭 보고서 패러다임과 1904년 이전의 비상사태 표에 기인한다. 그 결과 스프레드시트 형식의 디스플레이로 X의 값은 $1, Y의 값은 $A, 그리고 g : ( X, Y ) → W의 값은 X 라벨 기둥과 Y 라벨 행의 교차점에 개별 셀을 채운다. 즉, $2가 포함된 "동남쪽"이다.

참고 항목

참조

  1. ^ Gray, Jim; Bosworth, Adam; Layman, Andrew; Pirahesh, Hamid (1996). "Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals". Proceedings of the International Conference on Data Engineering (ICDE). pp. 152–159. arXiv:cs/0701155. doi:10.1109/ICDE.1996.492099.
  2. ^ "Overview of Online Analytical Processing (OLAP)". support.office.com. Retrieved 2018-09-08.
  3. ^ "Cybertec releases OLAP cubes for PostgreSQL". PostgreSQL. 2006-10-02. Archived from the original on 2013-07-06. Retrieved 2008-03-05.
  4. ^ "Oracle9i Data Warehousing Guide hierarchy". Lorentz Center. Retrieved 2008-03-05.
  5. ^ a b c d e f "OLAP and OLAP Server Definitions". The OLAP Council. 1995. Retrieved 2008-03-18.
  6. ^ "Glossary of Data Mining Terms". University of Alberta. 1999. Retrieved 2008-03-17.
  7. ^ 장 2017, 페이지 1.
  8. ^ "Computer Encyclopedia: multidimensional views". Answers.com. Retrieved 2008-03-05.
  9. ^ a b Gray, Jim; Bosworth, Adam; Layman, Andrew; Priahesh, Hamid (1995-11-18). "Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals". Proc. 12th International Conference on Data Engineering. IEEE. pp. 152–159. Retrieved 2008-11-09.

외부 링크