Dev/Article
OLTP(Online Transaction Processing), OLAP(Online Analytical Processing)
Luigi.yoon
2025. 5. 22. 13:53
OLTP(Online Transaction Processing)와 OLAP(Online Analytical Processing)은 데이터베이스 및 데이터 시스템에서 각각 실시간 트랜잭션 처리와 복잡한 데이터 분석을 담당하는 대표적인 두 가지 아키텍처입니다. 두 시스템은 목적, 구조, 처리 방식, 사용 사례 등에서 뚜렷하게 구분됩니다.
OLTP와 OLAP의 비교
구분 | OLTP (온라인 트랜잭션 처리) | OLAP (온라인 분석 처리) |
주요 목적 | 일상적인 업무의 트랜잭션(입출금, 주문, 수정 등) 실시간 처리 | 대량의 데이터 집계, 분석, 인사이트 도출, 경영 의사결정 지원 |
사용 데이터 | 현재의 상세 데이터(운영 데이터, 실시간 발생) | 과거의 이력 데이터, 집계·요약·다차원 데이터 |
쿼리 특성 | 짧고 단순한 쿼리(INSERT, UPDATE, DELETE, SELECT 등) | 복잡하고 대용량의 집계 쿼리(SELECT, GROUP BY, JOIN 등) |
작업 유형 | 읽기/쓰기 균형, 트랜잭션 중심, 데이터 무결성 필수 | 읽기 위주, 대량 데이터 분석, 집계, 패턴·트렌드 탐색 |
테이블 구조 | 정규화(중복 최소화, 3정규형 등), 데이터 일관성 중시 | 비정규화(스타/스노우플레이크 스키마), 분석 성능 중시 |
성능 요구 | 빠른 응답(밀리초 단위), 높은 동시성, 낮은 지연 | 대용량 처리, 상대적으로 느린 응답(초~분 단위), 복잡한 계산 지원 |
백업/복구 | 빈번한 백업 필요(데이터 변경 많음) | 비교적 드문 백업(주로 읽기, 데이터 변경 적음) |
사용 사례 | ATM, 온라인 쇼핑몰 주문, 항공권 예약, 은행 거래, ERP, CRM 등 | 매출 분석, 고객 행동 분석, 경영 대시보드, 예측 분석, BI 시스템 등 |
OLTP와 OLAP의 상호 보완적 관계
현대 데이터 아키텍처에서는 OLTP와 OLAP가 분리되어 운영됩니다.
- OLTP 시스템은 실시간 업무 데이터의 “단일 소스” 역할을 하고,
- OLAP 시스템은 ETL, 데이터 파이프라인 등을 통해 OLTP 데이터의 스냅샷이나 이력 데이터를 받아 분석합니다279.
이렇게 분리함으로써, 운영 시스템의 성능 저하 없이 대규모 분석이 가능해집니다.
관련된 다른 데이터 개념
1. ETL (Extract, Transform, Load)
- OLTP에서 OLAP로 데이터를 이동할 때 사용하는 데이터 처리 과정입니다.
- 데이터를 추출(Extract), 변환(Transform), 적재(Load)하여 분석에 적합하게 가공합니다
2. 데이터 웨어하우스(Data Warehouse)
- OLAP 시스템의 기반이 되는 대규모 데이터 저장소입니다.
- 여러 OLTP 시스템에서 데이터를 받아 집계, 분석, 보고에 최적화된 구조로 저장합니다
3. 데이터 레이크(Data Lake)
- 구조화/비구조화 데이터를 대량으로 저장하는 저장소로, 최근 OLAP 시스템과 결합되어 사용됩니다
4. 하이브리드/HTAP (Hybrid Transaction/Analytical Processing)
- OLTP와 OLAP 기능을 동시에 지원하는 신기술로, 일부 최신 DBMS(예: SingleStore, SAP HANA 등)는 실시간 트랜잭션과 분석을 동시에 처리할 수 있습니다
5. 스키마 디자인
- OLTP는 정규화(중복 최소화, 데이터 무결성 중시)
- OLAP는 비정규화(빠른 집계, 조회 성능 중시, 스타/스노우플레이크 스키마 등)