본문 바로가기
정보과학/데이터베이스특론

데이터 웨어하우스

by J1소프트 2023. 9. 7.
728x90

1. 데이터 웨어하우스의 특징 및 모델링

 

데이터 웨어하우스의 의미와 특징

데이터 웨어하우스의 의미

경영자의 의사결정을 지원하는 주제 중심적(subject- oriented)이고 통합적(integrated)이며, 비휘발성(nonvolatile)이고, 시간에 따라 변화(time-variant)하는 데이터의 집합 (W. H. Inmon)


데이터 웨어하우스는 복잡한 분석과 지식발견, 그리고 의사결정에 필요한 데이터를 제공하며, 분석용 질의에 대하여 빠른 수행을 지원함


데이터 웨어하우스는 대개 OLAP(on-line analytical processing), 의사 지원 시스템 (decision-support systems ; DSS), 데이터 마이닝 등의 응용과 함께 사용됨



데이터 웨어하우스의 특징


다차원 데이터 모델의 사용


여러 소스로부터 추출되어 통합 정제된 대규모 데이터를 대상으로 분석함


의사 결정에 필요하다면 과거 데이터까지도 분석 대상으로 함


데이터는 수시로 갱신되는 것이 아니라 주말이나 월말 등 주기적으로 갱신되므로 비 휘발성임 refresh policy에 따라서 갱신됨 (주로 삭제/추가 됨)


경황 분석이나 시계열 분석 등 고차원 분석업무 수행


분석 속도를 고속화하기 위하여 분석 결과를 실체화된 뷰 형태로 저장해둠


여러 수준에서의 집계(aggregation) 연산이 요구됨

 

OLAPDSS 용어의 의미

OLAP (On-line Analytical Processing)
- 데이터 웨어하우스에 저장된 대규모의 복잡한 데이터에 대하여 고도의 분석 질의를 처리하는 도구
- OLTP: 온라인 트랜잭션 처리 (전통적인 DB transaction system)

DSS (의사 결정지원 시스템)

- 최고 경영자의 복잡하고 중요한 의사 결정을 과학적으로 지원하는 시스템
- 중역 정보 시스템(executive information systems ; EIS)이라고도 함

데이터 웨어하우징 전체 처리 과정

데이터 웨어하우징은 지식 운영자(임원, 관리자, 분석가)들이 더 적합하고 더 빠르게 의사결정을 할 수 있도록 지원하는 의사 결정 기법들의 집합


[그림 1] 데이터 웨어하우징 전체 처리 과정

 

데이터 웨어하우스를 위한 데이터 모델링(1)

다차원 모델은 데이터 간의 상호관계를 이용하여 데이터 큐브(data cube)라고 불리는 다차원 매트릭스(multidimensional matrices) 상에 데이터를 배치함

다차원 매트릭스 형태로 조직된 데이터에 대하여 질의를 수행하는 것이 관계 모델로 조직된 경우보다 일반적으로 더 나은 성능을 얻음

) 표준 스프레드시트2 차원 모델(지역별 제품정보)

[그림 2] 2차원 행렬 모델

) 제품별 판매량 데이터를 회계분기와 판매지역으로 구분하여 보여주는 3차원 데이터 큐브 모델




[그림 3] 3차원 데이터 큐브 모델

 

데이터 웨어하우스를 위한 데이터 모델링(2)

피보팅 : 차원 계층의 구조를 변경하는 연산 (다음 그림 4는 이전 그림 3의 다차원 모델에 대한 피보팅 결과임)



[그림 4] 데이터 큐브의 피보팅 버전

롤업/드릴 다운 : 차원 내의 속성들의 계층구조를 따라 더욱 구체화된 뷰 혹은 더욱 요약된 뷰로 이동하는 연산 (그림 5와 그림 6은 그림 2에 대한 롤업과 드릴다운의 결과임)

[그림 5] 롤업 연산




[그림 6] 드릴다운 연산

차원 테이블과 사실 테이블: 차원 테이블은 다차원 모델에서 차원의 속성들로 구성되며, 사실 테이블은 기록된 사실 투플(관측치 포함)들로 구성됨


스타 스키마는 한 개의 사실 테이블과 각 차원마다 하나씩 생성한 차원 테이블()로 구성되며, 사실 테이블과 차원 테이블은 외래키를 이용하여 관계를 가짐 (그림 7)


[그림 7] 하나의 사실 테이블과 여러 개의 차원 테이블로 구성된 스타 스키마

데이터 웨어하우스를 위한 데이터 모델링(3)

스노우플레이크 스키마는 스타 스키마에서 차원 테이블을 정규화 (normalizing) 하여 테이블들의 계층으로 구성한 스타 스키마의 변형 예를 보여줌 (그림 8)



[그림 8] 스노우플레이크 스키마


사실 군집(fact constellation)은 차원 테이블을 공유하는 사실 테이블의 집합 (그림 9)

[그림 9] 사실 테이블

데이터 웨어하우스에서 인덱싱 및 요약 데이터 활용 기법

대규모 데이터에 대하여 복잡한 분석 질의를 실행하므로 성능의 보장이 중요한 관건임

비트맵 인덱스는 인덱스가 구축된 속성의 각 값에 대하여 하나의 비트맵을 생성한 것으로, 해당 값이 나타나는 행의 위치에 ‘1’set


만일 테이블에서 j번째 행이 인덱스가 구축된 속성의 값으로 K를 가진다면 값 K에 대한 비트 벡터에서 j번째 위치를 ‘1’로 설정함


특정 값을 가지는 투플 집합을 비트맵으로부터 바로 얻을 수 있게 하는 것이 핵심 아이디어임


[그림 10] Employee Tablecity에 관한 비트맵 테이블


조인 인덱스
- 사실 테이블과 차원 테이블의 외래키 관계를 조인 인덱스로 구축하여 조인 처리의 속도를 향상시킴

요약 데이터 관리 방법

- 별도의 작은 테이블에 분기별 판매 총액이나 제품별 총액과 같은 요약 데이터를 포함함

-
이미 존재하는 테이블에 레벨을 인코딩하여 요약 데이터를 포함하는 것임.


-
데이터 웨어하우스 자료는 변경이 거의 일어나지 않으므로 (주기적으로 자료의 삭제와 추가만 있음) 요약 정보를 유지하는 것이 성능 향상에 도움이 됨


-
원본 데이터가 변경되면 요약 데이터도 변경되어야 하기 때문에 휘발성이 강한 기존의 트랜잭션 위주의 데이터베이스는 유지비용이 높기 때문에 요약 데이터를 이용함은 바람직하지 않음

 

2. 데이터 웨어하우스 구축 및 일반적인 기능

 

데이터 웨어하우스 구축

실체화된 뷰의 생성
- 데이터 웨어하우스를 구축할 때 설계자는 사용자들이 자주 요청할 분석 정보를 예상하여 광범위한 뷰들을 미리 생성해 두어야 함

데이터 웨어하우스의 사용 패턴을 반영하여 적합한 스키마를 설계해야 함

- 마케팅 위주의 소비자-상품 관련 데이터 웨어하우스는 기금의 적립을 목적으로 하는 자선단체의 데이터 웨어하우스와 그 구조가 다를 것임

데이터 웨어하우스를 위한 데이터 획득(acquisition)과 구축

- 데이터는 다수의 이질적인 소스들로부터 추출됨; 타 데이터베이스, 금융 시장으로부터 발생하는 데이터 (환율, 주가 등), 환경 데이터 등
- Data Cleaning; 데이터의 일관성(consistency) 유지를 위하여 데이터 형식 통일 (cm, inch, yard) 혹은 잘못된 데이터의 수정
- Data Loading; 스타 스키마 상으로 자료를 입력함
- Data Refreshing Policy 결정; 얼마 주기로 소스 데이터의 변경을 반영할 것인가?

데이터 웨어하우스 구축 시 고려할 중요 사항들

- 용도 예측; 누가 데이터 웨어하우스를 사용할 것이며, 어떻게 사용할 것인가에 대한 예측을 함
- 데이터 모델의 적합성 점검
- 이용 가능한 소스들의 특성 분석

-
메타 데이터 구성요소의 설계

. 데이터 웨어하우스의 핵심 요소
. 기술 측면의 메타 데이터와 사업 측면의 메타 데이터로 구분됨
. 기술 측면의 메타 데이터는 데이터 획득과정, 저장구조, 데이터 명세, 웨어하우스 연산 및 관리, 그리고 접근 지원 기능 등을 포함
. 사업 측면의 메타 데이터는 관련 있는 사업 규칙 (business rules)과 웨어하우스를 지원하는 조직의 세부 항목 등을 포함함

-
모듈 방식의 구성요소 설계

- 관리와 갱신의 설계
- 분산 및 병렬구조의 고려 (적절한 성능 보장을 위하여)

 

데이터 웨어하우스 일반적인 기능 및 뷰와의 비교

데이터 웨어하우스 일반적인 기능

뛰어난 질의 기능 제공

- 데이터 웨어하우스는 데이터 위주의 복잡한 분석 질의 (ad hoc query)를 지원해야 하므로 전통적인 데이터베이스와 비교하여 뛰어난 질의 기능을 제공해야 함

다음과 같은 미리 준비된 프로그래밍 기능을 제공해야 함

- 롤업(Roll-up); 데이터를 개략화된 수준으로 요약함(주별 요약에서 월별 혹은 분기별 요약으로 개략화)
- 드릴 다운(Drill-down); 데이터를 상세 수준의 레벨로 요약함 (roll-up의 반대)
- 피보트(Pivot); 테이블에 대하여 행과 열의 위치를 바꿈
- 슬라이스 & 다이스(Slice & dice); 차원에 대하여 프로젝션 연산을 수행함
- 소팅(Sorting); 데이터를 순서 값에 의해 정렬함
- 선택(Selection); 특정 값을 가진 데이터 혹은 해당 범위에 속하는 데이터를 선택함
- 유도된 속성들(Derived attributes); 저장된 속성 혹은 유도된 속성으로부터 연산에 의하여 생성되는 속성임


데이터 웨어하우징과 뷰
데이터 웨어하우스와 뷰의 비교
- 데이터 웨어하우스는 요구 시점에 실체화되는 뷰와 달리 실체화되어 저장됨
- 데이터 웨어하우스는 일반적으로 다차원 모델이나 뷰는 관계 모델임
- 데이터 웨어하우스는 최적화된 성능을 위하여 인덱스를 구축할 수 있으나, 뷰에 대해서는 인덱스를 구축할 수 없음
- 데이터 웨어하우스는 분석을 위하여 특별한 기능을 지원하지만 뷰는 그렇지 않음
- 데이터 웨어하우스는 일반적으로 하나의 데이터베이스가 수용하기 힘든 대규모 통합된 데이터를 제공하는 반면, 대부분의 뷰는 데이터베이스로부터 사용자가 관심을 가지는 부분만을 추출한 작은 데이터임

데이터 웨어하우스에서 문제점과 미해결 과제들

데이터 웨어하우스 구현의 어려움

데이터 웨어하우스의 구축(construction), 관리(administration), 양질 유지(quality control) 등이 데이터 웨어하우스와 관련된 중요한 문제로 등장함

- 구축 시 데이터 마트를 먼저 구축하고, 점진적으로 전사적 데이터 웨어하우스로 확장해 나가는 것도 한 가지 구축 방법이 됨

-
데이터 웨어하우스 관리는 웨어하우스의 크기와 복잡성에 비례하는 중요한 작업이며, 조직에서는 관리의 복잡한 특성을 실질적으로 이해하고 있어야 함


-
특히 데이터 웨어하우스 관리는 데이터베이스 관리 업무를 포함하는 광범위한 작업임


-
양질의 데이터 웨어하우스에서만 양질의 분석 결과가 나온다는 사실을 명심해야 하며, 구축 시 뿐 아니라 그 이후에도 데이터의 질을 유지하는 것이 중요함


조직에서는 한사람의 관리자 보다는 데이터 웨어하우스 전문 관리 팀을 유지하는 것을 고려해야 함

- 여러 분야의 전문가들로 구성함


미해결 문제점

학술적 연구가 필요한 분야

- 강도 높은 수작업을 요하는 데이터 획득(data acquisition) 분야
- 양질의 데이터 관리(data quality management) 분야
- 적합한 접근 경로와 데이터 구조의 생성 및 선택 문제
- 자발적 유지 기능(self-maintainability)
- 기능성(functionality)과 성능의 최적화 등에서 자동화 기술 개발

데이터 웨어하우스의 지능화와 자체적 통제(self-governing) 기능 강화

- 능동형 데이터베이스 기능을 데이터 웨어하우스에 적용하는 문제
- 데이터 웨어하우스의 생성과 유지 과정에서 도메인 규칙과 비즈니스 규칙의 반영 문제