← AI 용어집

AI 용어집 · 기초 · 데이터 엔지니어링

OLAP 온라인 분석 처리

OLAP(온라인 분석 처리)는 쌓인 데이터를 기간·지역·상품 같은 여러 기준으로 묶고 합쳐서 빠르게 분석하는 데이터 처리 방식이다. 하나하나의 거래를 기록하는 것이 아니라 '지난 분기 지역별 매출은?' 같은 집계 질문에 답하는 데 맞춰져 있다.

쉽게 말하면 가게 계산대가 영수증을 한 장씩 찍어 내는 일이라면, OLAP는 월말에 영수증 묶음을 펼쳐 놓고 '어느 요일·어느 상품이 잘 팔렸나'를 표로 정리하는 일이다. 다만 실제 OLAP는 수십억 줄도 사람이 기다릴 만한 시간 안에 정리해 낸다는 점이 다르다.

어떻게 작동하나

OLAP는 데이터를 '측정값'과 '기준'으로 나눠 본다. 측정값은 매출·주문 수처럼 더하거나 평균 낼 숫자이고, 기준(차원)은 날짜·지역·상품처럼 묶는 기준이다. 사용자는 연도에서 월로 내려가 보거나(드릴다운) 특정 지역만 잘라 보는 식으로 같은 데이터를 여러 각도에서 본다. 이런 질문을 빠르게 처리하려고 OLAP 시스템은 미리 집계해 두거나 컬럼형 저장처럼 분석에 유리한 저장 방식을 쓴다.

왜 중요한가

회사의 대시보드, 월간 보고서, 매출 분석은 대부분 OLAP 방식의 질문이다. 거래를 처리하는 운영 데이터베이스(OLTP)에 이런 무거운 집계를 그대로 던지면 서비스가 느려질 수 있어서, 분석용 시스템을 따로 둔다. 데이터 웨어하우스나 데이터 레이크하우스가 바로 이런 분석 작업을 맡는 곳이다. 최근에는 LLM이 사람 대신 SQL을 써서 OLAP 시스템에 질문하는 Text-to-SQL 사례도 늘고 있다.

OLTP와 OLAP

OLTP거래 처리

  • 주문·결제 한 건씩 기록
  • 자주 쓰고 고침
  • 서비스 운영 데이터베이스

OLAP분석 처리

  • 많은 행을 묶어 집계
  • 주로 읽기
  • 대시보드·보고서용

공통 둘 다 데이터베이스 기술이지만 질문의 모양이 다르다

같은 데이터를 다루지만 하는 일이 다르다. 왼쪽은 거래를 기록하고, 오른쪽은 쌓인 기록을 분석한다.

알아 둘 점

OLAP는 '읽고 집계하기'에 강한 대신, 한 건씩 자주 고치는 작업에는 맞지 않는다. 그래서 운영 데이터는 ETL·ELT나 CDC 같은 방법으로 분석 시스템에 옮겨 와야 하고, 그 과정에서 몇 분~몇 시간의 지연이 생길 수 있다. 예전에는 미리 정한 '큐브'라는 집계 구조를 만들어 두는 방식이 많았지만, 요즘은 컬럼형 데이터베이스가 원본에 가까운 데이터를 바로 집계하는 방식이 흔하다. 같은 '매출'이라도 팀마다 계산법이 다를 수 있어 시맨틱 레이어로 정의를 맞추기도 한다.

예시

쇼핑몰 운영팀이 BI 대시보드에서 '최근 3개월 카테고리별·지역별 주문 수'를 확인할 때, 대시보드 뒤에서는 데이터 웨어하우스 같은 OLAP 시스템이 수많은 주문 기록을 묶고 합쳐 결과를 돌려준다. 반면 고객이 결제 버튼을 누를 때 주문 한 건을 저장하는 일은 OLTP 데이터베이스가 맡는다.

함께 보면 좋은 용어