본문 바로가기

Coursera 강의 정리/Modern Big Data Analysis with SQL

Foundations for Big Data Analysis with SQL - 03 Operational DB와 Analytic DB(Operational and Analytic Databases)

Operational Database는 실시간을 데이터를 처리하는 환경에서 사용되고 Analytic Database는 방대한 과거의 정적인 데이터를 분석하기 위해서 사용한다.


Operational Database
1) 단순한 검색 질의 2) 빈번한 DML 3) 작은 규모의 특징을 가진다.


Analytic Database
1) 분석적 질의 처리 2) Bulk Load 3) 큰 규모의 특징을 가진다.

Operational DatabaseAnalytic Database

데이터베이스는 데이터 처리 환경에 따라서 Operational Database와 Analytic Database로 구분한다. Operational Database는 현재 상태에 관심을 가지는 데이터베이스이다. Operational Database는 현재 위치와 교통 정보를 바탕으로 최적의 경로를 찾아주는 내비게이션 같은 시스템에서 활용하는 데이터베이스이다.

 

반면 Analytic Database는 현재 상태보다는 이전의 상태를 기반으로 분석하기 위한 데이터베이스이다. 과거 교통 정보를 바탕으로 어떠한 시간대에 어떠한 도로가 혼잡한지 분석하기 위해서 사용한다.

Operational Database Analytic Database 비교: (1) SELECT

Operational Database는 현재 상태에 관한 간단한 Search Query를 처리하는 것에 집중한다. 복잡한 분석은 아니며 데이터베이스에 존재하는 데이터를 단순히 찾아내는 기능이다.

 

Analytic Database는 이와 다르게 분석을 한다. 있는 데이터를 찾는 것에서 그치지 않고 수집된 데이터의 관계를 통해 복잡한 질의를 처리한다.

Operational Database Analytic Database 비교: (2) DML

Operational Database에서는 DML 처리가 빈번하게 이루어진다. 실시간으로 데이터를 수집하기 때문에 데이터베이스에 끊임없이 데이터가 입력된다. 입력된 데이터에 의해서 기존의 데이터가 변경 및 삭제될 수도 있기 때문에 Operational Database는 일반적으로 빈번한 DML을 효율적으로 처리하는 기술적인 구현이 필요하다.

 

Analytic Database에서는 실시간으로 데이터가 입력되지 않는다. 일반적으로 특정 기간 수집된 데이터를 주기적으로 한 번에 입력된다. 따라서 빈번한 DML보다는 다량의 데이터를 한 번에 저장하는 구현이 필요하다. 이를 Bulk Load 혹은 Import라고 부른다.

Operational Database Analytic Database 비교: (3) 규모

Operational Database는 실시간 데이터가 과거의 데이터보다 중요하다. 따라서 과거의 모든 데이터를 저장할 필요가 없다.

 

반면 Analytic Database는 정교한 분석을 위해서는 과거의 데이터를 최대한 많이 저장하고 있어야 한다. 이러한 점에서 Analytic Database는 일반적으로 Operational Database보다 큰 규모를 가진다.