29
강성욱 E-mail : [email protected] Blog : http://sqlmvp.kr Datawaffle : http://datawaffle.com OLAP 테크놀로지 OLAP과 다차원모델

Olap model

Embed Size (px)

Citation preview

Page 1: Olap model

강성욱E-mail : [email protected]

Blog : http://sqlmvp.krDatawaffle : http://datawaffle.com

OLAP 테크놀로지OLAP과 다차원모델

Page 2: Olap model

OLAP시스템 아키텍처

사용자 인터페이스(GUI화면)

다차원 프로세싱(다차원 연산 수행, 처리. OLAP엔진)

데이터 저장 및 관리(RDBMS, MDDMBS)

사용자

Page 3: Olap model

OLAP 제품 구분

데이터 저장 및 관리 다차원 프로세싱 사용자 인터페이스

다차원 DBMS OLAP Client

OLAP ClientROLAP 엔진관계형 DBMS

DOLAP 클라이언트

OLAP ClientHOLAP 엔진다차원DBMS

관계형DBMS

MOLAP

ROLAP

DOLAP

HOLAP

Page 4: Olap model

MOLAP

• MOLAP = Multi dimensional OLAP

• 다차원 데이터베이스에 기반한 OLAP

다차원 DBMS

단점 장점

• 데이터 용량 ↑• 에러 회복 능력 ↓• 하드웨어 활용 능력↓

• 신속한 응답• 다차원 배열(Array) 데이터 구조• 밀집된 형태 배열들로 나누어 저장

Page 5: Olap model

MOLAP

밀집차원과 희박차원 설정

매출액

매출수량

1월 2월 3월

냉장고

세탁기

청소기

반포 잠실

Page 6: Olap model

MOLAP

장점

• 배열내의 값은 각 항목들의 조합에 대해 정돈되어 있으며 고정된위치를 가지므로 인덱스에 영향을 미치지 않고 갱신될 수 있다.

• 읽기/쓰기에 적합. • 특정 셀 단위까지 권한 제한 가능.

배열의 장/단점

단점

• 셀값 하나만 필요로 하는 경우에도 전체 배열이 메모리에 올라와야 한다.(배열이 너무 크지 않도록 주의)

• 차원에 변화가 생길 경우 데이터베이스가 전체적으로 완전히 재구축 되어야 할 수도 있다

Page 7: Olap model

MOLAP 엔진

관계형DBMS

MOLAP클라이언트

MOLAP 서버

RDB 테이블

SAM파일

Page 8: Olap model

ROLAP

• ROLAP = Relational OLAP

• 다차원 데이터는 관계형 데이터베이스에 저장된다.

• 스타스키마 모델이 많이 사용 된다.

• ROLAP 제품들은 사용자와 관계형 DBMS사이에 위치하여 사용자를 대신해서 복잡한 SQL을 생성하고 다차원 연산을 수행.

• 메타데이터를 포함한 모든 데이터를 관계형 데이터베이스에 저장하고 활용

• 다차원 프로세싱을 위한 별도의 OLAP연산 엔진을 가지고 있다.

Page 9: Olap model

OLAP 제품 구분

데이터 저장 및 관리 다차원 프로세싱 사용자 인터페이스

다차원 DBMS OLAP Client

OLAP ClientROLAP 엔진관계형 DBMS

DOLAP 클라이언트

OLAP ClientHOLAP 엔진다차원DBMS

관계형DBMS

MOLAP

ROLAP

DOLAP

HOLAP

Page 10: Olap model

ROLAP 엔진

관계형DBMS

메타데이터

질의 생성기(Query Generation)

수학연산처리,Cross-Tabulation 엔진

다차원 질의

질의 결과

OLAP 엔진 클라이언트

Page 11: Olap model

스타스키마와 관계형 DBMS

• N! = 조인 개수와 옵티마이저의 최적 조인 순서.

5! = 5 X 4 X 3 X 2 X 1 = 120

10! = 3,628,800

카티션 프로덕트 : 테이블 간에 연결 고리가 없는 경우 두 테이블이 가진 모든 행의 조합

제품 레코드 20,000, 매장 레코드 : 300, 기간 레코드 3,000

18,000,000,000

Page 12: Olap model

스타스키마와 관계형 DBMS

스타스키마와 조인 순서

제품

제품+매출(10,000건)

제품+매출+매장

최종결과

매출(사실)

매장

기간

매장

매장+매출(10건)

매장+매출+제품

최종결과

매출(사실)

제품

기간

Page 13: Olap model

DOLAP

• DOLAP = Desktop OLAP

• 다차원 데이터 저장 및 프로세싱이 모두 클라이언트에서 이루어 진다.

• 타 OLAP 제품에 비해 설치 및 관리 용이. 적은 비용으로 구축 가능.

• 아키텍처 상의 문제로 대용량 데이터 처리의 한계

• 각 각의 클라이언트 데이터로 인한 일관성 문제 발생.

Page 14: Olap model

HOLAP

• HOLAP = Hybrid OLAP

• 다차원 데이터의 저장공간으로 다차원 데이터베이스와 관계형 데이터베이스 함께 사용.

• 요약, 계산된 데이터는 다차원, 상세 데이터는 관계형에 저장.

• 질의 과정에서 다차원 데이터베이스에 저장된 데이터보다 상세 데이터가필요 할 경우 자동적으로 RDBMS에서 상세 데이터를 가져 온다.

Page 15: Olap model

OLAP 모델에 따른 장 단점.

비교항목

ROLAP MOLAP HOLAP

기본구조

관계형 DB 다차원 DB 관계 + 다차원 DB

모델 Start, Snowflake Cube 방식 모두 지원

장점 대용량 데이터 처리빠른 데이터 로딩원시 데이터 조회가능

빠른 다차원 분석복잡한 분석 가능

ROLAP + MOLAP 의장점 취합

단점 회귀분석과 같은 복잡한 분석 어려움. 수행 속도 느림

원시 데이터 보지 못함느린 데이터 로딩대용량 데이터처리 어려움

MOLAP서버와 RDB간의 추가적인 데이터 변환 필요

Page 16: Olap model

OLAP 툴 평가 기준

• 현재 실질적인 기준이 되지는 못하고 있다.

• 이상적인 기준이라 모두 충족하는 제품은 존재하지 않는다.,

• 자신의 비즈니스와 요구사항에 맞는 툴을 선택하는 것이 필수 적이다.

Page 17: Olap model

웹 OLAP

• 장점.

• 비용절감• 어플리케이션 유지보수 최소화.• 소프트웨어 설치 및 유지보수 비용 절감.• 플랫폼간 호환성.

• 단점.

• 한정된 인터페이스• 보안.

Page 18: Olap model

웹 OLAP

웹 인터페이스 방식

웹브라우저

웹서버HTML파일

엔진

OLAP

웹브라우저

웹서버HTML파일

프로그램/스크립트 엔진

OLAP

HTTP, TCP/IP

HTTP, TCP/IP

CGIISAP

ClientServerNetwork

Page 19: Olap model

OLAP 표준

• OLAP는 표준이 없이 매우 오랫동안 사용되어 왔다. OLAP에 관한 표준이최근 API수준에서 이루어 지고 있다.

• Md-API : OLAP 카운실이 제안한 표준. 실질적인 영향력 없음

• OLE DB for OLAP : 마이크로소프트에 의해 제안. 실질적인 표준 API. MDX(Multidimensional Expressions)라는 다차원 질의 언어를 함께 제공.

Page 20: Olap model

다차원 질의언어

• MDX (Multi Dimensional Expressions) 는 관계형 데이터베이스의SQL(Structure Query Language)에 해당하는 것으로 이해 할 수 있다.

• MDX를 잘 알아야 Analysis Services의 활용을 극대화 할 수 있다.

• 튜플(Tuple) : 큐브 공간내의 다차원 주소를 나타내는 좌표로 이해할 수 있다.

Page 21: Olap model

다차원 질의언어

SELECT<축 차원>FROM <큐브>WHERE <슬라이서 차원>

SELECT ([반포], [잠실]) ON COLUMNS,

CROSSJOIN ({[냉장고, 세탁기]}, {[매출액], [매출수량]} On ROWS

FROM [매출분석]

WHERE ([1월])

Page 22: Olap model

다차원 질의언어

• <축 차원>은 같은 차원성을 가지는 튜플들의 모임인 잡합으로 기술하며128개 까지 지정이 가능하다.

• 축은 AXIS(0), AXIS(1)등과 같이 기술하며 COLUKN, ROWS 와 같은 별칭사용이 가능.

• 축을 지정하는 순서는 상관없으나 높은 번호의 축을 지정하는 경우 그보다 낮은 번호의 모든 축을 지정해야 한다.

Page 23: Olap model

다차원 질의언어

MDX 함수 - 셋함수

MEMBERS, CHILDREN, DESCENDANTSORDER, HIERARCHIZETOPCOUNT, BOTTOMCOUNTTOPPERCENT, BOTTOMPERCENTTOPSUM, BOTTOMSUMFILTER, UNION, DISTINCT, INTERSECT, EXCEPTCROSSJOIN, EXTRACT, GENERATE

Page 24: Olap model

다차원 질의언어

MDX 함수 – 항목 함수

PARENT, FIRSTCHILD, LASTCHILDPREVMEMBER, NEXTMEMBERLEAD, LAGCURRENTMEMBERFIRSTSIBLING, LASTSIBLINGANCESTOR, COUSIN

Page 25: Olap model

다차원 질의언어

MDX 함수 – 연산함수

SUM, AGGREGATE, COUNTAVG, MEDIAN, MIN, MAX, VARIANCE, STDDEV, RANK

Page 26: Olap model

다차원 질의언어

MDX 함수 – 시계열 함수

PERIODSTODATE, YTD, QTD, MTD, WTDLASTPERIODS, PARALLELPERIOD,OPENNINGPERIOD, CLOSINGPERIOD,COVARIANCE, CORRELATIONLINREGSLOPE, LINREGINTERCEPT, LINREGVARIANCELINREGR2, LINREGPOINT

Page 27: Olap model

다차원 질의언어

WITH MEMBER

• 다차원 모델에 존재하지 않는 항목을 관계식을 이용하여 직접 생성 한다.

WITH MEMBER[변수].[평균가격] = [매출액]/[수량]SELECT([매출액], [가격]) ONCOLUMNS,(냉장고, 세탁기) ON ROWSFROM…

NULL 처리

• 널 값은 0 과 구분.• 수치 연산에선 0과 동일하게 처리.• 문자 연산시 빈문자열처럼 처리.

• NONEMPTY : 널 값을 가진 튜플 제거

SELETNON EMPTYFROM..

Page 28: Olap model

벤치마크

• OLAP 카운실이 개발한 APB(Application Processing Benchmark)있다.

• 벤치마크는 OLAP 시스템의 전체적인 성능만을 비교하기 위한 것이며 각OLAP제품들이 가진 다양한 기능과 특성을 고려하지 않는다.

Page 29: Olap model

[참고자료]

• OLAP 테크놀로지