[DB] OLTP란? OLAP란? DSS란? OLTP와 OLAP의 차이

OLTP(Online Transaction Processing)란?

 

OLTP란 트랜잭션 지향 애플리케이션을 손쉽게 관리할 수 있도록 도와주는 정보 시스템의 한 계열로서, 일반적으로 데이터 기입 및 트랜잭션 처리를 위해 존재한다. -위키백과-

 

OLTP는 동시에 발생하는 다수의 트랜잭션을 실행하는 데이터 처리 유형이다. OLTP는 쿼리를 실행하고, 데이터 무결성을 유지하는 것을 목표로 한다.  

 

예를 들어 은행의 ATM 기계는 OLTP 과정을 거친다. ATM 기계로 돈을 통장에 입금한다고 하자. 가장 먼저 카드를 삽입하면 ATM이 카드 정보를 인식한다. 카드를 인식했으면 돈을 기계에 넣는다. ATM은 돈을 세면서 잘못된 돈은 없는지 확인한다. 확인이 끝나면 돈을 보관하고 통장에 돈을 입금한다.

 

이러한 과정 중 하나라도 오류가 발생하면 모든 과정을 취소(rollback)하고 처음으로 돌아가게 된다.

 

이처럼 OLTP는 데이터 무결성을 유지하기 위한 과정이다. 이러한 OLTP는 다음과 같은 특징을 갖는다.

 

1. 작은 양의 데이터를 포함한 트랜잭션을 사용한다.

2. 많은 사용자를 가질 수 있다.

3. 빠른 응답 시간을 갖는다.

4. 미리 정의된 연산만 실행한다.

5. ACID를 준수한다.

 

참고 )

 

[DB] 트랜잭션(Transaction)이란? | ACID

트랜잭션(Transaction)이란? 트랜잭션은 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 수행되어야할 일련의 연산들을 의미한다. 트랜잭션은

code-lab1.tistory.com

 

 

 

DSS(Decision Support System)란?

 

OLAP에 대해 이해하기 위해서는 먼저 DSS에 대해 알아야 한다. DSS(Decision Support System)란 말 그대로 의사 결정 지원 시스템으로, 사용자가 의사를 결정하는 것을 도와주는 시스템이다. 보통 DSS는 많은 데이터를 보유하고 있으며 DSS의 동작 중에 데이터의 수정이 일어나서는 안된다. 즉, 데이터를 변형하거나 삭제해서는 안된다는 뜻이다.

 

 

OLAP(Online Analytical Processing)란?

OLAP는 의사 결정 지원 시스템(Decision Support System, 이하 DSS) 가운데 대표적인 예로, 사용자가 동일한 데이터를 여러 기준을 이용하는 다양한 방식으로 바라보면서 다차원 데이터 분석을 할 수 있도록 도와준다.

 

OLAP는 DSS의 대표적인 예 중 하나이다. 즉, 사용자가 의사 결정을 내리는 것을 도와주는 시스템이라고 할 수 있다. OLAP는 DW(Data Warehouse : 데이터 창고)에 저장된 데이터를 분석하여 사용자에게 유의미한 정보를 제공한다. 이러한 OLAP은 다음과 같은 특징을 가진다.  

 

 

1. 다차원 정보 제공

다차원 정보
[그림 1] 다차원 정보

-> OLAP은 사용자에게 다차원 정보를 제공한다. 여기서 다차원 정보란 말 그대로 다양한 차원의 정보를 뜻한다. 예를 들어 [그림 1]을 보면 상품 정보가 상품명, 도시, 날짜로 3차원 정보를 제공하는 것을 확인할 수 있다. 

 

 

2. 중간 매개자 없이 사용자가 직접 데이터 접근

-> OLAP은 중간 매개자 없이 사용자가 데이터에 직접 접근한다. 

 

3. 대화형태 정보 분석

-> OLAP은 대화 형태로 정보가 분석된다. 사용자가 명령을 대화식으로 작성하기 때문에 사용자가 질의했을 때 신속하게 처리해야 한다. 

 

 

 

OLAP과 OLTP의 차이

  OLTP OLAP
작업 다수의 사용자가 대량의 트랜잭셕을 실시간으로 실행할 수 있도록 지원 일반적으로 분석을 목적으로 데이터베이스 내 다수의 레코드에 대한 질의 작업을 포함한다.
응답속도 빛의 속도에 가까운 빠른 응답시간 필요 OLTP 대비 엄청나게 느린 응답시간 필요
작업 유형 적은 양의 데이터를 자주 수정하고, 일반적으로 읽기 및 쓰기 작업 간 균형이 유지됨 데이터를 전혀 수정하지 않고 일반적으로 읽기 집약적인 작업
인덱스 인덱스화된 데이터를 사용해 응답 시간 개선 대량의 레코드에 손쉽게 접근할 수 있도록 컬럼형식으로 데이터 저장
백업 데이터베이스에 대한 빈번한 백업 필요 적은 빈도의 데이터베이스 백업 필요
저장공간 상대적으로 적은 저장공간 필요 대량의 기록 데이터를 저장하므로 일반적으로 상당한 양의 저장공간 필요
쿼리 일반적으로 하나 또는 몇 개의 레코드를 포함하는 단순한 쿼리 실행 다수의 레코드를 포함하는 복잡한 쿼리 실행
목적 비즈니스 활동 지원 비즈니스 활동에 대한 평가 및 분석

 

반응형

댓글

Designed by JB FACTORY