mysql 기반 data warehousing - 임팩트라인 | impactline€¦ · · 2013-02-22–3....
TRANSCRIPT
순서
• 인사말
• DW 개요 – 정의 및 필요성
• MySQL DW 개요 – MySQL이란?
– MySQL의 BI Infrastructure
– MySQL의 DW 핵심기능
• MySQL DW 세부사항 – DW 관련 MySQL 엔진 비교
– DW용 MySQL Engine (예)
– MySQL과 주요 DW 솔루션 비교
– Scale-Out 방식의 MySQL DW 구성
– MySQL DW/BI 파트너 솔루션
– MySQL DW TCO 검토
• 솔루션 및 구축가격
인사말
• 조직의 분석용 데이터는 평균 매년 50%씩 증가하고 있습니다. 이는 일반 조직의 상황으로서 전자상거래나 통신판매 등의 경우는 포함되지 않았습니다.
• 그 동안 의사결정을 위한 BI 이용을 위해 중앙집중 형 데이터베이스/데이터 웨어하우스 또는 부문별 Data Mart를 이용하였습니다. 그러나 이제 데이터 양이 급격히 늘면서 많은 분산 데이터 저장소 (distributed data repositories)가 생겨나면서 데이터 분석 및 운영의 복잡성과 비용도 늘어나게 되었습니다.
• 과거 고가의 전용 장비 및 솔루션에만 의존했던 데이터 웨어하우스 대신 이제는 MySQL과 같은 오픈 소스 S/W를 활용하는 사례가 늘고 있습니다. (예: Los Alamos 국립연구소, MIT Lincoln Lab, Cox 통신 등)
Data Warehouse 정의
• Data warehouse – 다음의 특징을 가지는 데이터베이스를 말함. (Bill Inmon, 1992)
• 주제별 (Subject oriented) • 비 휘발성 (Nonvolatile) • 통합 (Integrated) 정보 • Time variant
• 다차원 분석 (Dimensional Analysis) – DW 설계의 방법론: “다차원 모델 (dimensional model)” 으로서
일반적으로 주어지는 질문의 형식은 다음과 같다. • 요약정보 및 이에 대한 Breakdown (Drill-down) • 조직/부서별 요약정보 분석 (예: "departments" 또는"regions“) • 각종의 가공분석 ("slice and dice“) • 표 또는 그래픽 형태의 출력 • 기간별 추세분석
Data Warehouse의 필요성 • 필요성
– Continuous (near-real-time) data loading —OLTP workload 와 유사 – 수 많은 표준 보고서 작성– SQL을 이용한 많은 보고서 및 Index 생성 – Ad hoc query 사용자 및 데이터 분석 (data analytics)의 증가
• 주된 활용 (use case) – 1. 제한된 영역의 주제별 데이터마트 – 2. Continuous, real-time/query data warehousing – 3. 전통적인 보고서 작성 목적의 warehousing – 4. 대규모 데이터에 대한 ad-hoc queries warehousing – 5. OLTP application에서의 BI 및 분석 (analytic)
• Data warehousing의 다양한 유형 – Data Marts – 기존의 (전통적인) Data Warehouses – 대용량 Historical/Archive Data Warehouses – 실시간 Data Warehouses
DW를 위한 데이터 모델링 – 계속
• ER 모델링 – DW에서는 특히 다음 사항이 중요
• Supertype와 subtype • Constraint 구문 • Derivation
• Dimensional Modeling – 주요 개념
• Facts • Dimensions • Measures (variables)
– 큐브 (cube)모델
MySQL이란?
• 대표적인 오픈 소스 DB – 특히 LAMP
(Linux/Apache/MySQL/P…)
• 라이선스 – 오픈소스 라이선스
– 상용 라이선스
• 주요 특징 – 고성능
– Pluggable Storage Engine
– 다양한 플랫폼 지원
MySQL의 DW관련 핵심기능
• Data/Index partitioning – range, hash, key, list 및 composite partitioning 지원
– Partition “pruning”.
– Partition 관리 기능 (ADD PARTITIION, DROP PARTITION, etc.)
• storage 용량 무제한 – 예: 1 tablespace=110TB limit
• 스토리지 자동관리 (Automatic storage management ) – autogrowth data files, etc.
• 모든 datatype에 대한 ANSI-SQL 지원 – BLOB 및 XML 포함
• Built-in Replication
• Main memory tables – 모든 데이터를 RAM에 상주시킴; dimension table에 적합
• 다양한 indexes 지원 – B-tree, fulltext, clustered, hash, GIS
MySQL의 DW 핵심기능 - 계속
• Multiple-configurable data/index caches • Pre-loading of index data into index caches • Unique query cache
– caches result set + query (데이터만 cache하는 것이 아님)
• Parallel data load – 여러 파일을 한꺼번에 load 가능
• Multi-insert DML – 일반적인 INSERT 명령어를 이용한 array-style 처리
• 고성능 Data 압축 • 보안강화
– Read-only tables (민감한 데이터 보호) – Encryption
• Cost-based optimizer – Rule 기반의 query 작성이 불필요
DW 관련 MySQL 엔진 비교
DW용 MySQL 내부 엔진
DW용 MySQL 외부 엔진
• InnoDB – www.oracle.com
• NitroEDB – www.nitrosecurity.com
• BrightHouse – www.infobright.com
DW용 MySQL Engine Add-on 솔루션(예)
• Brighthouse의 4-layer 모델
– www.brighthouse.com
MySQL과 주요 DW 솔루션 비교
• Gartner의 2007년 보고서 – 2007 Magic Quadrant for Data Warehouse & Database
Management Systems
Scale-Out 방식의 MySQL DW 구성
• 개요 – Scale-up vs. Scale-out
– Scale-up: 성능증대를 위해 중앙의 메인서버를 upgrade 교체하는 것
– Scale-out: 저가의 소규모 서버로 시작하여 성능증대가 필요한 경우 서버를 점진적으로 추가하는 것
• MySQL에서의 Scale-out 모델에 의한 MySQL DW구성