Professional Documents
Culture Documents
데이터 웨어하우징과 Olap
데이터 웨어하우징과 Olap
26.1 소개
• 데이터 웨어하우스
– 경영자의 의사결정을 지원하는 주제 중심적 (subject- oriented) 이고 통
합적 (integrated) 이며 , 비휘발성 (nonvolatile) 이고 , 시간에 따라 변화
(time-variant) 하는 데이터의 집합 (W. H. Inmon)
– 데이터 웨어하우스는 복잡한 분석과 지식발견 , 그리고 의사결정에 필
요한 데이터를 제공하며 , 분석용 질의에 대하여 빠른 수행을 지원함
– 데이터 웨어하우스는 대개 OLAP(on-line analytical processing), 의사
지원 시스템 (decision-support systems ; DSS), 데이터 마이닝 등의
응용과 함께 사용됨
REGION
REG1 REG2 REG3 …
P123
PRODUCT P124
P125
P126
…
그림 26.2 2 차원 메트릭스
QRT4
QRT3 FISCAL QUARTER
QRT2
QRT1
P123 REG1
P124 REG2
REG3
P125
REGION
P126
P127
PRODUCT
그림 26.3 데이터 큐브
Ch26 Fundamentals of Database Systems 8
26.3 데이터
26.3 데이터 웨어하우스를
웨어하우스를 위한
위한 데이터
데이터 모델링
모델링
• 데이터 모델 ( 계속 )
– 피보팅 : 차원 계층의 구조를 변경하는 연산 ( 그림 26.4 는 그림 26.3 의
다차원 모델에 대한 피보팅 결과임 )
– 롤업 / 드릴 다운 : 차원 내의 속성들의 계층구조를 따라 더욱 구체화된
뷰 혹은 더욱 요약된 뷰로 이동하는 연산 ( 그림 26.5 와 26.6 은 그림
26.2 에 대한 롤업과 드릴다운의 결과임 )
– 차원 테이블과 사실 테이블 : 차원 테이블은 다차원 모델에서 차원의 속성
들로 구성되며 , 사실 테이블은 기록된 사실 투플 ( 관측치 포함 ) 들로 구성
됨
– 스타 스키마는 한 개의 사실 테이블과 각 차원마다 하나씩 생성한 차원 테
이블 ( 들 ) 로 구성되며 , 사실 테이블과 차원 테이블은 외래키를 이용하여
관계를 가짐 : 그림 26.7
– 스노우플레이크 스키마는 스타 스키마에서 차원 테이블을 정규화
(normalizing) 하여 테이블들의 계층으로 구성한 스타 스키마의 변형 : 그
림 26.8
– 사실 군집 (fact constellation) 은 차원 테이블을 공유하는 사실 테이블의 집
합 : 그림 26.9
P123 REG1
REG2
P124
REG3
P125
REGION 그림 26.4 데이터 큐브의 피보팅
P126 ( 축의 의미가 변경됨 )
P127 P126 PRODUCT
P125
P124
… P123
PRODUCT
REG1 QTR1
REG2 QTR2
QTR3
REG3
FISCAL QUARTER
REG4
REGION
그림 26.5 롤업 연산
드릴다운 연산 REGION
P1XX
P2XX
PRODUCT
CATEGORUES P3XX
P4XX
…
그림 26.9 사실 군집
• 조인 인덱스
– 사실 테이블과 차원 테이블의 왜래키 관계를 조인 인덱스로 구축하여 조인
처리의 속도를 향상시킴
• 요약 테이블
– 데이터 웨어하우스 자료는 변경이 거의 일어나지 않으므로 ( 주기적으로
자료의 삭제와 추가만 있음 ) 요약 정보를 유지하는 것이 성능 향상에 도
움에 됨
– 실제로 데이터 웨어하우스에서는 요약 정보를 저장하여 다음 질의에서 신
속하게 응답하도록 하는 연구를 활발하게 진행하였음 (materialized
views)
• 데이터 웨어하우스와 뷰의 비교
– 데이터 웨어하우스는 요구 시점에 실체화되는 데이터베이스 뷰와 달리 실
체화되어 저장됨
– 데이터 웨어하우스는 일반적으로 다차원 모델이나 관계 데이터베이스의
뷰는 관계 모델임
– 데이터 웨어하우스는 최적화된 성능을 위하여 인덱스를 구축할 수 있으
나 , 뷰에 대해서는 인덱스를 구축할 수 없음
– 데이터 웨어하우스는 분석을 위하여 특별한 기능을 지원하지만 뷰는 그렇
지 않음
– 데이터 웨어하우스는 일반적으로 하나의 데이터베이스가 수용하기 힘든
대규모 통합된 데이터를 제공하는 반면 , 대부분의 뷰는 DB 로부터 사용
자가 관심을 가지는 부분만을 추출한 작은 데이터임