OLTP & OLAP
in Database
본 게시글은 SW마에스트로 멘토링에서 나온 키워드를 학습한 내용을 다룬 게시글입니다.
OLTP(Online Transcation Processing)
- 온라인 트랜잭션 처리의 약자
- 트랜잭션 : 관계형 데이터베이스의 트랜잭션과 동일한 의미
- 가장 큰 목적은 간단한 쿼리를 이용해 빠르게 데이터를 처리(INSERT, UPDATE, DELETE)하는 것
- 데이터베이스를 편리하기 관리(운영) 하도록 도와줌
예시 : 온라인 서점
- 새로운 도서 출간 -> 테이블에 도서명, 가격, 수량 추가(INSERT)
- 기존 도서 추가 입고 -> 테이블에서 도서 수량 변경(UPDATE)
- 도서 판매 중단 -> 테이블에서 도서 정보 삭제(DELETE)
OLTP 데이터베이스의 특징
- 데이터의 삽입(INSERT) 및 업데이트(UPDATE)가 빈번하게 일어나서 데이터베이스에 최신 데이터를 유지하는 것
- 데이터 무결성(데이터가 정확하다는 의미)을 보장
- OLTP 데이터베이스는 정규화된(일반적으로는 3NF) 많은 테이블로 이루어져 있음
- 데이터 분석 및 집계를 통해 사용자의 의사결정에 도움을 주는 것이 목적
OLAP(Online Analytical Processing)
- 온라인 분석 처리의 약자
- 말 그대로 데이터를 분석 및 집계함
예시 : 온라인 서점
- 전체 책 재고 수량 파악 -> 전체 책 수량 집계(COUNT)
- 금일 판매 수익 파악 -> 금일 판매된 책 가격 집계(SUM)
OLAP 데이터베이스의 특징
- 데이터 분석, 데이터 마이닝에 주로 사용됨
- 상대적으로 OLTP보다 복잡한 쿼리
- 데이터의 양에 따라 다르지만 집계 처리시간이 오래 걸리는 편
- 일반적으로 비정규화된 테이블로 이루어져 있는 데이터베이스를 사용
결론
OLTP와 OLAP는 결국 데이터 사용 용도에 따라 선택되어진다. 이런 특성을 통해 데이터 웨어하우스(Data Warehouse)에서 OLTP는 데이터소스를 제공하고 OLAP는 그 데이터소스를 분석하는 기능으로 사용된다고 한다. 따라서 OLTP와 OLAP는 앞으로 데이터 웨어하우스를 공부하기 위해 필요할 것으로 판단된다.