[쉽게 설명한] OLTP, OLAP
OLTP, OLAP는
약자가 비슷해 보이지만 사용 용도가 전혀 다른 정보시스템 용어이다.
먼저 OLTP는 온라인 트랜잭션 처리(Online transaction processing)의 약자로
여기서 트랜잭션은 관계형 데이터베이스 때 공부했던 트랜잭션과 같은 말이다.
OLTP의 가장 큰 목적은 간단한 쿼리를 이용해 빠르게
데이터를 처리(INSERT, UPDATE, DELETE)하는 것이다.
온라인 서점을 예로 든다면
새로운 책이 나왔다 → 목록에 책이름, 가격, 수량 추가(INSERT)
기존 베스트셀러 책이 추가 입고되었다 → 책 수량 변경(UPDATE)
책 판매가 중단됐다 → 목록에서 책 정보 삭제(DELETE)
이렇게 OLTP는 데이터베이스를 편리하게 관리(운영)하도록 도와준다.
쇼핑몰 같이 OLTP를 사용하는 데이터베이스의 특징은
데이터의 삽입(INSERT) 및 업데이트(UPDATE)가 빈번하게 일어나서
데이터베이스에 최신 데이터를 유지하는 것뿐만 아니라
데이터 무결성(데이터가 정확하다는 뜻)을 보장한다는 것이다.
(※OLTP 데이터베이스는 정규화된(일반적으로 3NF) 많은 테이블로 이루어져 있다)
OLAP는 온라인 분석 처리(Online Analytical Processing)의 약자이고
말 그대로 데이터를 분석 및 집계한다.
다시 온라인 서점을 예로 든다면
전체 책 재고 수량을 파악하자 → 전체 책 수량 집계(COUNT)
오늘 판매 수익을 파악하자 → 오늘 판매된 책 가격 집계(SUM)
이렇게 OLAP의 목적은 데이터 분석 및 집계를 통해
사용자의 의사결정에 도움을 주는 것으로
데이터 분석, 데이터 마이닝에 주로 사용된다.
쿼리는 상대적으로 OLTP보다 복잡하며
데이터의 양에 따라 다르지만 집계 처리시간이 오래 걸리는 편이다.
(※OLAP는 일반적으로 비정규화 된 테이블로 이루어져 있는 데이터베이스를 사용한다)
OLTP와 OLAP는 결국 데이터 사용 용도에 따라 선택되어진다.
이런 특성을 통해 데이터 웨어하우스(Data Warehouse)에서
OLTP는 데이터소스를 제공하고 OLAP는 그 데이터소스를 분석하는 기능으로 사용된다.
따라서 OLTP와 OLAP 앞으로 데이터 웨어하우스를 공부하기 위해 꼭 필요하다!