OLAP와 OLTP에 대하여

Hansu Kim·2021년 11월 19일
0

Database

목록 보기
1/6

데이터베이스는 크게 Relational DB와 Non-relational DB(non SQL, Not only SQL)로 나뉜다.
Relational DB는 개체 간 관계를 2차원 테이블로 표현한 것으로 ACID(atomicity, consistency, isolation, durability)를 제공하며,
Non-relational DB는 RDB의 ACID를 완화하여 많은 처리량과 낮은 지연 시간을 요구하는 데이터 액세스 패턴에 맞도록 설계되었다.

ACID - atomicity, consistency, isolation, durability
atomicity : 트랜잭션 단위의 데이터 처리 보장
consistency : 트랜잭션 커밋시, 스키마를 준수하도록 보장
isolation : 동시에 발생하는 트랜잭션들이, 각자 별도로 수행되도록 보장
durability : 장애시 데이터 복구 보장

또한, RDB는 반영하고자 하는 비지니스 로직이 OLTP와 OLAP 관점 중 어느 관점에 더욱 적합한지에 따라 여러 갈래로 나뉘어진다.
본 포스트에서는 DB 선택/설계시의 관점인 OLAP와 OLTP에 대해서 간략히 다룬다.

OLTP - On-Line Transaction Processing

  • OLTP는 DB가 비즈니스 활동 자체를 지원하는데에 쓰이는 것을 뜻한다.
    -> 비즈니스 트랜잭션의 원활한 처리를 최우선으로 한다.
  • 주로 실시간 데이터를 다룸
  • OLTP 관점에서는 빈번하게 데이터의 입력, 수정, 삭제가 발생하며, 이 과정에서의 효율성. 즉, 효과적인 갱신이 주요 목표
  • 테이블을 정규화하여 데이터 갱신을 효율적으로 처리할 수 있도록 DB를 설계한다.
    -> 정규화를 하게되면 데이터가 함수적 종속성에 기반하여 집약되므로 중복은 최소화되며 무결성은 극대화 됨

최적화 방향성: 정규화 기반 ER 모델링을 통한 데이터 갱신 효율성, 무결성 극대화

OLAP - On-Line Analytical Processing

  • 데이터를 기초로 하여 효과적으로 분석하고 조회하는 것이 주요 관심사
  • OLTP DB와 달리, 분석과 집계를 위한 관련 데이터들의 묶음이 그 단위가 됨.
    ->즉, 통합된 연관 정보가 효과적인 분석, 조회를 위해 구조화
  • 주로 과거의 데이터를 다룸
  • 정기적으로 적재되고 갱신되는 OLTP 데이터를 기초로 분석 관점에서 통합된 관련 정보를 빠르게 제공할 수 있게 모델링 되어야함.

최적화 방향성: 디멘션 모델링을 통한 조회성능, 사용성, 접근 편의성 개선

참고: OLAP는 데이터들을 어떻게 저장하느냐에 따라 Relational OLAP(릴레이션으로 저장), Multimensinal OLAP(결과값을 다차원 배열로 저장) 등으로 다시 나뉘어진다.

OLAP의 종류: https://12bme.tistory.com/144

0개의 댓글