728x90
1. 데이터 웨어하우스의 특징 및 모델링
① 데이터 웨어하우스의 의미와 특징
∎데이터 웨어하우스의 의미 ∘경영자의 의사결정을 지원하는 주제 중심적(subject- oriented)이고 통합적(integrated)이며, 비휘발성(nonvolatile)이고, 시간에 따라 변화(time-variant)하는 데이터의 집합 (W. H. Inmon) ∘데이터 웨어하우스는 복잡한 분석과 지식발견, 그리고 의사결정에 필요한 데이터를 제공하며, 분석용 질의에 대하여 빠른 수행을 지원함 ∘데이터 웨어하우스는 대개 OLAP(on-line analytical processing), 의사 지원 시스템 (decision-support systems ; DSS), 데이터 마이닝 등의 응용과 함께 사용됨 ∎데이터 웨어하우스의 특징 ∘ 다차원 데이터 모델의 사용 ∘ 여러 소스로부터 추출되어 통합 정제된 대규모 데이터를 대상으로 분석함 ∘ 의사 결정에 필요하다면 과거 데이터까지도 분석 대상으로 함 ∘ 데이터는 수시로 갱신되는 것이 아니라 주말이나 월말 등 주기적으로 갱신되므로 비 휘발성임 – refresh policy에 따라서 갱신됨 (주로 삭제/추가 됨) ∘ 경황 분석이나 시계열 분석 등 고차원 분석업무 수행 ∘ 분석 속도를 고속화하기 위하여 분석 결과를 실체화된 뷰 형태로 저장해둠 ∘ 여러 수준에서의 집계(aggregation) 연산이 요구됨 |
※ OLAP와 DSS 용어의 의미
∘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 Table과 city에 관한 비트맵 테이블 ∘조인 인덱스 - 사실 테이블과 차원 테이블의 외래키 관계를 조인 인덱스로 구축하여 조인 처리의 속도를 향상시킴 ∘요약 데이터 관리 방법 - 별도의 작은 테이블에 분기별 판매 총액이나 제품별 총액과 같은 요약 데이터를 포함함 - 이미 존재하는 테이블에 레벨을 인코딩하여 요약 데이터를 포함하는 것임. - 데이터 웨어하우스 자료는 변경이 거의 일어나지 않으므로 (주기적으로 자료의 삭제와 추가만 있음) 요약 정보를 유지하는 것이 성능 향상에 도움이 됨 - 원본 데이터가 변경되면 요약 데이터도 변경되어야 하기 때문에 휘발성이 강한 기존의 트랜잭션 위주의 데이터베이스는 유지비용이 높기 때문에 요약 데이터를 이용함은 바람직하지 않음 |
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) 기능 강화 - 능동형 데이터베이스 기능을 데이터 웨어하우스에 적용하는 문제 - 데이터 웨어하우스의 생성과 유지 과정에서 도메인 규칙과 비즈니스 규칙의 반영 문제 |
'정보과학 > 데이터베이스특론' 카테고리의 다른 글
데이터베이스 발전 모델 (0) | 2023.09.07 |
---|---|
데이터 마이닝 (1) | 2023.09.07 |
객체지향, 객체관계, 웹 데이터베이스 (0) | 2023.09.07 |
데이터베이스 보안과 권한 (0) | 2023.09.05 |
동시성 제어와 회복 기법 (0) | 2023.09.05 |