AWS

OLTP vs OLAP - 목적에 맞는 데이터베이스 선택

heesoohi 2025. 5. 29. 01:21

OLTP와 OLAP의 개념 차이와 함께, 각각의 작업 목적에 맞는 적절한 AWS 데이터베이스 선택 기준을 정리해보려 한다. 

 

1. OLTP (Online Transaction Processing)

OLTP는 말 그대로 온라인 트랜잭션 처리 시스템이다.
쇼핑몰의 결제, 사용자 로그인, 게시글 작성과 같은 작업처럼, 사용자 요청에 따라 CRUD(Create, Read, Update, Delete) 작업이 실시간으로 처리되는 환경을 말한다.

  • 목적: 빠르고 정확한 트랜잭션 처리
  • 요구 사항: 낮은 지연시간, 높은 동시성, ACID 준수
  • 쿼리 특성: 단순하고 빠른 질의 (예: 특정 사용자 주문 조회)
  • 적합한 DB:
    • Amazon RDS (MySQL, PostgreSQL 등)
    • Amazon Aurora

 

2. OLAP (Online Analytical Processing)

OLAP는 저장된 데이터를 다양한 기준으로 분석하고 인사이트를 도출하는 시스템이다.
예를 들어, "지난 분기 지역별 매출 분석", "고객 유형에 따른 구매 트렌드" 같은 작업이 이에 해당한다.

  • 목적: 대량의 데이터 분석 및 집계
  • 요구 사항: 대규모 조회 최적화, 다차원 분석 지원
  • 쿼리 특성: 복잡하고 범위가 넓은 SELECT 쿼리 (JOIN, GROUP BY 등)
  • 적합한 DB:
    • Amazon Redshift (데이터 웨어하우스)
    • Snowflake, BigQuery 등도 유사한 역할

3. 실제 아키텍처 고민 예시 🧠

문제 시나리오:
Fargate 기반 ECS 애플리케이션이 OLTP 성격의 서비스를 운영 중이다.
분석팀은 사용자 트랜잭션 데이터를 기반으로 감사 및 통계 작업을 수행하려고 한다.
이때, 분석 쿼리로 인해 애플리케이션의 실시간 성능에 영향을 줘서는 안 된다.

 

선택지 비교:

Amazon Redshift로 마이그레이션 OLAP 최적화지만 OLTP DB 분석에는 과함
✅ RDS Read Replica 사용 복제본에서 분석 쿼리 실행 가능. 성능 분리, 비용 효율
  • 실시간 사용자 트랜잭션 처리 → OLTP → RDS, Aurora
  • 대규모 분석 및 통계 쿼리 → OLAP → Redshift
  • OLTP DB에서 분석 작업을 분리하고 싶다면 → RDS Read Replica 활용하는 것이 적합