본문 바로가기
일상 기술노트/BI,ETL,OLAP

분석용 DB를 따로 사용하는 이유

by 인디코더 2020. 5. 22.

*업무를 하면서 OLAP DB는 똑같은 DB인데 왜 다른데에서 다른 DB엔진을 가지고 사용하는지 궁금했다. 
업무를 하면서 나 나름대로 느낀 생각 및 정보들이다. 완벽한건 아니지만 어디까지나 흐름은 파악할 수 있을것 같다. 

OLAP을 하기 위해서는 

현재 서비스하고 있는 DB를 사용하지 않는다. 

현재 서비스 하고 있는 데이터를 다른 DB로 옮기는 작업을 한다. 

이것을 'ETL'이라고 한다. 

 

'ETL'을 그렇다면 왜 하는 것일까?

'ETL'을 하는 이유는 데이터를 옮기기 위해

그렇다면 왜 다른 DB를 쓸까? 

돈도 아끼고 그냥 있는 DB를 사용하면 되는데...

 

DB를 사용하기 위해서 우리는 '쿼리'라는 DB언어로 DATA를 조회/삭제/삽입/수정 과 같은 작업을 한다. 

(물론 OLAP을 하기 위해서는 조회만 하겠지만...)

그런데 이런 조회를 할때, 많은 양의 데이터를 조회하거나

복잡한 조건의 데이터를 조회할 때가 있다. 

이럴때, 이 쿼리에 맞는 데이터를 조회하기 위해 사용되는 메모리가 DB에 많은 부담을 준다. 

많은 메모리를 사용하다보면 DB장비는 견디지 못하고 뻗을 수가 있다. 혹은 데이터를 조회하는데 다른 DB에도 상당한 

영향을 주게 될 수도 있다. 

 

만약 심각한 상태가 되는 경우에는 DB가 뻗는 경우인데,

홈페이지에 사람들이 몰리면 홈페이지가 뻗듯이 DB도 뻗을 수 있다. 

DB가 뻗게 되면 DATA의 손실이 오거나, 사람들이 DB를 사용할 수 없게 된다. 

만약, 우리가 서비스를 하고 있는 동일한 DB를 뻗게 된다면

DATA를 보기위해 서비스가 먹통이 될 수도 있다. 

 

이러한 이유 때문에 분석용 DB를 따로 사용하게 되는 것이다.

 

반응형