금전출납기랑 회계사
식당에 데이터 직무가 두 개 있는데 안 닮아 보여. 금전출납기는 하루 종일 개별 주문 처리 — 빠르고 작고 빈번. 이게 OLTP (Online Transaction Processing). 회계사는 뒷방에 앉아서 지난달 영수증 분석해서 트렌드 찾기 — 느리고 크고 드물게. 이게 OLAP (Online Analytical Processing).
다른 모양, 다른 최적화
| OLTP | OLAP |
|---|---|
| 동시 유저 많음 | analyst 적음 |
| 짧은 쿼리 (ms) | 긴 쿼리 (초~분) |
| read + write 섞임 | 거의 read |
| 현재 데이터 | 과거 데이터 |
| row 지향 storage | column 지향 storage |
| 예: 주문 넣기 | 예: 분기별 지역별 매출 |
Postgres 가 사는 곳
Postgres 는 OLTP 우선이고 거기 우수해. 중간 OLAP 도 처리 — 수백만 ~ 저-억 row — window function, materialised view, parallel query, JIT 으로. 진짜 웨어하우스 스케일 분석 (수십억 row 스캔) 은 Postgres 데이터를 columnar 엔진 (ClickHouse, Snowflake, BigQuery) 으로 복제하거나, Postgres 안에서 Citus extension 으로 column store + 샤딩.