본문 바로가기
법, 용어/용어

OLTP 와 OLAP

by 3604 2025. 11. 3.
728x90
OLTP 와 OLAP 는 데이터베이스를 “어떤 목적으로 쓰느냐” 에 따라 나눈 두 가지 대표적인 처리 패턴입니다.
“-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. 실무에서의 “공존” 전략

  1. OLTP DB는 온라인 거래만 담당 → 집계 쿼리 금지
  2. CDC(변경 데이터 �apture)실시간 스트림 → Kafka → OLAP store 적재
  3. 보고서·대시보드는 OLAP 에서 조회 → OLTP 부하 차단
  4. 하이브리드 트랜잭션/분석 처리(HTAP) 제품(TiDB, Oracle In-Memory, SQL Server)은
    하나의 엔진 안에 Row-store(OLTP) + Column-store(OLAP) 를 함께 제공해
    단순 통합이 필요한 경우 사용.

요약

  • OLTP : “빠르게 기록한다” — 전표 입력, 주문, 결제
  • OLAP : “크게 봐서 분석한다” — 매출 추이, 고객 세그먼트, AI 피처
같은 데이터라도 “입력용 테이블(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