본문 바로가기
데이터/데이터 관리

OLAP vs. OLTP

by Sunyoung95 2024. 7. 28.
그동안은 대부분의 데이터를 Data Warehouse 형태로 다루어왔었지만 직접적으로 웹 서비스와 긴밀하게 연관된 데이터의 경우 Data Mart에 직접적으로 CUD를 하는 경우가 많다.

보통 Data Scientist들이 분석환경에서 사용하는 데이터는 Warehouse, 서비스에 직접적으로 사용되는 데이터는 Mart 형태로 제공되는데 해당 내용과 이유에 대해 조사한 내용을 기록할 예정이다.

 

 

OLAP 이란?

정의

  • OLAP = OnLine Analytical Processing 
  • 다양한 관점에서 비지니스 데이터를 분석하는 데 사용할 수 있는 "소프트웨어 기술"
  • 여러곳에서 수집된 다양한 형태의 데이터를 한 곳에 모아(Data Warehouse), 범주(Category, Data Mart)를 나누고 기업이 전략을 만들 수 있도록 도움을 준다. 
  • Data Warehouse나 Data Mart와 같은 시스템과 상호 연관되는 정보 시스템
  • Data Warehouse가 데이터를 저장하고 관리한다면 OLPA은 Data Warehouse의 데이터를 전략적인 정보로 변환사키는 역할을 한다. 

필요성 

  • OLTP 시스템에 부정적인 영향을 야기하지 않고 복잡한 분석이나 쿼리를 빨리 실행해야 하는 경우
  • 사용자가 필요한 데이터만으로 용이한 방법을 사용해 리포트를 생성할 수 있도록 하고싶은 경우
  • 많은 양의 집계를 사용자가 빠르고 정확하게 받을 수 있도록 하고 싶은 경우  

유형

  • MOLAP (Multidimensional OnLine Analytical Processing)
    • Data Warehouse에서 가져온 다차원 데이터를 데이터 큐브로 생성하는 방식 
    • 준비한 데이터를 하이퍼 큐브에 저장하여 분석속도를 향상시킨다.
  • ROLAP (Realtional OnLine Analytical Processing)
    • MOLAP과 달리 큐브를 사용하지 않고 관계형 데이터베이스에서 다차원 데이터 분석 실행
    • SQL 쿼리를 사용해서 데이터를 찾아내고 분석해야한다는 번거로움과 MOLAP에 비해 느림
    • 광범위하고 상세한 데이터(무거운 데이터)를 분석하는데 적합
  • HOLAP (Hybrid Online Analytical Processing)
    • ROLAP과 HOLAP의 장점만을 모은 방식
    • 구현이 까다롭다.

 

OLTP 란?

정의

  • OLTP = OnLine Transaction Processing
  • 온라인 거래에 관련한 데이터를 처리하는 시스템 
  • 높은 처리량과 짧은 응답시간을 요구 
  • ACID를 준수한다.

시스템 요구사항

  • ACID 준수 : 전체 트랜잭션이 올바르게 기록되었는지 확인필요.
    • 원자성(Atomicity) : 트랜잭션 내 모든 단계가 하나의 그룹으로서 성공적으로 완료 혹은 완전한 실패가 되도록 보장
    • 일관성(Consistency) : 데이터베이스 내부의 일관성 유지
    • 고립성(Isolation) : 다른 트랜잭션 없이 단독으로 실행되는 것처럼 행동
    • 영속성(Durability) : 트랜잭션이 실해한다 해도 트랜잭션의 결과가 손실되지 않음
  • 동시성 : 동일한 데이터를 두 명의 사용자가 동시에 액세스 하려는 경우 데이터를 변경할 수 없게 하거나, 한 사용자가 처리를 완료한 후에만 다른 사용자가 데이터를 변경할 수 있게 함
  • 확장성 : 트랜잭션 볼륨을 실시간으로 관리하고 트랜잭션을 동시에 실행하기 위해 즉시 확장 및 축소 할 수 있어야함
  • 가용성 : 트랜잭션이 24시간 실행될 수 있어야 함
  • 높은 처리량 및 짧은 응답시간
  • 신뢰성 : 데이터베이스 내의 데이터를 신뢰할 수 있어야함
  • 보안성 : 민감한 고객 트랜잭션 데이터를 저장하기 때문에 보안을 보장해야 함
  • 복구성 : 소프트웨어 오류가 발생하더라도 시스템을 복구할 수 있어야 함 

예시

  • ATM 기계 및 온라인 뱅킹 애플리케이션
  • 신용카드 결제 처리 (Online & Offline)
  • 주문 입력
  • 온라인 예약 

 

OLAP vs. OLTP 

  OLAP OLTP
Data Formatting 다차원 데이터 모델 (큐브) 관계형 데이터 베이스 (RDB)
데이터 구조 Read 기능이 중요 Write 기능이 중요
인덱스 인덱스화된 데이터를 사용해 응답시간 개선 대량의 레코드에 손쉽게 접근할 수 있도록 컬럼형식으로 데이터 저장 
성능 데이터 타입/양 에 따라 짧게는 몇 분, 길게는 몇 시간씩 분석 작업이 진행 될 수 있다. 작업 수행시간이 고객의 서비스 지연시간과 밀접하므로 고성능이 요구된다.
데이터 처리방식 Batch  Streaming
하드웨어 조건 용량이 크고 성능이 좋은 스토리지 요구
용량 : 테라바이트 ~ 페타바이트 사이
스토리지의 용량보다는 성능을 우선시 한다.
용량 : 기가바이트 이하 

 


참고

'데이터 > 데이터 관리' 카테고리의 다른 글

데이터 디스커버리 플랫폼  (0) 2024.05.26
메타데이터 관리  (0) 2024.05.19
데이터 거버넌스란? (Data Governance)  (0) 2024.05.07
데이터 리니지란? (Data Lineage)  (1) 2024.05.02

댓글