본문 바로가기
DATABASE/Databse

[DATABASE] OLTP / OLAP 란 무엇인가?

by DANEW 2024. 10. 28.

DATABASE 관리와 분석

데이터베이스의 관리와 분석에는 크게  Online Transaction Processing (OLTP) / Online Analytical Processing (OLAP) 라고 불리우는 개념으로 나뉜다.

 

OLTP와 OLAP의 개념과 차이점에 대해서 간략하게 정리해보자.

 

OLTP

OLTP : Online Transaction Processing

 

온라인 트랜잭션 처리는 일반적으로 우리가 온라인상에서 사용되는 처리방식이라고 생각하면 편하다.

OLTP의 목적으로는 여러 사용자가 동시에 빠르고 정확한 소량의 데이터를 실시간으로 처리하는 방식이다.

 

주로 회원 로그인, 예약 시스템, 상품 조회 등의 작업이라고 예를 들 수 있다.

 

OLTP 처리방식에는 소량의 데이터를 빠르고 정확하게 찾기 위해 인덱스의 효율적인 구성을 필수 적으로 해야하며,

주로 인덱스를 사용한 NL 조인을 선택한다.

 

또한 데이터의 일관성과 무결성이 중요하다. 예매를 했는데 중복되면 안되지 않겠는가.

데이터 구조적으로 정규화를 신경써서 설계를 해야한다.

 

다시 정리하자면,

1. 다수의 사용자의 조회, 입력, 변경, 삭제의 트랜잭션이 실시간으로 발생

2. 트랜잭션의 데이터 일관성과 무결성이 중요

3. 데이터 중복을 최소화 하기 위한 정규화

4. 인덱스 설계 및 쿼리 튜닝이 중요

반응형

 

 

OLAP 

OLAP : Online Analytical Processing 

 

온라인 분석 처리는 실시간으로 소량의 데이터를 빠르게 조회하는 OLTP와 다르게, 대량의 데이터를 분석하는 용도로 사용되는 처리방식이다.

 

주로 당일의 매출 집계, 한달간의 회원 변화 추이, 고객 로그 분석, 마케팅 데이터 등의 대용량의 데이터를 가지고 작업하는 것을 말한다.

 

OLAP 처리방식은 로그성의 대용량 데이터를 가지고 기업이 필요로하는 분석자료를 만들어 내는 것으로 실시간 데이터 처리가 아닌 배치성 작업이 주를 이룬다.

따라서, 주로 Index Scan 보다는 Table Full Scan을 하거나 NL 조인이 아닌 Hash 조인등의 대용량 작업에 유리한 방식으로 구성된다.

대용량 데이터를 가지고 분석자료를 만들어 조회하기 쉽게 비정규화 테이블로 주로 설계가 된다.

 

다시 정리하자면,

1. 기업의 의사결정을 위한 분석 데이터 배치로 생성

2. 복잡한 SQL문 및 대량 데이터 처리 작업

3. 데이터 조회의 편의를 위해 비정규화

4. 대용량 작업을 위한 테이블 스캔 및 해쉬 조인

 

반응형