핵심 인사이트 (3줄 요약)

  1. 본질: OLAP(Online Analytical Processing)는 다차원 데이터 큐브를 통해 대규모 데이터를 다양한 관점에서 빠르게 집계·분석하는 기술로, OLTP(Online Transaction Processing)의 행(Row) 중심과 달리 열(Column)·차원(Dimension) 중심의 읽기 최적화 구조다.
  2. 가치: 드릴다운(Drill-Down)·롤업(Roll-Up)·슬라이스(Slice)·다이스(Dice) 연산으로 비즈니스 인텔리전스(BI, Business Intelligence) 분석가가 억 건 데이터를 수초 내에 탐색하며, 서로게이트 키(Surrogate Key)로 차원 테이블의 변경 이력을 추적한다.
  3. 판단 포인트: MOLAP(Multidimensional OLAP)은 사전 집계로 속도가 빠르나 공간 낭비가 크고, ROLAP(Relational OLAP)은 유연하나 느리다 — 데이터 규모·갱신 빈도·쿼리 패턴으로 선택한다.

Ⅰ. 개요 및 필요성

1.1 OLTP vs OLAP — 두 세계의 설계 철학 차이

항목OLTP (Online Transaction Processing)OLAP (Online Analytical Processing)
목적실시간 트랜잭션 처리다차원 집계 분석
쿼리 유형INSERT / UPDATE / DELETE 단건SELECT 집계, 복잡 JOIN
데이터 크기GB 단위, 최신 데이터TB~PB 단위, 히스토리 포함
정규화3NF 이상 높은 정규화비정규화(스타·스노우플레이크)
응답 시간ms 이하초~분 단위
대표 시스템MySQL, PostgreSQLSnowflake, Redshift, BigQuery

OLTP는 빠른 쓰기를 위해 데이터를 잘게 쪼개 중복을 제거하지만, OLAP은 집계 성능을 위해 의도적으로 비정규화(Denormalization)하여 JOIN 횟수를 줄인다.

1.2 다차원 데이터 모델 (Multidimensional Data Model)

OLAP의 핵심은 데이터 큐브(Data Cube) — 측정값(Measure)을 여러 차원(Dimension)의 교차점에 배치한 구조다.

          제품 차원
          ┌──────────────┐
시간 차원  │  매출 큐브   │  지역 차원
    ──────►│  [날짜][제품]│◄──────
          │  [지역][금액]│
          └──────────────┘
  • 측정값(Measure): 매출액, 수량, 이익률 등 집계 대상 숫자
  • 차원(Dimension): 분석 관점 — 시간, 제품, 지역, 고객
  • 계층(Hierarchy): 연도→분기→월→일, 국가→시도→시군구

📢 섹션 요약 비유: OLAP은 거대한 루빅스 큐브다 — 회사 전체 매출이라는 큐브를 시간·제품·지역 축으로 돌리면서 원하는 단면만 꺼내 보는 것이다.


Ⅱ. 아키텍처 및 핵심 원리

2.1 OLAP 유형 비교

유형전체 명칭저장 방식장점단점
ROLAPRelational OLAP관계형 DB 테이블유연, 대용량쿼리 느림
MOLAPMultidimensional OLAP다차원 큐브 파일초고속 집계공간 낭비, 희소성 문제
HOLAPHybrid OLAP세부→RDB, 집계→큐브균형복잡한 관리

2.2 스타 스키마 (Star Schema) 구조

             ┌─────────────────┐
             │  DIM_시간       │
             │  surrogate_key  │
             │  날짜/월/분기   │
             └────────┬────────┘
                      │
┌─────────────┐  ┌────┴──────────────┐  ┌─────────────┐
│  DIM_제품   │  │  FACT_매출        │  │  DIM_지역   │
│ product_sk  ├──┤  time_sk          ├──┤ region_sk   │
│ 제품명/카테 │  │  product_sk       │  │ 도시/국가   │
└─────────────┘  │  region_sk        │  └─────────────┘
                 │  customer_sk      │
                 │  매출액 / 수량    │
                 └───────────────────┘
                         │
             ┌───────────┴──────────┐
             │  DIM_고객            │
             │  customer_sk         │
             │  고객명/등급/연령대  │
             └──────────────────────┘

2.3 서로게이트 키 (Surrogate Key)

**서로게이트 키(Surrogate Key)**는 비즈니스 의미가 없는 시스템 생성 일련번호(예: 1, 2, 3...)로, DW(Data Warehouse, 데이터 웨어하우스)의 차원 테이블에서 자연 키(Natural Key) 대신 사용된다.

왜 필요한가?

문제 상황자연 키의 한계서로게이트 키 해법
고객번호 체계 변경FK 모두 수정 필요SK(Surrogate Key)는 불변
SCD(Slowly Changing Dimension) 이력변경 전후 구분 불가버전별 별도 SK 부여
NULL 허용 소스 시스템JOIN 실패Unknown(-1) SK 처리
소스 통합(멀티소스)중복 키 충돌통합 SK로 충돌 방지

SCD(Slowly Changing Dimension) Type 2 적용 예:

고객_SK  고객_자연키  고객명  등급  시작일      종료일      현재
───────  ──────────  ──────  ────  ──────────  ──────────  ──────
1001     C-00123     홍길동  GOLD  2020-01-01  2022-05-31  N
1002     C-00123     홍길동  VIP   2022-06-01  9999-12-31  Y

2.4 OLAP 연산 4종

┌─────────────────────────────────────────────────────────┐
│  롤업 Roll-Up : 세부 → 요약 (일→월→분기→연도)          │
│  ↑                                                      │
│  드릴다운 Drill-Down : 요약 → 세부 (연도→분기→월→일)   │
│  ↓                                                      │
│  슬라이스 Slice : 한 차원을 고정값으로 필터링           │
│  (예: 지역='서울'로 고정 → 2D 단면 추출)               │
│                                                         │
│  다이스 Dice : 여러 차원을 범위 필터링                  │
│  (예: 지역 IN('서울','부산') AND 월 IN(1,2,3))         │
└─────────────────────────────────────────────────────────┘

📢 섹션 요약 비유: OLAP 연산은 지도 앱과 같다 — 롤업은 줌아웃(전국 보기), 드릴다운은 줌인(골목길 보기), 슬라이스는 서울만 보기, 다이스는 서울·부산 겨울철만 보기다.


Ⅲ. 비교 및 연결

3.1 MDX (Multidimensional Expressions) 쿼리

MDX(Multidimensional Expressions)는 OLAP 큐브를 SQL처럼 조회하는 전용 쿼리 언어다.

-- MDX 예: 2024년 서울 지역의 제품 카테고리별 매출 합계
SELECT
  [제품].[카테고리].MEMBERS ON COLUMNS,
  [시간].[년도].[2024] ON ROWS
FROM [매출큐브]
WHERE ([지역].[도시].[서울])
  • ON COLUMNS / ON ROWS: 큐브의 축 지정
  • MEMBERS: 해당 차원의 모든 멤버 전개
  • WHERE: 슬라이서 — 특정 차원을 고정

3.2 OLAP vs 다른 분석 기법

기법데이터 구조특징
OLAP다차원 큐브사전 집계, 빠른 드릴다운
SQL 집계관계형 테이블유연하나 집계 속도 한계
인메모리 BI컬럼형 인메모리Power BI, Tableau — 실시간
Graph DB그래프 구조관계 탐색에 특화

📢 섹션 요약 비유: MDX는 OLAP 큐브의 리모컨이다 — 어느 축에서 볼지, 어느 면을 자를지를 명령하면 큐브가 즉시 원하는 단면을 꺼내 준다.


Ⅳ. 실무 적용 및 기술사 판단

4.1 DW 설계 시 서로게이트 키 전략

ETL 파이프라인 내 SK 생성 흐름:

소스DB     →  스테이징 영역     →  DW 차원 테이블
고객ID(자)     중복제거/정제         customer_sk(SK)=시퀀스
C-00123    →  C-00123          →  1001
C-00456    →  C-00456          →  1002

실무 체크리스트:

  • SK는 ETL(Extract, Transform, Load) 레이어에서 자동 증가(IDENTITY/SEQUENCE)로 생성
  • Unknown 멤버(-1, 0)를 차원 테이블에 미리 삽입해 NULL FK 처리
  • SCD Type 1(덮어쓰기), Type 2(이력 보존), Type 3(이전값 컬럼 추가) 전략을 비즈니스 요건으로 결정

4.2 MOLAP vs ROLAP 선택 기준

데이터 크기가 크고 갱신 빈도가 높다면?
       ↓
  ROLAP or HOLAP

데이터 크기가 작고 쿼리 속도가 최우선이라면?
       ↓
  MOLAP (사전 집계 큐브)

혼합 워크로드라면?
       ↓
  HOLAP (세부 데이터→ROLAP, 집계→MOLAP)

📢 섹션 요약 비유: MOLAP은 미리 요리해 놓은 도시락(빠르나 메뉴 고정), ROLAP은 즉석 주문 조리(느리나 메뉴 무한대)다. 둘의 장점을 합친 게 HOLAP이다.


Ⅴ. 기대효과 및 결론

5.1 OLAP 도입 효과

효과설명
분석 속도집계 사전 계산으로 분 단위 쿼리를 초 단위로 단축
셀프 서비스 BI비기술 사용자도 드릴다운/롤업으로 자율 분석
일관된 집계 기준메트릭(Metric) 정의 중앙화로 "매출 기준 불일치" 해소
히스토리 분석SCD와 서로게이트 키로 시점별 스냅샷 쿼리 가능

5.2 결론 — 기술사 작성 포인트

기술사 시험에서는 "OLAP 연산 4종 + 서로게이트 키 필요성 + MOLAP/ROLAP/HOLAP 비교"를 묶어서 설명하는 것이 고득점 전략이다. 특히 서로게이트 키가 SCD Type 2를 가능하게 하는 메커니즘을 ASCII 다이어그램과 함께 논술하면 차별화된다.

📢 섹션 요약 비유: OLAP 전체는 회사 경영을 위한 '맞춤 안경'이다 — 서로게이트 키가 안경 프레임(구조), 드릴다운/롤업이 렌즈 조절(초점), MDX가 안경을 쓰고 읽는 책(쿼리)이다.


📌 관련 개념 맵

관계개념설명
OLAP 저장 방식ROLAP / MOLAP / HOLAP관계형·다차원·혼합 저장
OLAP 연산드릴다운·롤업·슬라이스·다이스다차원 탐색 4종 연산
차원 설계서로게이트 키 (Surrogate Key)자연 키 대체, SCD 이력 관리
스키마스타 / 스노우플레이크팩트·차원 테이블 구조
쿼리 언어MDX (Multidimensional Expressions)OLAP 전용 쿼리 언어
대비 개념OLTP (Online Transaction Processing)쓰기 최적화 트랜잭션 처리

👶 어린이를 위한 3줄 비유 설명

  1. OLAP는 마트 매출 장부를 날짜별·지역별·제품별로 뒤집어 볼 수 있는 마법 큐브야 — 어떤 각도로 돌려도 합계가 뚝딱 나온단다.

📈 관련 키워드 및 발전 흐름도

OLTP (행 기반 트랜잭션)
    │
    ▼
OLAP: 다차원 분석 (Cube · Drill-Down · Roll-Up)
    ├─► MOLAP: 사전 집계 큐브 (빠름 · 유연성↓)
    ├─► ROLAP: RDBMS 기반 (유연 · 속도↓)
    └─► HOLAP: 혼합 방식
    │
    ▼
Surrogate Key: 비즈니스 키 대체 인조키 (SCD 연동)
    │
    ▼
클라우드 MPP DW: BigQuery · Snowflake (OLAP 현대화)
  1. 드릴다운은 전국 매출에서 서울, 서울에서 강남, 강남에서 특정 매장으로 점점 깊이 파고드는 거야 — 마치 지도 줌인처럼!
  2. 서로게이트 키는 고객 번호가 바뀌어도 변하지 않는 '도서관 등록 번호'야 — 이름이 바뀌거나 주소가 바뀌어도 도서관 카드 번호는 그대로지.