288. 데이터 웨어하우스 (DW) 정의
핵심 인사이트 (3줄 요약)
- 본질: 데이터 웨어하우스(Data Warehouse, DW)는 기업의 의사결정 지원(Decision Support)을 위해 통합(Integrated), 주제 지향(Subject-oriented), 시계열(Time-variant), 비휘발성(Non-volatile) 데이터를 수집·저장하는 중앙 집중식 데이터 저장소이다.
- 가치: 전사적 데이터 통합, 과거 데이터 분석, BI/Analytics 보고서, 예측 분석, 데이터 기반 의사결정 지원에 필수적인 인프라이다.
- 융합: ETL, ODS, OLAP, 스타 스키마, 데이터 마트, Kimball vs Inmon 방법론과 밀접하게 연관된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
개념 정의
데이터 웨어하우스(Data Warehouse, DW)는 1990년대 초반 컴퓨터 과학자 William H. Inmon이 정의한 개념으로, "의사결정 지원용으로 통합된, 주제 지향적, 시계열적, 비휘발적인 데이터의集合이다"라고 표현했다. 쉽게 말해, 기업 내 여러来源에서 발생하는 데이터를 통합하여 경영진의 전략적 의사결정을 지원하는超大규모 분석 전용 데이터베이스이다. 운영 시스템(OLTP)의 데이터를 추출(Extract)하여 정제(Transform)한 후 적재(Load)하는 ETL 프로세스를 통해 구축된다.
필요성
기업의 운영 시스템(예: ERP, CRM, 웹사이트)은 일상적인 business transactions을 처리하는 데 최적화되어 있다. 이러한 시스템의 데이터를 그대로 분석에 사용하면 여러 문제점이 발생한다. 첫째, 분석 쿼리가 운영 시스템의 성능에 영향을 미친다. 둘째, 서로 다른 시스템 간 데이터 형식과 의미가 다를 수 있다. 셋째, 과거 데이터가 삭제되거나 변경될 수 있다. 데이터 웨어하우스는 이러한問題を解決하기 위해 분석 전용으로 설계된 별도의 데이터 저장소를 제공한다.
배경
1990년대 들어 기업들은 경쟁 우위 확보를 위해 데이터 기반 의사결정의 중요성을 인식하기 시작했다. 그러나 당시的主流였던 관계형 데이터베이스는 복잡한 분석 쿼리 처리에는 최적화되어 있지 않았다. William Inmon은 이러한 문제점을 해결하기 위해 데이터 웨어하우스의 개념을 처음으로 제안했다. 이후 Ralph Kimball이 제시한 차원 모델링(Dimensional Modeling)과 스타 스키마(Star Schema) 개념과 함께 데이터 웨어하우스 구축 방법론이 성숙하기 시작했다. 현재는 Amazon Redshift, Google BigQuery, Snowflake, Apache Hive 등 다양한 플랫폼이 활용되고 있다.
비유
데이터 웨어하우스는大型기업의 전략 headquarters와 같다. 각事业部(영업, 생산, 인사, 재무 등)에서 매일의 업무를 처리하지만(OLTP), 전략 headquarters에서는 모든 사업부의 데이터를 모아 장기적 관점의 전략을 세운다(BI/Analytics). headquarters에 모이는 데이터는 각 부서의 실적을 반영한것일 同时에, headquarters만을 위해 별도로 가공·통합된 것이다.
📢 섹션 요약: 데이터 웨어하우스는 기업의 의사결정 지원을 위해 통합, 주제 지향적, 시계열적, 비휘발적 데이터를 저장하는 중앙 집중식 분석 전용 데이터베이스이다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
데이터 웨어하우스 4대 특징
┌─────────────────────────────────────────────────────────────────────────────┐
│ 데이터 웨어하우스 4대 특징 (Inmon 정의) │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ DW 4대 특징 │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ① 통합성 (Integrated) │ │
│ │ ─────────────────── │ │
│ │ • 여러来源의 이기종 데이터를 통합 | │ │
│ │ •命名 규칙, encoding, 측정 단위 등을 통일 | │ │
│ │ •예: 'M'/'Male'/'남' → 'M'로 통일 | │ │
│ │ | │
│ │ ② 주제 지향성 (Subject-oriented) | │
│ │ ────────────────────────── | │ │
│ │ •的业务 기능별ではなく, 주제 영역(Subject) 중심으로 데이터 조직 | │ │
│ │ •예: 판매, 고객, 상품, 재고 등의 주제 | │ │
│ │ •운영 시스템의 기능을 반영하지 않고, 분석 관점으로 설계 | │ │
│ │ | │ │
│ │ ③ 시계열성 (Time-variant) | │
│ │ ──────────────────────── | │ │
│ │ •과거 시점의 데이터를 명시적으로 저장 | │ │
│ │ •시간 dimension을 필수로 포함 | │ │
│ │ •최소 5~7년, 경우에 따라 10년 이상의 데이터 유지 | │ │
│ │ •시간에 따른 추세 분석, YoY/MoM 비교 가능 | │ │
│ │ | │ │
│ │ ④ 비휘발성 (Non-volatile) | │ │
│ │ ────────────────────── | │ │
│ │ •일반적인 트랜잭션의 갱신/삭제가 발생하지 않음 | │ │
│ │ •데이터는 계속追加のみ (Insert-only) | │ │
│ │ •변경이력이 필요하면 별도 이력 테이블로管理 | │ │
│ │ •항상 읽기 전용 스냅샷으로 유지 | │ │
│ │ | │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
데이터 웨어하우스 아키텍처
┌─────────────────────────────────────────────────────────────────────────────┐
│ 데이터 웨어하우스 아키텍처 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ ERP │ │ CRM │ │ SCM │ ... │
│ │ 시스템 │ │ 시스템 │ │ 시스템 │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ │ ┌──────────┼──────────┐ │ │
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────┐ │
│ │ ETL 프로세스 │ │
│ │ Extract ──── Transform ──── Load │ │
│ └────────────────────┬────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 데이터 웨어하우스 (DW) │ │
│ │ ───────────────────────────────────────── │ │
│ │ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ 통합 데이터 저장소 │ │ │
│ │ │ (단일 진실의 원천 - Single Source) │ │ │
│ │ └─────────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────┬────────────────────────┘ │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Data Mart│ │Data Mart │ │Data Mart │ ... │
│ │ (판매) │ │ (고객) │ │ (상품) │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────┐ │
│ │ BI/Analytics 도구 │ │
│ │ 보고서 | 대시보드 | 데이터 마이닝 | 예측 분석 │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
DW vs OLTP 비교
┌─────────────────────────────────────────────────────────────────────────────┐
│ 데이터 웨어하우스 vs 운영 시스템 (OLTP) 비교 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┬────────────────────────┬────────────────────────┐ │
│ │ 특성 │ 운영 시스템 (OLTP) │ 데이터 웨어하우스 (DW) │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 목적 │ 일상 업무 처리 │ 의사결정 지원 (BI) │ │
│ │ │ (Transaction Processing)│ (Decision Support) │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 데이터 모델 │ 정규화 (3NF 등) │ 차원 모델링 │ │
│ │ │ │ (스타/스노우플레이크) │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │_schema │ 쓰기 시 스키마 (Schema-on-│ 읽기 시 스키마 │ │
│ │ │ write) │ (Schema-on-read) │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 작업 특성 │ 짧은 트랜잭션,频繁な更新 │ 긴 쿼리, 대량 읽기 │ │
│ │ │ (Insert/Update/Delete) │ (Select 위주) │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 데이터량 │ 수백 GB ~ 수 TB │ 수 TB ~ 수 PB │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 시간 범위 │ 현재 데이터 위주 │ 과거 데이터 포함 (5~10년)│ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 성능 지표 │ TPS (Transaction/sec) │ 쿼리 응답 시간 │ │
│ │ │ │ 대시보드 로딩 시간 │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 사용자 │ 직원 (수천 명) │ 경영진, 분석가 (수백 명) │ │
│ │ │ │ │ │
│ ├──────────────────┼────────────────────────┼────────────────────────┤ │
│ │ 인덱스 │ 트랜잭션 최적화 인덱스 │ 분석 최적화 인덱스 │ │
│ │ │ (B-Tree) │ (BitMap, Columnar) │ │
│ └──────────────────┴────────────────────────┴────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] 데이터 웨어하우스는 운영 시스템(OLTP)과는根本적으로 다른 목적으로 설계된다. OLTP는 일상의 business transactions을 빠르고 정확하게 처리하는 것에 초점을 맞추고, DW는 과거 데이터로부터 insight를 도출하여 전략적 의사결정을 지원하는 것에 초점을 맞춤다. 이 차이는 데이터 모델, 스키마 접근 방식, 쿼리 패턴, 성능 지표 등 모든 측면에 반영된다. Inmon의 정의에 따르면, DW는 반드시 4대 특징(통합성, 주제 지향성, 시계열성, 비휘발성)을 모두 충족해야 한다.
📢 섹션 요약: 데이터 웨어하우스는 4대 특징(통합성, 주제 지향성, 시계열성, 비휘발성)을 충족하는 분석 전용 데이터베이스로, OLTP 시스템과는 목적, 모델, 작업 특성이 근본적으로 다르다.
Ⅲ. 결론
데이터 웨어하우스는 기업의 데이터 기반 의사결정을 지원하는 핵심 인프라이다. Inmon이 정의한 4대 특징(통합성, 주제 지향성, 시계열성, 비휘발성)은 DW의 본질적 특성을 명확히 설명한다. OLTP 시스템과는根本적으로 다른 아키텍처로 설계되어야 하며, ETL 프로세스를 통해 운영 시스템의 데이터를 DW로 수집·통합한다. 현재는 Amazon Redshift, Google BigQuery, Snowflake, Azure Synapse, Apache Hive 등 다양한 클라우드 기반 DW 플랫폼이 활용되고 있으며, 데이터 레이크(Data Lake)와의 융합形态인 데이터 레이크하우스(Data Lakehouse)도 등장하고 있다.
📢 섹션 요약: 데이터 웨어하우스는 4대 특징을 충족하는 분석 전용 시스템으로, ETL을 통해 운영 데이터를 통합하여 BI/의사결정 지원을 제공하는 핵심 데이터 인프라이다.
핵심 인사이트 ASCII 다이어그램 (Concept Map)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Data Warehouse Concept Map │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Data Warehouse (DW) │ │
│ │ (데이터 웨어하우스) │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Integration │ │ Subject- │ │ Time- │ │
│ │ (통합성) │ │ oriented │ │ variant │ │
│ │ │ │(주제 지향성) │ │ (시계열성) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Non-volatile │ │
│ │ (비휘발성) │ │
│ │ + ETL Pipeline │ │
│ │ + BI/Analytics │ │
│ └─────────────────────┘ │
│ │
│ 구성요소: ODS | ETL | Data Mart | BI Tools │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
참고
- 데이터 웨어하우스는 Inmon이 정의한 4대 특징을 충족해야 한다.
- ETL 프로세스를 통해 운영 시스템 데이터를 DW로 수집한다.
- OLTP 시스템과는 목적, 모델, 성능 지표가 다르다.
- 차원 모델링(스타 스키마)과 OLAP 연산을 활용한다.
- Amazon Redshift, BigQuery, Snowflake 등이 대표적 플랫폼이다.
- 데이터 레이크와 융합한 레이크하우스 아키텍처도 등장하고 있다.