티스토리 툴바


BigData/NoSQL/【OLAP】2009/05/05 00:22
/********************************************************************************************
-- Title : (dBNuri) OLAP 개요
-- Reference : OLAP 테크놀로지(SigmaInsight.조재희.박성진)
                     00000 교육센터 OLAP 교육과정
                     외 다수 OLAP 관련 블로그 및 사이트
-- Key word : OLAP 올랩 다차원분석
********************************************************************************************/
-- 아래 내용들은 상단에 언급된 레퍼런스를 참조한 것들이고 잘못 이해한 것들이 있을 수 있습니다.
-- 틀린 부분은 언제나 Feedback 주십시오..^^



OLAP의 개요
사용자가 다양한 차원(각도/관점/구성)의 정보에 직접 접근하여 대화식으로 분석하고 의사결정에 활용하는 과정(다차원 정보 분석)
-- 다양한 차원 : 매출액을 변수로 질문을 던질 때, 1)제품별 매출액은? 2)지역별 매출액은? 3)기간별
    매출액은? 등에서 제품별/지역별/기간별을 다양한 차원으로 정의할 수 있다.
-- 직접 접근 : 기존의 시스템은 사용자가 전산부서에 원하는 정보를 요청해서 결과를 얻게되지만
    OLAP은 사용자가 중간 매개자 없이 직접 OLAP 시스템에 접근하여 분석을 수행하게 된다.
-- 대화식 분석 : 기존 시스템에서는 사용자에게 정형화된 보고서나 스크린 형태로 넘겨져서 사용자가
    분석했다면, OLAP은 사용자가 원하는 결과를 얻을 때까지 OLAP 시스템과의 다양한 질의/결과의
    상호작용을 통해 계속해서 분석을 수행하게 된다.
-- 의사결정 활용 : OLAP은 결국 사용자가 기업의 전반적인 상활을 이해할 수 있게 하고 의사결정을
    지원하는데 있다.
-- OLAP Reports.. Fast Analysis of Shared Multidimensional Information.



OLTP vs. OLAP
ㅇ OLTP : On-Line Transaction Processing
ㅇ OLAP : On-Line Analytical Processing
-- OLTP : 온라인 상에서 여러 사용자가 데이터를 갱신하거나 조회하는 등의 작업을 처리하는 방식
    을 말한다.
    (DB에서 트랜잭션이 많이 발생하는 시스템을 생각하시면 됩니다..^^;;)
-- OLAP : 온라인 상에서 사용자가 대량의 데이터를 조회하여 데이터가 가지는 의미를 분석하는
    방식의 프로세스를 말한다.
    (예로 로그에서 시간별 판매 정보로 마케팅에 활용할 때.. 미천한 설명 능력 부족요..ㅡ.ㅜ)

<OLTP vs. OLAP 비교 요약> 출처 : 여러 블로그

구분

OLTP

OLAP

데이터의 구조

복잡 (운영 시스템 계산에 적합)

단순(사업 분석에 적합)

데이터의 갱신

순간적/동적

주기적/정적

응답 시간

2, 3 ~ 이내

~ 분까지도 가능

데이터의 범위

과거 30 ~ 90

과거 5 ~ 10

데이터 성격

정규/핵심 업무 데이터,
mission critical
데이터

비정규/read-only 데이터,index 의존

데이터의 크기

Giga Byte

Tera Byte

데이터의 내용

현재 데이터

기록 보관된, 요약/계산 데이터

데이터 특성

거래처리(transaction) 중심

주제(subject) 중심

데이터 액세스 빈도

높음

보통 혹은 낮음

데이터의 사용법

고도로 구조화된 연속 처리

고도로 비구조화 분석 처리

쿼리의 성격

예언 가능, 주기적

예측하기 어렵고, 특수하다 




OLAP 용어 정의
ㅇ 셀(Cell)과 다차원배열(Multi-Dimensional Array)
ㅇ 차원(Dimension)과 차원 멤버(Dimension Member), 차원 계층 구조(Dimension Hierachy)
ㅇ Measure/Variable
ㅇ Attribute/Property
ㅇ Drill Down과 Roll Up
ㅇ Pivot/Rotate
ㅇ Slice와 Dice
-- OLAP을 설명할 때 기본적으로 사용되는 정육면체(Cube)를 예로 설명하겠습니다..^^;;

<Pic. 1 기본 큐브 예>













-- 셀(Cell )
    : 하나의 데이터가 저장되는 공간으로 큐브에서 작은 육면체를 말한다.
    : 각 차원(제품/지역/기간, 아래 설명)들이 가진 멤버(항목의 좌표값)들의 조합수 만큼 
      존재한다.
-- 다차원 배열(Multi-Dimensional Array)
    : 데이터의 차원에 의해 정렬된 데이터 셀의 집합을 말한다.
    : 이차원 배열은 스프레드시트와 유사하고 삼차원은 정육면체(Cube)로 나타낼 수 있다.
      ※ 다차원 모델 : OLAP에서 일반적으로 큐브(Cube)로 명명한다.

-- 차원(Dimension)
    : 사용자가 분석하려는 항목에 대한 관점을 말한다.
    : 이차원에서 x, y축, 삼차원에서 x,y,z축(기간, 지역, 제품)을 의미한다.
-- 차원 멤버(Dimension Member[Element])
    : 차원을 구성하는 항목의 좌표값을 말한다.
    : 지역 차원의 멤버는 서울, 경기, 대구, 대전, 부산 등을 말한다.
-- 차원 계층 구조(Dimension Hierachy)
    : 한 차원의 멤버들간에 존재하는 부모-자식의 계층 구조를 말한다.
    : 하나의 차원이 여러 차원 계층 구조를 가지는 경우도 있다.
    : 년도-상/하반기-분기-월... 이렇게 예를 들면 될까요?..OTL
    : Consolidation(=Aggregatioin=Rolling up)에 사용된다.
      ※ 레벨(Level) : 계층구조는 여러 레벨(다단)을 사용하여 상위 계층과 하위 계층을 구분한다.

-- Measure/Variable
    : 분석하고자 하는 항목을 의미한다.
    : 매출액, 판매수량, 비용등.
    : 대부분의 경우 수집되는 수치데이터이다.
    : OLAP 제품에 따라 Measure, Variable, Fact, Account, Item, Structure 등으로 상용된다.

-- Attribute/Property
    : 하나의 차원에 대해 차원을 구성하는 항목들의 특성을 나타내는 정보를 의미한다.
    : 제품 차원에 대해 제품번호, 제품생산일자, 생산담당자 등이 Attribute이다.

-- Drill Down
    : Drill Down은 특정한 주제 영역에서 큰(요약된) 범위에서 작은(상세) 범위로 단계적 접근하는
      분석 방법을 말한다.
      (광역 -> 시도 -> 구 -> 동 -> 번지)
-- Roll Up
    : Roll Up은 Drill Down과 반대 방향(작은 범위 -> 큰 범위)의 단계적 접근 분석 방법을 말한다.
      (번지 -> 동 -> 구 -> 시도 -> 광역)
      ※ Drill Across : 다른 큐브에 접근하여 분석하는 방법
          Drill Through : DW나 OLAP의 상세 데이터에 접근하는 분석 방법(=Reach Through)
          이쯤 되면 정신없어 지지만~~ 참~ 쉽죠잉~ OTL

-- Pivot/Rotating
    : 분석 테이터의 을 바꾸는 것.
    : T-SQL문에서 Pivot/Unpivot과 동일한 의미.

-- Slice
    : Slice는 한 차원의 멤버나 그 이상의 멤버를 가지고 한 값을 선택했을 때 나타나는 그 부분
      집합을 말한다.
    : 제품 당당자가 특정 제품에 대해서 선택할 때 나타나는 지역과 기간에 대한 집합
-- Dice
    : Slice된 특정 항목에 대해 Rotation이나 Drill down, Roll up 등을 이용하여 대화식으로 화면을
      디스플레이 해가며 분석하는 프로세스를 말한다.

<Pic 2. Slice, Dice 예>















OLAP 제품 분류
ㅇ ROLAP  : Relational OLAP
ㅇ MOLAP : Multi-Dimensional OLAP
ㅇ HOLAP  : Hybrid OLAP
ㅇ DOLAP/Web OLAP/...
-- ROLAP : 관계형 데이터베이스나 확장된 관계형 데이터베이스를 사용해 다차원 모델링되는 데이터
    큐브를 테이블 형태로 저장 운용하는 방식을 말한다.
    ROLAP은 Table(RDBMS)에 저장된다고 보시면 될 듯 싶습니다..^^;;;;;
-- MOLAP : 데이터 큐브를 실제로 다차원 배열(Array)에 기반한 다차원 저장 엔진을 사용하여 저장
    운용하는 방식을 말한다.
    MOLPA은 Cube(MDBMS)에 저장된다고 보시면 될 듯 싶습니다..^^;;;;;
-- HOLAP : ROLAP과 HOLAP을 혼용한 방식을 말한다.
-- DOLAP : Desktop OLAP으로 다차원 데이터 저장 및 프로세싱이 모두 클라이언트에서 이뤄진다.
-- Web OLAP : 인트라넷/인터넷 환경에서 지원되는 OLAP을 말한다.

<MOLAP과 ROLAP 비교> 출처 : OBCsoft
MOLAP ROLAP
다차원 OLAP(MDB기반의 OLAP),
Real Data Cube
관계형 OLAP(RDB기반의 OLAP),
Virtual Data Cube
다차원 data view를 미리 정의한 후 질의 수행
(예:영업실적을 제품/브랜드
/계절 /가계별로 검색 후 질의 수행)
강력하고 유연한 질의 기능
확장성 있는 다차원 구조
drill-down/pivoting/복잡한 회계연산 구현 가능 복잡한 회계연산 구현 불가
많은 공간 차지 (기본량의 5~10배 이상),
대용량 처리 불가
적은 공간 차지(기본량의 2배 이내),
대용량 처리 가능
차원 수와 값이 많아지면, 큐브(cube)
크기가 기하급수적으로 증가
차원 수와 관계없이 처리
그대로 다차원 분석 가능 다차원 분석을 위해서 데이터 모델링을 수행하는 스타
-스키마
(Star Schema), 스노우플레이크
- 스키마(Snowflake Schema) 필요
사용자 요구 변경 시 재 구축 사용자 요구 변경 시 쉽게 대처
재무 Application에 적합 끊임없이 데이터가 갱신되는 POS
(Point Of Sales) S/W 등의 마케팅
애플리케이션(Application) 에 적합

<Pic. 3 OLAP 제품별 특징> 출처 : OLAP Report



다차원 모델의 구성 내역
ㅇ 모델
ㅇ 차원(Dimension)
ㅇ 차원 항목(Member or Element)
ㅇ 셀(Cell)
ㅇ 계층구조(Hierachy)
ㅇ 레벨(Level)
ㅇ 애트리뷰트(Attribute)
-- 다차원 모델 구성시 상기에 언급된 내역들을 정의하고 구현해 나간다.
-- 용어에 대한 설명은 상단 "OLAP 용어 정의"로 대신하겠습니다..^^ㆀ



다차원 모델링
ㅇ 사실테이블(Fact Table) vs. 차원테이블(Dimension Table)
ㅇ Star 스키마 vs. SnowFlake 스키마

모델링 순서)
   ㅇ 차원 항목 결정
   ㅇ 데이터의 구체성 결정
   ㅇ 계층구조와 애트리뷰트 정의
   ㅇ 차원수 결정
-- 사실테이블(Fact Table) 
    : 스키마의 중심에 위치하며 유일하게 정규화 된다.
    : 저장되는 데이터는 대부분 운영에서 수집된 수치 데이터와 우선 집계된 데이터들이다.
    : 사실테이블의 키는 차원테이블의 키를 참조하는 복합키로 구성된다.
    : 지역 차원과 제품 차원이 있을 때, 해당 차원에 해당하는 값들을 사실테이블의 데이터라고
      생각하심 되겠슴돠..ㅡ.ㅡ;;
-- 차원테이블(Dimension Table)
    : 사용자 관점을 나타내는 차원에 관한 정보를 저장하고 사용자들이 분석을 시작하는 기준이
      되는 데이터들이다.
    : 정규화되지 않는다.(SnowFlake에서는 차원테이블을 정규화 한다.)
    : 용어 정의에서 Dimension을 사용자가 분석하려는 관점이라고 했듯이, 분석하려는 관점을
      테이블로 정의하고 그 항목을 저장한 테이블을 말합니다.
      지역, 제품, 기간의 차원이 각각 차원테이블로 만들어 질 수 있겠습니다...

                   
-- Star 스키마
    : 사실테이블을 중심으로 여러 차원테이블과 조인한다.
    : 차원테이블을 정규화 하지는 않는다.
-- SnowFlake 스키마
    : Star 스키마의 변형으로 정규화된 차원테이블을 가진다.

<Pic 4. 스키마 셈플>





















다차원 분석
ㅇ Slicing & Dicing
ㅇ Drill Down, Drill Up, Drill Across, Drill Through
ㅇ Sorting, Ranking
ㅇ OLAP Join
-- 위에서 언급된 내용는 다차원 분석에 필요한 질의 방법을 말한다.
-- OLAP Join : 질의 과정에서 다수의 큐브를 논리적으로 조인할 때의 질의를 말한다.
-- 나머지는 상단 용어 정의를 참조해 주심쇼~~~

저작자 표시
Posted by 디비랑
TAG ,