OLTP(Online Transactional Processing)은 온라인 뱅킹, 쇼핑, 주문입력 또는 텍스트 메세지 전송등 동시에 발생하는 다수의 트랜잭션 처리 유형입니다. OLTP는 쿼리를 실행하고, 데이터 무결성을 유지하는 것이 목표입니다.
OLTP는 5가지의 특징이 있습니다.
OLTP의 대표적인 예시로는 계좌의 입출금이 있습니다.
A와 B가 1만원의 금전거래가 있을때,
이때 A의 계좌에서 잔액이 줄어들지 않거나, B의 계좌 잔액이 증가되지 않으면 해당 작업은 즉시 정지되며 초기 상태로 돌아갑니다.
여기 까지 읽으면 DBMS 아닌가? 라는 생각이 들 수 있습니다.
크게 보면 Database라는 큰 집합에 OLTP와 OLAP라는 부분집합이 있는 형태 입니다.

일반적으로 데이터베이스라고 부르는 것은 대부분 OLTP형 데이터베이스 입니다.
저장시 일반적인 RDMBS와 같이 배열, 큐, 스택, 트리, 그래프등의 자료구조를 사용하여 저장합니다.
또한 빠른 조회를 위해 B+tree와 같은 인덱스를 사용하고 있습니다.
OLAP(Online Analytical Processing) 데이터 웨어하우스와 연관되어 데이터를 분석하고 인사이트를 얻고, 복잡한 모델링을 가능하게하는 분석 방법론입니다.
DDS(Decision Support System, 의사 결정 지원 시스템)의 대표적인 예시로, 다차원 데이터 분석을 할 수 있도록 도와줍니다.

OLTP의 경우 각 테이블은 join으로 연산하여 select 쿼리를 입력해야 했습니다.
이는 테이블이 많아질 수록 많은 리소스를 필요로 하였습니다. 또한 OLTP는 작은 단위의 트랜잭션을 수행하며 빠른 계산을 해야하는데 큰 단위의 분석, 질의가 실행되면 분석 및 질의 속도가 저하 되기 때문에 전용 데이터베이스가 필요하게 되었습니다.
OLAP 시스템은 OLTP에서 ETL과정을 거쳐 data warehouse에 저장되면 시작됩니다.

데이터 분석시 OLTP작업에 영향을 주자 않고 마음껏 분석할 수 있는 개별 데이터베이스 입니다.
사내의 모든 OLTP 시스템에 있은 데이터를 airflow pipe와 같이 가공하여 읽기 전용으로 복사하여 사용합니다.
데이터 분석가가가 드릴 다운, 슬라이싱, 다이싱과 같은 작업을 통해 데이터를 탐색할 수 있게 해주는 여러 그래픽 분석 도구가 있습니다.
* 드릴 다운 : 요약된 정보에서 상세 정보까지 계층을 나눠 구체적으로 분석
* 슬라이싱 / 다이싱 : 상세한 분석을 위해 주어진 큰 규모의 데이터를 작은 단위로 나누고 원하는 세부 분석 결과를 얻을 때까지 반복
Teradata, Vertica, SAP HANA, ParAccel 같은 데이터 웨어하우스 벤더는 고가의 상용 라이선스로 시스템을 판매하였습니다. 최근 들이 다수의 오픈소스 SQL-on-Hadoop 프로젝트가 나타났습니다. Apache Hive, Spark SQL, Cloudera Impala, Facebook Presto, Apache Tajo, duckdb 등이 해당됩니다.

mysql에 저장된 데이터를 duckdb로 이식한 직후 입니다.
설치후 사용 초기라 그런지(데이터가 많이 없어서 그런지) 느낌상으로도 뭔가 빠르다는걸 체감할 수 있었습니다.
데이터베이스 분류 - OLTP, OLAP
OLTP와 OLAP, 그리고 Data Warehouse
[DB공통] OLTP vs OLAP 개념, 용도, 차이점 등
RDMBS vs NoSQL
[DB] OLTP란? OLAP란? DSS란? OLTP와 OLAP의 차이
OLTP와 OLAP(DW/BI) 비교하기
OLTP란 무엇인가?
OLAP
Data Mart, Data Warehouse, Data Lake