- OLAP(Online Analytical Processing)
- OLAP의 정의
- 최종 사용자가 다차원 정보에 직접 접근하여, 대화식으로 정보를 분석하고 의사결정에 활용하는 과정을 지원하는 기술
- 빠르고 일관된 대화식 접근을 통하여 분석가, 관리자, 임원 등이 데이터에 대해서 통찰력을 얻을 수 있도록 해주는 소프트웨어 기술의 한 범주
- OLAP의 필요성
- 업무 관점의 다차원 뷰 및 시계열 데이터 처리를 위해 다른 분석 방법들의 한계 : SQL 기반의 보고서 작성, 스프레드시트 등
- 데이터 웨어하우스에서 전략적 결정을 유도하기 위해 다차원 분석에 유리한 시스템 필요
- 여러 차원들을 따라 측정치들에 대한 빠른 접근과 강력한 계산 기능 필요 : Roll-up, Drill-down, Pivoting, Slicing/Dicing 등
- Roll-up
분석할 항목에 대해 한 차원의 계층 구조를 따라 단계적으로 구체적인 내용의 상세 데이터로부터 요약된 형태의 데이터로 접근하는 기능
- Drill-down
분석할 항목에 대해 한 차원의 계층 구조를 따라 단계적으로 요약된 형태의 데이터 수준에서 보다 구체적인 내용의 상세 데이터로 접근하는 기능
- Pivoting
보고서의 행, 열, 페이지 차원을 무작위로 바꾸어 볼 수 있는 기능
- Slicing/Dicing
주요 비즈니스 항목들을 다양한 각도에서 조회하고 자유롭게 비교하는 기능
- OLAP의 특징
- 최종 사용자들에게 데이터 웨어하우스에 있는 데이터에 관해 다차원적이고 논리적인 뷰를 제공
- 대화식 질의와 복잡한 분석을 쉽게 할 수 있는 기능 지원
- 하나 또는 여러 업무 차원들에 걸친 측정치들에 관해 상세한 사항을 알기 위해서는 드릴다운을, 집계 및 요약 정보를 위해서는 롤-업을 가능하게 함
- 난해한 계산과 비교를 수행할 능력을 제공하고, 차트나 그래프를 포함한 의미 있는 방식들로 결과를 제시
- 최종 사용자는 중간 매개자(시스템이나 부서)나 매개체(리포트) 없이 온라인 상에서 직접 데이터에 접근이 가능
- OLAP의 종류
- ROLAP(Relational OLAP)
- 관계형 데이터베이스와 관계형 질의어를 사용하여 다차원 데이터를 저장하고 분석하는 형태
- 원시 데이터 접근이 가능
- 장점
- 대용량으로서 전사적으로 구축하는 데 적합하며, 확장성이 뛰어남
- 요약 정보가 추출된 원시 데이터를 검색해 볼 수 있음
- 단점
- 기존의 관계형 질의어에 다차원 데이터를 분석할 수 있는 기능이 미비함
- MOLAP(Multi-dimension OLAP)
- 다차원 데이터를 저장하기 위해 특수한 구조의 다차원 데이터베이스 사용
- 데이터 검색 속도를 향상시키기 위해, 큐브 캐시(Cube Cache)라고 하는 주기억 장치속에 데이터 큐브를 보관
- 원시 데이터 접근이 불가능
- 장점
- ROLAP에 비해 사용이 쉽고, 검색속도가 빠름
- 사용자 질의에 대한 신속한 응답을 위해 특수한 데이터 구조 사용(다차원 연산 우수)
- 단점
- 차원을 미리 정의하고, 정의된 차원에 따라 데이터 큐브를 생성시킨 후에 데이터를 적재하므로 유연성, 확장성이 ROLAP에 비해 떨어짐
- 대용량 데이터 처리가 불가능
- HOLAP(Hybrid OLAP)
어떤 요약은 메모리에 저장하고, 기본 데이터나 다른 요약들은 관계형 데이터베이스에 저장하는 형태 - ROLRP과 MOLAP 비교
비교항목 | ROLAP | MOLAP |
차원 확장 | 차원 수와 관계없이 처리 가능 | 차원 수가 많아지면 기하급수적으로 Cube 크기가 증가 |
처리 데이터량 | 대용량 처리 가능 | 대용량 처리 불가 |
접근 유연성 | 임의의 질의 가능 | 정의된 차원으로 제한 |
데이터베이스 규모 | 중형 ~ 대형 | 소형 ~ 중형 |
원시 데이터 접근 | 가능 | 불가능 |
처리 속도 | MOLAP에 비해 느림 | 처리 속도 빠름 |
사용 구분 | 전사적 데이터 웨어하우스 구축에 적합 | 데이터 마트 구축에 적합 |
- 데이터 마이닝(Data Mining)
- 데이터 마이닝의 정의
대용량 데이터 집합(데이터 웨어하우스, 웹로그)에서 유용하고 가치 있는 새로운 사실들과 연관성 관계 및 패턴들을 도출하기 위한 자동화된 지식 발견 과정
- 데이터 마이닝의 과정
- 샘플링(Sampling)
방대한 양의 데이터로부터 모집단의 유형과 닮은 적은 양의 데이터를 추출
- 탐색 및 변형(Exploration / Transformation)
이미 알고 있는 사실들을 확인하여 수치화하는 작업을 시작으로, 보유하고 있는 수많은 변수들의 관계를 살펴보는 단계
- 데이터 정제 및 전처리(Data Cleaning / Preprocessing)
데이터의 일관성을 위해 오류 제거 작업을 통한 데이터 무결성 및 데이터의 질(Quality)을 관리
- 모형화(Modeling)
- 데이터 마이닝 과정에서 가장 중요한 단계
- 앞서 선행되었던 단계에서 선정된 주요한 변수를 사용하여 다양한 모형을 집합해 보는 단계
- 예측력이 뛰어난 모형 선택이 필요
- 예측적 모델(Predictive Model) : 의사 결정 트리(Decision Tree), 신경망(Neural netwo다)
- 서술적 모델(Descriptive Model) : 연관 규칙(Association)
- 레포팅 및 가시화(Reporting / Visualization)
- 사용자들에게 보기 편하고 이해하기 쉬운 형태로 제공
- 장점 : 사전 지식없이 동적인 관찰이 가능
- 데이터 마이닝 기법
- 연관(Association)
- 대용량의 트랜잭션 데이터로부터 "X이면 Y이다" 형식의 연관 관계를 발견하는 기법
- 지지도(Support) : 전체 트랜잭션들 중에서 아이템 X와 Y를 동시에 포함하는 트랜잭션이 어느 정도(비율)인가?
- 신뢰도(Confidence) : 어떤 아이템 X를 포함하는 트랜잭션들 중에서 Y가 포함된 트랜잭션이 어느 정도(비율)인가?
"빵과 우유를 구매하면 주스를 구매한다"에서 전체 고객 중 빵과 우유, 주스를 구매한 고객이 10%이고, 빵과 우유를 구매한 고객 50%가 주스도 함께 구매한 경우 : 지지도(10%), 신뢰도(50%)
- 연속(Sequence)
개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성을 예측하는 기법
- 분류(Classification)
- 다른 그룹과의 차별적인 특성을 도출하기 위한 기법
- 예를 들어 클래스가 알려지지 않은 새로운 항목이 주어졌을 때, 그 항목이 어느 클래스에 속하는지를 예측
- 분류 규칙은 결정 트리(Decision Tree)로 적합하게 표현될 수 있음
- 회기(Regression)
- 주어진 변수들(즉, X1, X2, … , Xn)에 대한 값들이 주어졌을 때, 변수 Y의 값을 예측(즉, 클래스가 아니라 값을 예측)
- 아래의 식을 만족하는 계수 a0, a1, a2, … , an를 추론
Y = a0+ a1 * X1 + a2 * X2 + … + an * Xn
- 클러스터링(Clustering)
- 상호간에 유사한 특성을 갖는 데이터들을 집단화하는 기법으로, 다른 분석을 위한 사전 단계 작업으로 주로 이용됨
- 서로 비숫한 데이터 요소들의 그룹이나 클러스터들을 찾고, 클러스터가 정확히 무엇을 의미하는 지 이해하며, 유용성 여부를 판단
- 각 클러스터의 Centroid로부터의 적절한 Distance Metrics를 사용
- 특성화(Characterization)
데이터 집합의 일반적인 특성을 찾아내는 것으로, 데이터의 요약 과정을 통해 특성을 발견하는 기법
- 경향 분석(Trend analysis)
시계열 데이터들이 시간 축으로 변화하는 전개 과정을 특성화하여, 동적으로 변화하는 데이터를 분석하는 기법
- 패턴 분석(Pattern Analysis)
데이터베이스 내의 명시된 패턴을 찾는 기법
- 의사 결정 트리(Decision Tree)
- 분류(Classification)와 예측(Prediction)에 모두 사용 가능하며, 분석의 정확도보다 분석 과정에 대한 설명이 필요한 경우 유용하게 사용됨
- 의사 결정은 트리를 따라 내려감으로써 규칙들의 해독이 가능
한 레코드가 왜 이런 방식으로 분류되는지를 이해할 수 있음
- 장점
- 단순하며, 대규모 데이터 집합으로 확장이 용이
- 의사 결정 과정을 직관적으로 제공
- 단점
- 명확한 분류가 발생하지 않는 경우가 있음
- 기억 기반 추론(Memory-Based Reasoning)
- 미리 알려진 실례를 기반으로 다른 그룹과 차별적인 특성을 도출하고, 모르는 실례들을 예측
- 새로운 레코드가 도착하면 알고리즘은 유사한 이웃들을 찾아내고, 그 다음 이웃들의 특성들을 예측하거나 분류하는 데 사용
- 신경망(Neural Network)
- 대용량 데이터로부터 결과 변수(Target)에 대한 예측이나 분류를 목적으로 감춰진 패턴을 찾고 일반화하는데 사용
- 신경망은 훈련 데이터 세트로부터 학습하여, 그 학습을 분류 및 예측을 위해 패턴을 일반화하는 데 적용하여, 인간의 두뇌를 흉내냄
- 데이터가 형태가 없고 어떠한 뚜렷한 패턴이 없을 때 효과적
- OLAP과 데이터 마이닝의 비교
기능(특징) | OLAP | 데이터 마이닝 |
정보 요구 유도 방안 | 무슨(What) 일이 발생하였는지를 확인 | 일이 왜(Why) 발생하였는지를 확인하고 이를 기반으로 미래를 예측 |
데이터 구체와 정도 | 요약 데이터 | 상세한 트랜잭션 수준의 데이터 |
비즈니스 차원의 수 | 수가 제약적임 | 수가 방대함 |
차원 속성의 수 | 적음 | 많음 |
차원에 대한 데이터 세트의 크기 | 작음 | 큼 |
분석 접근 방법 | 사용자 주도(User-Driven) 대화식 분석(interactive) | 데이터 주도(Data-Driven) 자동 지식 발견 |
분석 기법 | 다차원 분석, 드릴-다운 등 | 데이터 준비(정제), 마이닝 툴 적용, 패턴 발견, 예측, 적용 등 |
- 정보 검색(Information Retrieval)
- 정보 검색 시스템의 개념
- 데이터베이스 시스템보다 더 간단한 데이터 모델을 사용하며, 정보는 문서들의 집합으로 구성
- 저장된 문서는 비구조화 되어 있고, 스키마도 갖지 않음
- 정보 검색은 키워드나 문서 예와 같은 사용자 입력에 근거하여 관련된 문서들을 찾아 순위를 매겨서 반환
- 문서 순위 관련 요인
- 용어 빈도(Term Frequency)
문서들 내에서 질의 키워드의 발생 빈도
- 역 문서 빈도(Reverse Document Frequency)
- 질의 키워드가 얼마나 많은 문서들에서 나타나는 지에 대한 빈도
- 적게 나타날수록 키워드에 중요성을 더 부과함
- 문서들에 대한 하이퍼링크(Hyperlinks to Documents)
문서에 대한 링크가 많을수록 문서가 더 중요해짐
- 관련성 순위 기법
- 용어들을 사용한 관련성 순위
- TF-IF(Term Frequency / Inverse Document Frequency) 순위화 사용
- 관련성 점수가 감소하는 순으로 전체가 아니고 상위 일부 문서들을 반환
- 하이퍼링크를 사용한 관련성 순위
- 주어진 키워드에 부합하는 사이트 페이지들에 대해 웹사이트의 인기도(즉, 방문횟수)를 사용하여 순위화
- 사이트에 대한 인기도(또는 명성)의 척도로서, 그 사이트에 대한 하이퍼링크의 수를 사용할 수 있음
- 유사성 기반 검색
- 주어진 문서와 유사한 문서들을 검색하는 것을 의미
- 유사성은 공통으로 들어있는 단어들에 근거하여 정의될 수 있으며, 키워드 질의에 대한 응답 집합을 정제하는데 사용될 수 있음
- 사용자가 키워드 질의에 의해 검색된 문서들로부터 약간의 관련된 문서를 선택하면 시스템은 이러한 문서들과 유사한 다른 문서들을 찾음
- 개념 기반 질의
- 각 단어에 대해서 문맥으로부터 그것이 표현하고 있는 개념을 결정한 후, 1개 이상의 온톨로지(개념들 간의 관계를 보여주는 계층 구조)를 사용
- 특정 분야에서 용어를 표준화하기 위해 사용될 수 있음
- Semantic Web의 기초가 됨
- 검색 효과성 측정
- False Negative(False Drop)
어떤 관련된 문서들이 검색되지 않음
- False Positive
어떤 관련 없는 문서들이 검색
- 관련성 성능 지표
- Recall
질의에 대해 전체 문서들 중에서 관련 있는 문서들이 검색된 비율
- Precision
질의에 대해 검색된 문서들 중에서 관련 있는 문서들의 비움
'밥벌이 > 기타 데이터베이스' 카테고리의 다른 글
주기억 장치 데이터베이스(MMDB; Main Memory DataBase) (0) | 2011.03.21 |
---|---|
실시간(Real-time) 데이터베이스 (0) | 2011.03.21 |
모바일(Mobile) 데이터베이스 (0) | 2011.03.21 |
웹(Web)과 데이터베이스 연동 (0) | 2011.03.21 |
데이터 웨어하우스(Data Warehouse) 및 데이터 마트(Data Mart) (0) | 2011.03.21 |