쉬운 설명
회사 시스템에는 두 종류의 작업이 섞여 있습니다. ① 결제·주문·로그인처럼 짧고 자주 발생하는 트랜잭션 작업(OLTP), ② '지난달 지역별·상품별 매출 추이는?'처럼 큰 데이터를 훑어 집계하는 분석 작업. 둘은 성격이 너무 달라서 같은 DB에서 잘하기 어렵습니다.
OLAP은 분석 작업에 맞춰 데이터 구조와 저장 방식을 바꿉니다. 가장 큰 차이는 '컬럼 기반 저장'입니다. 한 행을 통째로 저장하는 OLTP와 달리, 같은 컬럼 값끼리 모아 저장해 'sum(매출)' 같은 집계가 수십~수백 배 빨라집니다. 또 데이터를 다차원 큐브(시간 × 지역 × 상품) 형태로 미리 정리해 두는 경우도 많습니다.
쿼리 패턴도 다릅니다. OLTP는 '한 사용자의 한 주문' 같은 좁고 빠른 쿼리. OLAP은 '수억 행을 훑어 집계' 같은 넓고 무거운 쿼리. 그래서 OLAP은 응답이 수초~수분이어도 받아들여지고, 동시에 같은 쿼리가 폭주하지는 않습니다. 대신 한 번에 처리하는 데이터 양이 큽니다.
현대 클라우드 OLAP의 대표 주자는 BigQuery·Snowflake·Redshift·Databricks·ClickHouse입니다. 모두 컬럼 기반 + 분산 처리를 기본으로 두고, 사용자는 익숙한 SQL로 쿼리를 적습니다. 가격은 보통 '훑은 데이터 양' 또는 '컴퓨팅 시간'에 따라 매겨집니다.
실무에선 보통 두 시스템을 분리합니다. OLTP는 운영 DB(MySQL·Postgres)에서, OLAP은 별도 분석 웨어하우스에서 처리하고, 둘 사이를 ETL/ELT가 잇습니다. 한 시스템에 두 일을 다 시키면 서로 방해가 되어 결국 둘 다 느려집니다.

비유로 보면
OLTP가 마트 계산대 — 손님의 한 번 결제를 빠르고 정확히 처리 — 라면, OLAP은 본사 매출 회의실 — 모든 매장의 한 달 매출을 다각도로 분석 — 에 가깝습니다. 같은 회사지만 일하는 방식과 도구가 다릅니다. 계산대를 회의실로 쓸 수 없고, 회의실에서 계산대를 돌릴 수도 없습니다.
어디에서 만나나
기업 BI 대시보드(Tableau·Looker·메타베이스·Superset), 머신러닝 학습용 데이터셋 준비, 마케팅 분석, 재무 보고서, A/B 테스트 결과 평가. 데이터가 모인 거의 모든 큰 회사가 OLAP 환경을 따로 갖추고 있습니다.
작은 예시
기업 대시보드에서 '국가 × 상품 카테고리 × 월별 매출' 같은 3차원 큐브를 즉시 돌려 보는 화면이 가능한 이유는, 뒤에 BigQuery 같은 OLAP 엔진이 깔려 있어 큰 데이터를 컬럼 기반으로 빠르게 집계해 주기 때문입니다.
자주 하는 오해
한 줄 정리
OLAP의 비결은 '운영 시스템과 분석 시스템을 분리'하는 데서 시작합니다. 같이 두면 둘 다 망가지고, 분리하면 둘 다 살아납니다.
