OLTP(Online Transaction Processing)
- 운영에서 데이터 및 데이터를 처리하는 방법을 의미한다.
- 복수의 사용자에게서 발생하는 transaction을 DB 서버가 처리, 그 결과를 요청한 사용자에게 돌려주는 과정
- 1개 트랜잭션의 원자성, 무결성을 보장하여 처리하고 결과를 가져올 수 있게 하는 과정
특징
- RDB 기준으로 생각됐으나 NoSQL도 운영계 데이터 성격을 띤다면 OLTP로 분류 가능
- 데이터 처리가 얼마나 정확하고 무결한지가 중요
- 실질적인 데이터의 저장, 삭제, 수정 등의 작업을 의미
- 비교적 작은 규모의 트랜잭션들로 구성
- CRUD 같은 쿼리가 주를 이룸
- 전통 DBMS에서 사용됨
- 데이터 간 구조를 잘 정리하려고 노력
OLAP( Online Analytical Processing )
- 분석계 데이터 및 데이터를 처리하는 방법
- DW, DB에 저장되어 있는 데이터를 분석하여 사용자에게 유의미한 정보를 제공하는 처리 방법
- 기존에 저장되어 있는 데이터를 사용자 요구와 목적에 맞게 분석하여 정보를 제공하는 개념
특징
- 분석을 통해 BI(Business Intelligence)와 연계하여 특정 지표 추출, 리포트 생산, 의사 결정에 도움
- 이미 저장된 데이터를 바탕으로 어떤 정보를 제공하는지가 중요
- 데이터가 무결, 정확하다는 전재 하에 정보를 어떤 식으로 표현하고 제공하는지를 의미
- 대용량 데이터를 취급
- 통계/집계 등의 복잡한 쿼리들이 주를 이룸
- DW를 구축
- 데이터가 어느 정도 중복되더라도 별 상관이 없으며 많은 데이터 수집 필요
유사점
대용량의 데이터를 저장하고 처리하기 위한 데이터베이스 관리 시스템이다. 원활하기 운영하려면 안정적인 인프라가 필요하다. 둘 다 기존 데이터를 쿼리하거나 새 데이터를 저장하는 데 사용할 수 있다. 조직의 데이터 기반 의사 결정을 지원한다.
차이점
- OLAP는 집계된 데이터를 분석하는 것이고 OLTP는 데이터베이스 트랜잭션 처리하는 것이다.
- OLAP는 보고서를 생성하고, 복잡한 데이터 분석을 수행하며, 추세를 식별하는데 사용된다. OLTP는 주문을 처리하고 재고를 업데이트하며, 고객 계정을 관리하는 데 사용된다.
데이터 형식 지정
OLAP에는 다차원 데이터 모델이 사용되므로 동일한 데이터를 다양한 각도에서 볼 수 있다. OLTP는 일차원적이고 한 가지 데이터 측면에 중점을 둔다. RDB를 사용해서 데이터를 테이블로 구성한다.
데이터 아키텍처
OLAP는 쓰기보다는 읽기에 우선 순위를 둔다. 대용량 데이터를 기반으로 복잡한 쿼리를 빠르고 효율적으로 수행할 수 있다. 반면 OLTP는 데이터 쓰기에 우선 순위를 둔다. 쓰기 작업이 많은 워크로드에 최적화되어 있으며, 데이터 무결성을 손상시키지 않으면 대용량 트랜잭션 데이터를 잦은 빈도로 업데이트할 수 있다.
| 구분 | OLTP | OLAP |
|---|---|---|
| 목적 | 비즈니스 활동 지원 OLTP는 실시간 트랜잭션을 관리하고 처리하는 데 도움이 됩니다. |
비즈니스 활동에 대한 평가, 분석 OLAP는 대량의 데이터를 분석하여 의사 결정을 지원하는 데 도움이 됩니다. |
| 주 트랜잭션 형태 | INSERT, UPDATE, DELETE, SELECT | SELECT |
| 속도 | 수 초 이내 | 수 초 이상 수 분 이내 |
| 데이터 표현 시간 | 실시간 | 과거 |
| 관리 단위 | 테이블 | 분석된 정보 |
| 최적화 방법 | 트랜잭션 효율화, 무결성 극대화 | 조회 속도, 정보의 가치, 편의성 |
| 데이터의 특성 | 트랜잭션 중심 | 정보 중심 |
| 중요점 | 데이터 정확도, 무결성 | 결과의 속도, 표현 방식 |
| 활용자 | 운영자 | 분석가, 의사결정자 |
| 예시 | 회원정보 수정 | 1년 간의 주요 인기 트렌드 |
| 데이터 소스 | OLTP는 단일 소스의 실시간 및 트랜잭션 데이터를 사용합니다. | OLAP는 여러 소스의 기록 및 집계 데이터를 사용합니다. |
| 데이터 구조 | OLTP는 관계형 데이터베이스를 사용합니다. | OLAP는 다차원(큐브) 또는 관계형 데이터베이스를 사용합니다. |
| 데이터 모델 | OLTP는 정규화되거나 비정규화된 모델을 사용합니다. | OLAP는 별 스키마, 눈송이 스키마 또는 기타 분석 모델을 사용합니다. |
| 데이터 볼륨 | OLTP는 스토리지 요구 사항이 비교적 작습니다. 기가바이트(GB) 규모라고 생각하면 됩니다. | OLAP에는 대용량 스토리지가 필요합니다. 테라바이트(TB)와 페타바이트(PB) 규모라고 생각할 수 있습니다. |
| 응답 시간 | OLTP는 응답 시간이 짧으며 일반적으로 밀리초 단위입니다. | OLAP의 응답 시간은 일반적으로 초 또는 분 단위로 더 깁니다. |
| 예제 애플리케이션 | OLTP는 결제 처리, 고객 데이터 관리 및 주문 처리에 적합합니다. | OLAP는 추세를 분석하고, 고객 행동을 예측하며, 수익성을 식별하는 데 유용합니다. |