289. DW 4대 특징
핵심 인사이트 (3줄 요약)
- 본질: 데이터 웨어하우스의 4대 특징은 통합성(Integrated), 주제 지향성(Subject-oriented), 시계열성(Time-variant), 비휘발성(Non-volatile)으로, William H. Inmon이 데이터 웨어하우스를 정의하기 위해 제시한 핵심 属性이다.
- 가치: 이 4대 특징은 DW가 단순한 데이터 저장소가 아닌, 의사결정 지원을 위한 특별히 설계된 시스템임을 구분 짓는 기준이 된다.
- 융합: ETL 프로세스, 차원 모델링, Slowly Changing Dimension, 스냅샷 데이터, 스키마 온 리드와 밀접하게 연관된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
개념 정의
데이터 웨어하우스의 4대 특징은 1990년대 초 William H. Inmon이 "A Definition of the Data Warehouse" 논문에서 제시한 것으로, 데이터 웨어하우스를 다른 데이터 저장소와 구분 짓는 정의적 특성이다. Inmon에 따르면 데이터 웨어하우스는 "의사결정 지원용으로 통합되고, 주제 지향적이며, 시계열적이며, 비휘발적인 데이터의集合"이다. 이 4대 특징 중 하나라도 충족하지 못하면それはただの 데이터베이스일 뿐, 진정한 의미의 데이터 웨어하우스가 아니다.
필요성
기업 내에는 다양한 운영 시스템이 존재하고, 각 시스템은 자체적인 데이터 형식,编码,命名 규칙을 사용한다. 이러한 이기종 데이터를 분석에 사용하려면首先統合해야 한다. 또한 운영 시스템은 현재 데이터 위주이고频繁更新/删除되지만, DW는 과거 데이터를 누적하여時系列 분석을 가능하게 해야 한다. 그리고 분석 목적에 맞게 주제 영역별로 데이터가 조직되어야 한다. 이 모든 요구사항을 체계적으로 정리한 것이 4대 특징이다.
배경
Inmon이 4대 특징을 제시한 배경에는 1990년대 기업들의 데이터 분석困境이 있었다. 당시에도 기업들은 방대한 데이터로부터 insight를 얻을 필요성을 느끼고 있었지만, 운영 시스템의 데이터를 직접 분석하는 것은 성능 저하, 데이터 불일치, 과거 데이터 부족 등의 문제로 불가능했다. Inmon은这些问题을 해결하기 위한 새로운 데이터 저장소의 필요성을 인식하고, 그 본질적 특성을 4대 특징으로 정의했다. 이후 Ralph Kimball의 차원 모델링 방법론과 함께 DW 구축의 핵심 기준이 되었다.
비유
DW의 4대 특징은優れた 자동차의 4대 기본 요소와 같다. 통합성은 различных 부품(엔진, 변속기, 프레임)이 하나의 차체로 결합된 것, 주제 지향성은 차가 사람을 이동시킨다는 명확한 목적하에 설계된 것, 시계열성은 오너십 이동 기록이 자동차 번호판에 남는 것, 비휘발성은 사고가 나지 않는 한 차가 도로 위 존재하는 것과 같다. 이 중 하나라도 부족하면優れた 자동차라 하기 어렵듯, 4대 특징 중 하나라도 충족하지 못하면 진정한 DW가 아니다.
📢 섹션 요약: DW의 4대 특징(통합성, 주제 지향성, 시계열성, 비휘발성)은 Inmon이 제시한 DW의 정의적 특성으로, 이 중 하나라도 충족하지 못하면 진정한 DW가 아니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
4대 특징 상세 설명
┌─────────────────────────────────────────────────────────────────────────────┐
│ 데이터 웨어하우스 4대 특징 상세 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ① 통합성 (Integrated) │ │
│ │ ─────────────────── │ │
│ │ │ │
│ │ 의미: 여러 来源( источник )의 이기종 데이터를 하나의 일관된 형태로 통합 │ │
│ │ │ │
│ │ 예시 -命名 규칙 통합: │ │
│ │ ┌──────────┬──────────┬──────────┬──────────┐ │ │
│ │ │ 시스템A │ 시스템B │ 시스템C │ 통합 후 │ │ │
│ │ ├──────────┼──────────┼──────────┼──────────┤ │ │
│ │ │ gender │ sex_cd │ m_f_yn │ gender │ ← 통합된命名 │ │
│ │ │ M/F │ 1/2 │ Y/N │ M/F │ ← 통합된 값 │ │
│ │ │ 1000 │ 1 │ Y │ M │ ← 통합된 encoding │ │
│ │ └──────────┴──────────┴──────────┴──────────┘ │ │
│ │ │ │
│ │ 통합 항목: │ │
│ │ • 필드 이름 (Column Naming) | │
│ │ • 데이터 타입 (Data Type) | │
│ │ • Encoding 방식 (ASCII, UTF-8, EUC-KR 등) | │
│ │ • 측정 단위 (kg vs lb, 원 vs 달러) | │
│ │ • 키 구조 (Primary Key, Foreign Key) | │
│ │ | │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ② 주제 지향성 (Subject-oriented) │ │
│ │ ──────────────────────────── │ │
│ │ │ │
│ │ 의미:业务的 기능(업무별)이 아니라, 분석 주제(Subject) 중심으로 데이터 조직 │ │
│ │ │ │
│ │ 비교: │ │
│ │ ┌───────────────────────┬───────────────────────────────────┐ │ │
│ │ │ 운영 시스템 (기능 지향) │ 데이터 웨어하우스 (주제 지향) │ │ │
│ │ ├───────────────────────┼───────────────────────────────────┤ │ │
│ │ │ 인사 시스템 │ 고객 분석, 직원 분석 │ │ │
│ │ │ 회계 시스템 │ 재무 분석, 수익 분석 │ │ │
│ │ │ 영업 시스템 │ 판매 분석, 시장 분석 │ │ │
│ │ │ 제조 시스템 │ 생산 분석, 품질 분석 │ │ │
│ │ │ 주문 시스템 │ 주문 분석, 물류 분석 │ │ │
│ │ └───────────────────────┴───────────────────────────────────┘ │ │
│ │ │ │
│ │ → "고객"이라는 주제 아래 고객 demographics, 구매이력, 해지이력 통합 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ③ 시계열성 (Time-variant) │ │
│ │ ──────────────────────── │ │
│ │ │ │
│ │ 의미:현재 데이터만이 아니라 과거 시점의 데이터를 명시적으로 저장 │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ 시간에 따른 데이터 저장 │ │ │
│ │ │ ─────────────────────────────────────────────────────── │ │ │
│ │ │ │ │ │
│ │ │ 2023-01-01 2023-06-01 2024-01-01 2024-06-01 │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ ▼ ▼ ▼ ▼ │ │ │
│ │ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │
│ │ │ │ 매출 │ │ 매출 │ │ 매출 │ │ 매출 │ │ │ │
│ │ │ │ 10억 │ │ 12억 │ │ 15억 │ │ 18억 │ │ │ │
│ │ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ │
│ │ │ Q1 Q2 Q3 Q4 │ │ │
│ │ │ │ │ │
│ │ │ → 각 시점의 "스냅샷(Snapshot)"을 누적 저장 │ │ │
│ │ │ → YoY (Year-over-Year), MoM (Month-over-Month) 비교 가능 │ │ │
│ │ │ → 최소 5~7년, 경우에 따라 10년+ 유지 │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ④ 비휘발성 (Non-volatile) │ │
│ │ ──────────────────────── │ │
│ │ │ │
│ │ 의미:일반적인 트랜잭션의 갱신/삭제가 발생하지 않고, 데이터는 추가만 됨 │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
│ │ │ Insert-only 운영 │ │ │
│ │ │ ─────────────────────────────────────────────────────── │ │ │
│ │ │ │ │ │
│ │ │ INSERT INTO sales VALUES (2024, '노트북', 100); ✓ 추가 │ │ │
│ │ │ INSERT INTO sales VALUES (2024, '노트북', 150); ✓ 추가 │ │ │
│ │ │ UPDATE sales SET qty=150 WHERE product='노트북'; ✗ 불허 │ │ │
│ │ │ DELETE FROM sales WHERE product='노트북'; ✗ 불허 │ │ │
│ │ │ │ │ │
│ │ │ ※ 변경이 필요하면? → 새 행을 INSERT하고, 이전 행은 이력으로 남김 │ │ │
│ │ │ (Slowly Changing Dimension Type 2) │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ [비휘발성이 중요한 이유] | │
│ │ 1. 데이터 무결성:분석 결과가 변하지 않아信頼할 수 있음 | │
│ │ 2. 감사 추적:과거 어떤 상태였는지 명확히 알 수 있음 | │
│ │ 3. 성능:갱신 트랜잭션 처리 부담이 없어분석 최적화 가능 | │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
4대 특징과 ETL 관계
┌─────────────────────────────────────────────────────────────────────────────┐
│ 4대 특징과 ETL 프로세스의 관계 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ETL이 4대 특징을 구현하는 과정 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ [E] Extract (추출) │
│ ───────────────── │
│ • 여러来源(OLTP, 외부 데이터, 로그 등)에서 데이터 추출 │
│ • 통합성: 여러 источник数据的統合을 위한 第一단계 │
│ • 시계열성: 추출 시점의 타임스탬프 부여 │
│ │
│ ▼ │
│ [T] Transform (변환) │
│ ───────────────── │
│ • 데이터 정제,编码 변환, 단위 변환,命名 규칙 통일 │
│ • 통합성: 이기종 데이터의 통합实现 │
│ • 주제 지향성: 분석 주제 영역별 데이터 구조화 │
│ │
│ ▼ │
│ [L] Load (적재) │
│ ─────────────── │
│ • DW 또는 Data Mart에 데이터 적재 │
│ • 비휘발성: 추가(Insert-only) 패턴 적용 │
│ • 시계열성: 스냅샷 또는 이력 데이터累积 │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ETL → 4대 특징 매핑 │ │
│ │ ────────────────────────────────────────────────────────── │ │
│ │ │ │
│ │ ETL Extract ──────▶ 통합성 (Integration) │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ETL Transform ────▶ 주제 지향성 (Subject-oriented) │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ ETL Load ────────▶ 시계열성 (Time-variant) │ │
│ │ │ + 비휘발성 (Non-volatile) │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 결과: 진정한 의미의 데이터 웨어하우스 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] ETL 프로세스는 4대 특징을 구현하기 위한 구체적 구현 메커니즘이다. Extract 단계에서 여러来源에서 데이터를 모으고, Transform 단계에서 통합성을 달성하며 주제 지향적으로 구조화하고, Load 단계에서 비휘발성 원칙에 따라 추가 전용으로 데이터를 누적한다. 이 과정에서 시계열성도 자연스럽게確保된다. 따라서 ETL을 올바르게 설계·구현하는 것이 4대 특징을 충족하는 DW를 구축하는 핵심이다.
📢 섹션 요약: ETL 프로세스는 4대 특징을 구현하는 구체적 메커니즘으로, Extract로 통합의 첫걸음을 놓고, Transform으로 통합성·주제 지향성을 달성하며, Load로 비휘발성·시계열성을実装한다.
Ⅲ. 결론
DW의 4대 특징(통합성, 주제 지향성, 시계열성, 비휘발성)은 Inmon이 제시한 DW의 정의적 특성으로, 단순한 데이터 저장이 아닌 의사결정 지원용으로 특별히 설계된 시스템임을 구분 짓는 핵심 기준이다. 통합성은 ETL을 통해 이기종 데이터를 일관된 형태로 만드는 과정이고, 주제 지향성은 분석 중심의 데이터 조직 방식이며, 시계열성은 과거 데이터의 누적과 스냅샷 저장이고, 비휘발성은 갱신/삭제 없이 추가만 되는 운영 방식이다. 이 4대 특징을 충족하지 못하면 그것은 데이터 웨어하우스가 아니라ただの 데이터베이스에 불과하다.
📢 섹션 요약: 4대 특징은 DW의 본질적 정의로, 통합성·주제 지향성·시계열성·비휘발성이 상호有机的に关联되어 ETL 프로세스를 통해実装된다.
핵심 인사이트 ASCII 다이어그램 (Concept Map)
┌─────────────────────────────────────────────────────────────────────────────┐
│ DW 4대 특징 Concept Map │
│ │
│ ┌─────────────────────────────────┐ │
│ │ Data Warehouse 4대 특징 │ │
│ │ (Inmon 정의) │ │
│ └───────────────┬─────────────────┘ │
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Integration │ │ Subject- │ │ Time- │ │
│ │ (통합성) │ │ oriented │ │ variant │ │
│ │ │ │ (주제 지향성) │ │ (시계열성) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Non-volatile │ │
│ │ (비휘발성) │ │
│ │ + ETL Pipeline │ │
│ └─────────────────────┘ │
│ │
│ ETL → 4대 특징 구현: E(통합) → T(주제+통합) → L(시계열+비휘발) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
참고
- 4대 특징은 Inmon이 제시한 DW의 정의적 특성이다.
- 통합성: 이기종 데이터를 일관된 형태로 통합한다.
- 주제 지향성: 분석 중심(업무 아님)으로 데이터를 조직한다.
- 시계열성: 과거 데이터를 명시적으로 저장한다.
- 비휘발성: 추가만 되고 갱신/삭제는 발생하지 않는다.
- ETL 프로세스를 통해 4대 특징이 구현된다.
- 4대 특징 중 하나라도 충족하지 못하면 DW가 아니다.