티스토리에 저장했던 글을 옮겼습니다.
https://mrcocoball.tistory.com/29?category=1080971
1. OLTP (Online Transaction Processing)
(1) OLTP의 정의
- '운영'계 데이터 및 데이터를 처리하는 방법을 의미
- 복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을
DB 서버가 처리, 그 결과를 요청한 사용자에게 결과값을 되돌려주는 과정
- 1개의 트랜잭션에서 발생되는
INSERT
, UPDATE
, DELETE
를
무결성 보장하여 처리, 결과를 SELECT
하는 과정
(2) OLTP의 특징
- 과거에는 주로
RDBMS
기반의 시스템을 근간으로 했으나
NoSQL
도 운영계 데이터의 성격을 띤다면 OLTP로 분류 가능
- 현재 데이터가 처리가 얼마나 정확하고 무결한지가 중요
- 실질적인 데이터의 저장, 삭제, 수정 등의 작업을 의미
- 비교적 작은 규모의 트랜잭션들로 구성
CRUD
와 관련된 쿼리들이 주를 이룸
- 전통적인 DBMS들이 주로 사용됨
- 데이터 간의 구조를 잘 정리하려고 노력
2. OLAP (Online Analytical Processing)
(1) OLAP의 정의
- '분석'계 데이터 및 데이터를 처리하는 방법을 의미
- 데이터 웨어하우스 (DW), DB에 저장되어 있는 데이터를 분석,
사용자에게 유의미한 정보를 제공해주는 처리 방법
- 기존에 저장되어 있는 데이터를 사용자의 요구와 목적에 맞게 분석하여 정보를 제공하는 개념
(2) OLAP의 특징
- 분석을 통해
BI(Business Intelligence)
와 연계하여 특정 지표 추출, 리포트 생산, 의사 결정에 도움
- 이미 저장된 데이터를 바탕으로 어떤 정보를 제공하는지가 중요
- 데이터가 무결, 정확하다는 전재 하에 정보를 어떤 식으로 표현하고 제공하는지를 의미
- 대용량 데이터를 취급
- 통계/집계 등의 복잡한 쿼리들이 주를 이룸
- DW (Data Warehouse)를 구축
- 데이터가 어느 정도 중복이 되더라도 별 상관이 없으며 많은 데이터 수집이 필요
3. OLTP와 OLAP
(1) 직접적인 비교
구분 | OLTP | OLAP |
---|
목적 | 비즈니스 활동 지원 | 비즈니스 활동에 대한 평가, 분석 |
주 트랜잭션 형태 | INSERT, UPDATE, DELETE, SELECT | SELECT |
속도 | 수 초 이내 | 수 초 이상 수 분 이내 |
데이터 표현 시간 | 실시간 | 과거 |
관리 단위 | 테이블 | 분석된 정보 |
최적화 방법 | 트랜잭션 효율화, 무결성 극대화 | 조회 속도, 정보의 가치, 편의성 |
데이터의 특성 | 트랜잭션 중심 | 정보 중심 |
중요점 | 데이터 정확도, 무결성 | 결과의 속도, 표현 방식 |
활용자 | 운영자 | 분석가, 의사결정자 |
예시 | 회원정보 수정 | 1년 간의 주요 인기 트렌드 |
상품 주문 | 한 달 간의 항목별 수입, 지출 | |
댓글 남기기 및 수정 | 10년 간 A 회사의 직급별 임금 상승률 | |
(2) 상호 보완적 관계
- OLTP와 OLAP를 두고 봤을 때 가장 선행되어야 할 부분은 OLTP (데이터 처리 과정 및 데이터 자체의 무결성 중요)
- OLTP가 원천 데이터의 제공처이며 ETL 작업을 통해 OLAP에 데이터를 제공
레퍼런스
https://too612.tistory.com/511
https://mozi.tistory.com/80
https://mozi.tistory.com/80
https://luran.me/355