공부-Data Engineer/데이터베이스

[쉽게 설명한] OLTP, OLAP

ChanKim0718 2020. 6. 9. 23:44
반응형

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 앞으로 데이터 웨어하우스를 공부하기 위해 꼭 필요하다!

반응형