728x90
OLTP 와 OLAP 는 데이터베이스를 “어떤 목적으로 쓰느냐” 에 따라 나눈 두 가지 대표적인 처리 패턴입니다.
“-TP”는 Transaction Processing, “-AP”는 Analytical Processing 의 약자입니다.
“-TP”는 Transaction Processing, “-AP”는 Analytical Processing 의 약자입니다.
1. OLTP (On-Line Transaction Processing)
-
목적 : 거래(=Transaction) 를 빠르고 정확하게 등록·갱신·삭제
-
특징
– 질의가 단순(SELECT·INSERT·UPDATE·DELETE 한 두 건)
– 동시 사용자 수 많음(수천~수만 세션) → 초당 수백~수천 TPS
– 응답속도가 생명(几十 ms)
– 정규화(3~5NF) 되어 있어 데이터 중복 최소
– PK·인덱스로 랜덤 액세스 최적화 -
예시
계좌이체, 주문입력, 게임 아이템 구매, 좌석 예약 -
대표 제품
Oracle, MySQL, PostgreSQL, Tibero, SQL Server (OLTP 모드)
2. OLAP (On-Line Analytical Processing)
-
목적 : 분석·보고·의사결정 지원 → “어떻게 팔았나, 왜 늘었나”
-
특징
– 질의가 복잡(집계·JOIN·윈도우 함수) → “이번 달 서울 지역 카테고리별 매출 합계”
– 대량 데이터를 스캔·집계(수백만~수십억 건)
– 동시 사용자는 상대적으로 적음(수십~수백 명)
– 응답속도 수 초~수십 초 허용(보고서·대시보드용)
– 비정규화(Denormalized, Star/Snowflake 스키마) → 조인 줄임
– 컬럼 기반 인덱스, 물리적 집계 테이블(Materialized View), 컬럼 스토어 사용 -
예시
– “연도별·지역별·상품별 매출 추이”
– “신용 위험 집계 리포트” -
대표 제품/기술
– MPP DW : Greenplum, Vertica, Teradata, Snowflake, BigQuery, Redshift
– 오픈소스 OLAP 엔진 : Apache Druid, ClickHouse, Apache Pinot
– RDBMS 의 컬럼 스토어 : Oracle In-Memory, SQL Server Columnstore, TiFlash
3. 비교표 한눈에
| 구분 | OLTP | OLAP |
| 주요 연산 | 단건 CRUD | 대량 Scan·집계 |
| 데이터 크기 | GB ~ 수십 GB | 수백 GB ~ PB |
| 응답시간 | 수 밀리초 | 수 초 ~ 분 |
| 동시성 | 높음(1000~10000) | 중간~낮음(10~100) |
| 설계 | 3정규형 | Star/Snowflake, 비정규화 |
| 인덱스 | B-Tree (랜덤 액세스) | 컬럼 스토어, Bitmap, Projection |
| 트랜잭션 | ACID 필수 | Batch 갱신, eventual ACID |
| 사용자 | 업무 담당자, 고객 | 분석가, 경영진, 데이터 과학자 |
4. 실무에서의 “공존” 전략
-
OLTP DB는 온라인 거래만 담당 → 집계 쿼리 금지
-
CDC(변경 데이터 �apture) 로 실시간 스트림 → Kafka → OLAP store 적재
-
보고서·대시보드는 OLAP 에서 조회 → OLTP 부하 차단
-
하이브리드 트랜잭션/분석 처리(HTAP) 제품(TiDB, Oracle In-Memory, SQL Server)은
하나의 엔진 안에 Row-store(OLTP) + Column-store(OLAP) 를 함께 제공해
단순 통합이 필요한 경우 사용.
요약
-
OLTP : “빠르게 기록한다” — 전표 입력, 주문, 결제
-
OLAP : “크게 봐서 분석한다” — 매출 추이, 고객 세그먼트, AI 피처
같은 데이터라도 “입력용 테이블(OLTP)” 와 “읽기용 테이블(OLAP)” 를 분리해
“쓰기는 OLTP, 읽기(집계)는 OLAP” 로 역할을 나누는 게 성능·안정성·확장성 모두에 유리합니다.
“쓰기는 OLTP, 읽기(집계)는 OLAP” 로 역할을 나누는 게 성능·안정성·확장성 모두에 유리합니다.
728x90
'법, 용어 > 용어' 카테고리의 다른 글
| PASSIVE STANDBY 차이 (0) | 2025.11.03 |
|---|---|
| 세션 스토리지 (0) | 2025.11.03 |
| ORM (0) | 2025.10.23 |
| JPA (0) | 2025.10.23 |
| DW ETT ETL ELT (0) | 2025.10.22 |