OLTP & OLAP

본 게시글은 SW마에스트로 멘토링에서 나온 키워드를 학습한 내용을 다룬 게시글입니다.


OLTP(Online Transcation Processing)

  • 온라인 트랜잭션 처리의 약자
    • 트랜잭션 : 관계형 데이터베이스의 트랜잭션과 동일한 의미
  • 가장 큰 목적은 간단한 쿼리를 이용해 빠르게 데이터를 처리(INSERT, UPDATE, DELETE)하는 것
  • 데이터베이스를 편리하기 관리(운영) 하도록 도와줌

예시 : 온라인 서점

  • 새로운 도서 출간 -> 테이블에 도서명, 가격, 수량 추가(INSERT)
  • 기존 도서 추가 입고 -> 테이블에서 도서 수량 변경(UPDATE)
  • 도서 판매 중단 -> 테이블에서 도서 정보 삭제(DELETE)

OLTP 데이터베이스의 특징

  • 데이터의 삽입(INSERT) 및 업데이트(UPDATE)가 빈번하게 일어나서 데이터베이스에 최신 데이터를 유지하는 것
  • 데이터 무결성(데이터가 정확하다는 의미)을 보장
    • OLTP 데이터베이스는 정규화된(일반적으로는 3NF) 많은 테이블로 이루어져 있음
  • 데이터 분석 및 집계를 통해 사용자의 의사결정에 도움을 주는 것이 목적

OLAP(Online Analytical Processing)

  • 온라인 분석 처리의 약자
  • 말 그대로 데이터를 분석 및 집계함

예시 : 온라인 서점

  • 전체 책 재고 수량 파악 -> 전체 책 수량 집계(COUNT)
  • 금일 판매 수익 파악 -> 금일 판매된 책 가격 집계(SUM)

OLAP 데이터베이스의 특징

  • 데이터 분석, 데이터 마이닝에 주로 사용됨
  • 상대적으로 OLTP보다 복잡한 쿼리
  • 데이터의 양에 따라 다르지만 집계 처리시간이 오래 걸리는 편
    • 일반적으로 비정규화된 테이블로 이루어져 있는 데이터베이스를 사용

결론

  OLTP와 OLAP는 결국 데이터 사용 용도에 따라 선택되어진다. 이런 특성을 통해 데이터 웨어하우스(Data Warehouse)에서 OLTP는 데이터소스를 제공하고 OLAP는 그 데이터소스를 분석하는 기능으로 사용된다고 한다. 따라서 OLTP와 OLAP는 앞으로 데이터 웨어하우스를 공부하기 위해 필요할 것으로 판단된다.


Reference