본문 바로가기

OLAP Tools

OLAP과 DW 개요

OLAP이란

q          OLAP이란 용어는 1993 E.F. Codd 의해 처음 사용
q          초기에는 OLTP 상대되는 개념이었으나 오늘날에는 DW환경에서의 data 접근 방법의 요소로 자리 잡음.
 q         OLAP 최종 사용자가 다차원 정보에 직접 접근하여 재화식으로 정보를 분석하고 의사결정에 활용하는 과정
OLAP 히스토리 

q          1962                                   다차원 프로세싱의 개념 탄생

q          1972                                   Express- 다차원 데이타베이스

q          1982                                   Metaphore- 관계형 OLAP 제품

q          1980 중반      DSS EIS 연계

q          1980 후반      다차원 스프레드시트

q          1993                                   E.F Codd 의해 ‘OLAP’용어 사용

q          1995                                   관계형 OLAP’용어 사용 ; OLAP벤더 흡수, 합병 협력

q          1997                                   Hybrid OLAP 탄생

q          1999                                   Microsoft OLAP시장 참여 ; OLAP 표준 정립 대중화

데이타웨어하우스 (DATAWARE HOUSE)

 

q          사용자의 의사결정을 지원하기 위하여 기업이 축적한 많은 데이타를 사용자 관점에서 주제별로 통합하여 별도의 장소에 저장해 놓은 데이타베이스

q          전사적인 용도로 구축되므로 방대한 분량의 데이타를 효율적으로 통합하고 관리하는데 초점을

데이타마트 (DATA MART)

 

q          데이타웨어하우스는 방대한 분량을 가지고 많은 사용자가 접속하여 사용하는데 대한 문제가 있으며 전체중 일부를 사용하는 사용자에게는 시스템 성능에 문제가 있을 있다

q          데이타웨어하우스의 문제점을 보완하기 위한 개념으로 사용자와 데이타웨어하우스의 중간에 단위별로 데이타마트를 구축하여 사용자에게 빠른 성능으로 서비스를 제공한다는 개념에서 생겨났다.

q          최근에는 데이타마트를 먼저 구축하고 이를 통합하여 장기적으로 데이타웨어하우스를 구축하는 경우도 있으며, 또한 소규모로 구축할 경우 데이타마트만 구축하는 경우도 있다.

스타스키마 (Star Schema)

 

q          다차원 데이타를 표현하기 위한 관계형 데이타베이스 설계기법

q          스타스키마는 FACT  TABLE 중심으로 하여 DIMENSION TABLE 뻗어져 나오는 형태

q          이는 FACT TABLE DIMENSION TABLE과의 JOIN 하며, DIMENSION TABLE과는 JOIN 관계를  갖는 스타조인으로 이루어진다.

q          하나의 DIMENSION TABLE에는 하나의 DIMENSION 해당되는 모든 ATTRIBUTE 포함한다

스노우플레이크 스키마 (Snowflake Schema)

 

q           기본적인 형태는 스타스키마와 동일

q          하나의 DIMENSION TABLE 정규화하여 나눠지는 ATTRIBUTE 별도의 DIMENSION TABLE 구성한다.

FACTS ( VARIABLES , MEASURES , ACCOUNTS ) DIMENSION

 

q          사용자가 알고자 하는 목적이 되는 차원 항목

q          )  매출 수량, 매출액

IDENTIFIER DIMENSION ( VIEWPOINT )

 

q          사용자가 분석하기 위해 필요한 차원 항목

q          )  매장, 지역, 기간, 제품

큐브

 

q          차원을 구성하는 항목들의 조합에 의하여 만들어지는 공간을 셀이라 하며 실제로 이곳에 데이타가 저장되고, 차원의 항목으로 구성되는 논리적인 형태를 큐브라 한다.

q          하이퍼 큐브

·    하이퍼 큐브는 하나의 모델을 하나의 큐브로 표현한다.

·    모든 FACT ATTRIBUTE 하나의 DIMENSION 표현

·    제품 :             하이페리언            에스베이스

  코그너스        파워플레이

q          블럭 멀티 큐브

·    같은 IDENTIFIER DIMESION 갖는 FACT ATTRIBUTE 하나의 큐브로 구성

·    FACT ATTRIBUTE 성격에 따라서 여러개의 큐브로 나뉘어 진다.

·    제품 :             인포믹스                                  메타큐브

 마이크로소프트           SQL서버OLAP서비스

마이크로스트레티지   DSS에이전트

비지니스오브젝트        비지니스오브젝트

시게이트                           홀로스

애플릭스                           TM/1

q          시리즈 멀티 큐브

·    모든 ATTRIBUTE IDENTIFIER DIMENSION SET 큐브를 구성

·    사용자가 알고자 하는 ATTRIBUTE만큼 큐브 생성

·    제품 :             오라클                     익스프레스

파일럿                               라이트쉽서버

Hierarchy & Attribute

 

q          Hierarchy : dimension중에서 계층구조로 이루어진 것을 Hierarchy 계층구조라 하며,

q          Attribute : fact 포함한 dimension에서 포함하고 있는 항목을 Attribute 한다

 

다차원 프로세싱

DATA Loading

 

q          운영시스템으로부터 OLAP 필요한 저장공간 , datawarehouse 또는 datamart 필요한 data 추출(extract)하여 정제(cleasing) 변환 (transformation) 한뒤 loading한다.

q          이때 ROLAP 사용할 경우는 RDBMS, MOLAP 사용할 경우는 MDB 저장한다.

q          loading initial loading incremental loading으로 구분 된다.

다차원 연산

 

q          연산순서

·    아래표에서 [?] 해당되는 값을 횡으로 계산을 하면 20 되나 종으로 계산을 하게 되면 40 나오므로 이는 전혀 다른 값이 나오게 된다

·    따라서 연산하는 순서에 주의하여야 한다

·     

매출액

매출수량

평균판매가

반포

4000

200

20

잠실

3000

150

20

전매장

7000

350

[?]

q          연산시점

·    다차원 연산의 경우 사용자 질의시점과 결과를 미리 연산하여 저장해놓는 방법이 있을수 있다.

·    그러나 계층의 차원수가 많게 되면 수는 기하급수로 늘어나며, 또한 데이터의 희박성 때문에 불필요한 역시 많이 증가한다.

·    따라서 연산시 참조하는 셀이 많거나 시간이 많이 소요되는 부분 그리고 사용자가 자주 요청하는 부분에 대하여 사전 연산을 해놓는 것이 바람직하다.

다차원 질의

 

q          용어 정의

·    슬라이싱(slicing) : 3차원의 경우 차원 하나의 변수 값을 기준으로 하여 나머지 두개의 차원을 나타내게 되는 경우

·    다이싱(dicing) : 전체 큐브중 일부 범위의 큐브를 나타내는 경우

·    큐브와 보고서가 다른점은 큐브는 다차원이 가능하나 보고서는 2차원으로 밖에 안되기 때문에 페이지,,열로 모든 것을 표현해야 한다

·    피보팅(pivoting) : 보고서의 ,,페이지를 사용자가 원하는대로 바꾸어보는 작업을 피보팅이라 한다

·    필터링(filtering) : 사용자가 보고자 하는 특정 계층이나 애트리뷰트의 항목을 선택하여 특정 기준으로 세분화해가는 방법을 말한다.

·    드릴다운,드릴업,드릴어크로스,드릴쓰루

·     

 

드릴어크로스

드릴업

드릴다운

데이터웨어하우스

OLTP 시스템

드릴쓰루

 

 

 

 

 

 

 

 


·    OLAP 조인 : 하나 이상의 큐브의 데이터를 논리적으로 조인할 경우를 OLAP 조인이라 하며, 이는 큐브들 사이에 공유된 차원을 중심으로 이루어 진다.

 

OLAP 프로덕트

OLAP 종류

 

데이터 저장 관리

다차원 프로세싱

사용자 인터페이스

MDBMS

OLAP CLIENT

RDBMS

ROLAP 엔진

OLAP CLIENT

OLAP CLIENT

HOLAP 엔진

RDB

MDB

DOLAP CLIENT

MOLAP

ROLAP

DOLAP

HOLAP

 

 

 

 

 

 

 

 

 


OLAP 특징

 

q          MOLAP

·    다차원의 데이터의 저장과 프로세싱을 효과적으로 수행하고 사용자 질의에 신속하게 응답

·    다차원 DBMS 사용자 질의에 빠른 응답을 위하여 다차원 배열(array) 사용하는데 이때 발생할수 있는 문제점은 희박성(sparsity)이다.

·    따라서 희박성이 높은 다차원 데이터의 저장공간을 최소화하기 위하여 밀집된 형태의 조그만 배열로 나누어 저장 된다.

·    복잡한 계산식과 계층구조를 쉽게 모델링할수 있다.

·    제품 : Essbase, 오라클의 Express, Decision Support suite, TM/1

q          ROLAP

·    ROLAP 엔진 : RDBMS 사용자 사이에서 복잡한 SQL 대신 생성하고 다차원 연산을 수행한다.

·    단점은 SQL 단점인 비교능력의 결여와 순차적 연산을 지원하지 못하는 점이다.

·    일반적으로 스타스키마 형태의 구조를 가지며, 작은 dimension 경우 카티션 product, parallelism, bitmap index 기법 등을  사용하게 된다.

·    제품 : 오라클의 Discoverer, MetaCube, DecisionSuite, DSSAgent

q          HOLAP

·    다차원 데이터의 저장공간으로 MDB,RDB 함께 사용될수 있다

·    일반적으로 요약된 데이터나 계산된 데이터는 다차원 DB 저장하고 상세 데이터는 RDB 저장한다

·    제품 : Holos, Oracle Express, SQLserverOLAPservice

q          DOLAP

·    다차원 데이터의 저장 프로세싱이 모드 클라이언트에 수행이 되며, 비교적 설치와 관리가 용이하여 적은 비용으로 구축할수 있다.

·    대용량의 처리에 한계를 가지며, 사용자들의 클라이언트에 저장된 데이터의 일관성에 문제가 된다.

·    제품 : PowerPlay, BrioQuery, BusinessObject

 

연관규칙 탐사 (Associations)

 

q          상품 혹은 서비스간의 연관관계를 살펴보고 이에 유용한 규칙을 찾아내고자 쓰이는 기법

q          If A, then B (A->B) 같이 동시에 구매될 가능성이 상품을 찾아내어 활용할수 있다. 이를 위하여 상품의 관계를 빈도로 나타내는데 다음 3가지 기준을 사용한다.

q          Support : 전체 거래중 A  B 포함하는 거래의 비율

·    P(A&B) = A B 포함한 거래 / 전체 거래수

q          Confidence : A 포함하는 거래중 B 포함된 거래의 비율

·    P(B|A) = A B 포함한 거래 / A 포함한 거래수

q          Lift : 임의로 B 구매되는 경우에 비해 A 관련되어 B 구매되는 비율

·    P(B|A) /P(B) = (AB 포함한 거래) (전체 거래) /(A 포함한 거래수)(B 포함한 거래수)

연속패턴 탐사

 

q          동시에 구매될 가능성이 상품군을 찾아내는 연관성 측정에 시간이 포함

q          구매의 순서가 고려되어 상품간의 연관성으로 그에 유용한 연관규칙을 찾는 기법

군집 분석

 

q          고객수입,고객연령과 같은 비슷한 속성을 묶어 개의 의미있는 군집으로 나누어 분석

q          이는 어떤 상황에 대하여 세부적으로 고려하는 것이 아니라 사전에 비슷한 유형을 개의 군집으로 묶어 전체적인 특성을 파악할 사용된다.

q          K-Means 알고리즘 : 2차원 그래프의 경우 군집으로 묶고자 하는 개수의 구심점을 잡고 거리가 가까운것들 끼리 군집으로 묶는다. 그렇게 묶인 군집의 평균을 구하여 다시 구심점을 잡고, 이와같은 방식으로 여러 수행하여 최종적인 군집을 형성한다.

q          구심점까지의 거리 =  Ö (X-X 중심값)² + (Y-Y 중심값

 의사 결정수 (Decision Trees)

 

q          분류 예측에 자주 쓰이는 기법으로 DM 응답 여부등에 미치는 고객 특성을 찾아내어 그것을 기준으로 가지 치기를 한다. 이렇게 형성된 의사결정 tree 가장 영향을 주는 특성을 찾을수 있다.

q          의사결정수 알고리즘 : CHAID, CART, C4.5

q          CHAID (Chi-square Automatic Interaction Detection)

·    parent node에서의 child node 비율이 어떤 특정한 특성에 의하여 비율이 많이 깨지면 특성은 영향을 미치고 그렇지 않으면 미치는 것이다.

·    Q = (특성[A1] – 전체[1])² + (특성[A2] – 전체[2])² + (특성[B1] – 전체[1])² + (특성[B2] – 전체[2])² 에서 Q 값이 클수록 특성의 영향이 큰것이다.

q          CART (Classification And Regression Tree)

·    Gini index 사용하는데 한쪽 카테고리로만 구성된어 있을수록 순수하다고 판단하며 순수한 정도를 재는 측도이다.

q          C4.5

·    이것도 CART 마찬가지로 순수함을 재는 측도로서 엔트로피를 사용한다

 신경 모델 (Neural Networks

 

q          인간이 경험으로부터 학습해가는 두뇌의 신경망 활동을 흉내내어 자신이 가진 데이터로부터 반복적인 학습과정을 거쳐 패턴을 찾아내고 이를 일반화함으로서 향후를 예측하는데 이용하는 기법

q          이것은 고객의 신용평가, 불량거래의 색출, 의료진단 예측, 우량고객의 선정, 타겟마케팅등의  분야에 적용

q          일반적인 모형은 다계층인식인자(MLP: Multilayer Perceptron)으로 Input Layer, Hidden Layer, Output Layer 구성된다.

·    Input Layer : 결과변수를 설명하는데 이용하고자 하는 입력변수들(예로 카드 부정거래의 경우 승인시간간격, 승인 금액, 누적승인건수등)

·    Output Layer : 예측치를 얻고자 하는 결과 변수 (예로 부정거래나 정상거래등)

·   

Hidden Layer : 이것은 개의 은닉마디(Hidden unit)으로 구성되는데 마디는 연결함수(Combination Function) 통해 입력변수와 연결되어 있고 연결에 사용되는 계수는 연결가중치(Synaptic Weights) 불린다