핵심 인사이트 (3줄 요약)
- 본질: OLAP (Online Analytical Processing) 큐브는 사전 집계를 통해 BI 쿼리 응답 시간을 1초 이내로 단축하는 다차원 데이터 구조다.
- 가치: MOLAP은 <1초 응답으로 경영진 대시보드에 최적이나 스토리지 비용이 크고, ROLAP은 무제한 차원을 지원하지만 5~30초 지연이 있다.
- 판단 포인트: 큐브 빌드 시간(MOLAP 수시간)과 데이터 신선도 요구를 맞바꾸는 트레이드오프가 핵심 설계 결정이다.
Ⅰ. 개요 및 필요성
OLAP (Online Analytical Processing)은 다차원 관점에서 데이터를 Slice·Dice·Roll-up·Drill-down하는 분석 기법이다. 수억 건의 거래 데이터를 매번 집계하면 수십 분이 걸리지만, 큐브(Cube)에 사전 집계해두면 1초 이내로 조회 가능하다.
주요 유형:
- MOLAP (Multidimensional OLAP): 데이터를 전용 다차원 배열 구조로 저장
- ROLAP (Relational OLAP): 관계형 DB(스타 스키마) 위에서 동적 집계
- HOLAP (Hybrid OLAP): 요약 데이터는 MOLAP, 세부 데이터는 ROLAP
MDX (Multidimensional Expressions)는 OLAP 큐브 쿼리 언어다.
📢 섹션 요약 비유: OLAP 큐브는 미리 잘라 놓은 요리 재료 통이다. 주문이 들어오면 즉시 꺼내 담기만 하면 되므로 응답이 초고속이다.
Ⅱ. 아키텍처 및 핵심 원리
MOLAP vs ROLAP vs HOLAP 비교
| 항목 | MOLAP | ROLAP | HOLAP |
|---|---|---|---|
| 저장 방식 | 다차원 배열 (전용 엔진) | 관계형 DB 스타 스키마 | 혼합 |
| 쿼리 속도 | <1초 (사전 집계) | 5~30초 (온디맨드) | 중간 |
| 데이터 신선도 | 큐브 빌드 주기 (수시간) | 실시간 가능 | 중간 |
| 스토리지 | 크다 (원본의 2~5배) | 원본 DW 동일 | 중간 |
| 확장성 | 차원 수 제한 (~20개) | 무제한 | 중간 |
| 도구 | SSAS MOLAP, Essbase | SSAS ROLAP, Mondrian | SSAS HOLAP |
ASCII 다이어그램: MOLAP 3차원 큐브 구조
┌────────────────────────────────────────────────┐
│ MOLAP Cube: Sales │
│ │
│ 제품 차원 (Product) │
│ ┌─────┬─────┬─────┐ │
│ /│ │ │ │/ │
│ / └─────┴─────┴─────┘ │
│ 시간 / ──────────────────▶ 지역 차원 (Region) │
│ 차원 ┌─────┬─────┬─────┐ │
│ (Time)│2022 │2023 │2024 │ │
│ ├─────┼─────┼─────┤ │
│ │ 서울 │ 부산 │ 대구 │ 각 셀 = 사전 집계값 │
│ ├─────┼─────┼─────┤ (합계, 평균, 최대 등) │
│ │ ... │ ... │ ... │ │
│ └─────┴─────┴─────┘ │
│ 큐브 빌드: 야간 배치 (수시간) │
│ 조회 응답: <1초 (사전 집계 인덱스) │
└────────────────────────────────────────────────┘
파티셔닝 전략
| 전략 | 방법 | 효과 |
|---|---|---|
| 시간 파티셔닝 | 연도별 큐브 분리 | 빌드 시간 분산, 부분 갱신 |
| 증분 빌드 | 변경 데이터만 재빌드 | 90% 빌드 시간 단축 |
| 집계 최소화 | 자주 쓰는 조합만 | 스토리지 50% 절감 |
📢 섹션 요약 비유: 큐브 파티셔닝은 도서관 서가를 연도별로 나누는 것이다. 최근 책만 꺼내려면 최근 서가만 뒤지면 된다.
Ⅲ. 비교 및 연결
큐브 빌드 시간 최적화
| 최적화 방법 | 효과 | 주의 |
|---|---|---|
| 증분 빌드 (Incremental) | 전체 대비 90% 시간 단축 | 팩트 변경 시 무효화 |
| 병렬 파티션 빌드 | CPU 코어 활용 극대화 | 메모리 압박 |
| 집계 설계 최소화 | 스토리지·빌드 시간 감소 | 쿼리 속도 일부 저하 |
📢 섹션 요약 비유: 큐브 빌드는 시험 전 정리된 요약 노트 만들기다. 노트가 완성되면 시험은 빠르지만, 노트 만드는 데 밤새 걸린다.
Ⅳ. 실무 적용 및 기술사 판단
OLAP 설계 체크리스트
- 조회 응답 SLA: <1초면 MOLAP, 5~30초 허용이면 ROLAP 검토
- 데이터 신선도 요구: 실시간이면 ROLAP 또는 HTAP 검토
- 차원 수: 20개 초과 시 ROLAP 권장
- 스토리지 예산: MOLAP은 원시 데이터의 2~5배 스토리지 필요
- 스타 스키마(팩트·차원 테이블) 정규화 선행 필수
안티패턴
| 안티패턴 | 문제 | 해결 방법 |
|---|---|---|
| 모든 차원 조합 사전 집계 | 스토리지 폭발 | 자주 쓰는 조합만 선택적 집계 |
| 세분화된 시간 차원 과다 | 희소 큐브, 빌드 시간 급증 | 일·월·분기·연 4레벨로 제한 |
📢 섹션 요약 비유: 모든 집계를 미리 계산하는 건 모든 음식 레시피를 미리 만들어 냉동해두는 것이다. 냉동실이 넘친다.
Ⅴ. 기대효과 및 결론
| 항목 | Raw SQL | OLAP 큐브 도입 |
|---|---|---|
| 쿼리 응답 시간 | 5~30분 (수억 행 집계) | <1초 (MOLAP) |
| 경영진 셀프서비스 | 불가 (IT 의존) | 드래그앤드롭 분석 |
| BI 도구 연동 | 제한적 | Excel, Power BI 직접 연결 |
📢 섹션 요약 비유: 큐브 도입 결정은 사전에 재료를 손질해 두느냐 vs 주문받고 바로 손질하느냐의 선택이다. 주문량이 많으면 미리 손질하는 게 낫지만, 신선도가 중요하다면 즉석 요리가 낫다.
📌 관련 개념 맵
| 개념 | 관계 | 설명 |
|---|---|---|
| MOLAP | 유형 | 다차원 배열 사전 집계 |
| ROLAP | 유형 | 관계형 DB 온디맨드 집계 |
| HOLAP | 유형 | 혼합 방식 |
| MDX | 쿼리 언어 | 큐브 조회 전용 언어 |
| Cube Partition | 최적화 | 증분 빌드로 빌드 시간 단축 |
📈 관련 키워드 및 발전 흐름도
평면 2D 리포트 한계 - 다차원 분석 필요성
│
▼
MOLAP - 전용 큐브 스토리지 (빠른 쿼리, 공간 비용)
│
▼
ROLAP - RDB 기반 스타 스키마 (확장성, 느린 쿼리)
│
▼
HOLAP - MOLAP+ROLAP 하이브리드 계층화
│
▼
현대 OLAP (Druid, ClickHouse) - 실시간 집계 진화
키워드: MOLAP, ROLAP, HOLAP, OLAP Cube, Star Schema, Snowflake Schema, Drill-Down, ClickHouse
👶 어린이를 위한 3줄 비유 설명
- OLAP 큐브는 미리 잘라 포장해 둔 음식 세트예요. 주문이 오면 바로 꺼내주면 돼요.
- MOLAP은 모든 세트를 미리 만들어 냉장 보관한 것, ROLAP은 주문 즉시 만드는 것이에요.
- HOLAP은 자주 팔리는 인기 메뉴는 미리 만들고, 특별 주문만 즉석 요리하는 방식이에요.