IT 삽질기

OLTP과 OLAP 본문

개발

OLTP과 OLAP

화이팅빌런 2021. 8. 8. 19:50

이번 글에서는 OLTP(Online transaction processing)와 OLAP(Online Analytical Processing)에 대해서 알아보도록 하자.

OLTP(Online transaction processing)

OLTP는 온라인 트랜잭션(Transaction) 처리로 다수의 사용자가 DB에 대한 일괄 트랜잭션 처리를 의미한다.

여기서 이야기하는 트랜잭션은 일반적으로 이야기하는 것으로 정의는 아래와 같다.

Transaction
DBMS 또는 유사한 시스템에서 상호작용의 단위로
트랜잭션이 성공과 실패가 분명하고 상호 독립적이며, 일관되고 믿을 수 있는 시스템을 의미
원자성, 일관성, 독립성, 영구성 ACID를 보장

출처
https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98

예를 들어

금융시스템에서 이체가 일어난다고 가정해보자.

A의 계좌에서 B의 계좌로 10,000원을 이체한다고 가정할 때 아래와 같은 일이 일어난다.

  1. A의 통장에서 10,000이 감소
  2. B의 통장에 10,000 증가

이 두 개의 과정이 일어나는 중 하나라도 문제가 생기면 앞서 처리된 과정이 취소되고 처음부터 다시 처리해야 하는데, 이러한 작업을 하나로 트랜잭션 단위로 작업을 처리한다고 한다.

 

OLTP는 이렇게 작업 요청을 실시간으로 오류 없이 처리하고 INSERT, UPDATE, DELETE, SELECT에 대한 내용을 처리하는 과정을 말한다.

OLAP(Online Analytical Processing)

다음으로 OLAP에 대해서 살펴보자.

OLAP는 온라인 분석 처리로 OLTP의 경우 데이터를 저장하고 처리하는데 중점을 두어 이야기를 했다면, OLAP는 저장된 데이터를 이용하여 분석하는데 주의미를 둔다.

OLAP는 DB에 저장되어 있는 데이터를 분석하고, 데이터 분석을 통해 사용자에게 유의미한 정보를 제공해주는 처리방법

OLTP와 OLAP의 차이점

OLTP와 OLAP의 차이를 표로 알아보자.

구분 OLTP OALP
목적 비즈니스 활동 지원 데이터 평가 및 분석
주 트랜잭션 형태 SELECT, INSERT, UPDATE, DELETE SELECT
속도 수초 이내 수초 이상 수분 이내
데이터 표현 시간 실시간 과거
관리 단위 테이블 분석된 정보

 

참고자료

https://too612.tistory.com/511

https://jins-dev.tistory.com/entry/%EA%B0%84%EB%9E%B5%ED%95%98%EA%B2%8C-%EC%A0%95%EB%A6%AC%ED%95%B4%EB%B3%B4%EB%8A%94-OLTP-OLAP-%EC%9D%98-%EA%B0%9C%EB%85%90

'개발' 카테고리의 다른 글

GC(Garbage Collection)란?  (0) 2021.08.31
정규표현식(Regex)이란?  (0) 2021.08.10
LDAP(Lightweight Directory Access Protocol)이란?  (0) 2021.08.01
CentOS 7 serviced 등록 및 실행  (0) 2021.05.17
WAL(Write-ahead logging)란 ?  (0) 2021.05.14
Comments