STUDY/데이터 분석

데이터베이스와 데이터 웨어하우스의 차이점

_알파카 2024. 10. 8. 21:18
728x90
데이터베이스(DB)랑 데이터 웨어하우스(DW), 대체 뭐가 달라???

 

 

데이터 분석가를 희망하는 사람들이 가장 헷갈려하는 것 중 하나는 바로

데이터베이스(DB)와 데이터 웨어하우스(DW)의 차이일 것입니다. 

 

일반적으로 데이터 분석 프로젝트를 할 때는 단순히 local PC에 CSV파일 혹은 EXCEL 파일로 데이터를 저장하고, 

이를 파이썬으로 불러와 분석하기 때문이죠.

 

저 역시 학부 수준의 프로젝트에서 아무리 큰 데이터를 다룬다고 하더라도

대부분 몇 GB 밖에 차지하지 않을 뿐더러

그저 '데이터를 분석하는 것'에 초점을 맞춰있기 떄문에

'어떤 시스템을 사용해서 분석할 것인지'는 잘 고려하지 않게 되죠.

 

 

 

그렇다면 왜 데이터 분석가가 데이터를 분석할 시스템을 알아야 할까요??

왜 DB와 DW에 대해서 알아야할까요??

 

그 이유는 바로

현업에서는 DB만으로 데이터 분석을 수행하기 어렵기 때문입니다.

 

물론 저도 아직 현업에서 근무해보지는 않았고, 회사마다 데이터 처리 관점이 매우 다르다고 하지만..

데이터 분석 부트캠프에서 만난 다양한 현업 멘토님들을 통해 현업 데이터 분석가들의 업무를 알게 되었습니다.

 

이 과정에서 인상깊었던 것 중 하나가 기업에서 분석해야할 데이터는 엄~~~청 나게 많고,

매우 다양한 쿼리가 돌아가야 하기 때문에

DB만으로는 데이터 분석의 한계가 있다는 것을 알게 되었습니다.

 

DB는 운영 시스템에 최적화되어 있어 트랜잭션 처리에는 강하지만, 대규모 데이터 분석이나 복잡한 연산을 수행하기에는 적합하지 않죠. 

 

 

DB와 DW의 차이점

그렇다면, 왜 DB에서는 데이터 분석을 할 수 없는지, DB와 DW의 차이가 무엇인지 자세하게 알아보겠습니다!

 

핵심은 DB는 주로 개발자가, DW는 주로 데이터 분석가가 사용하는 시스템이라는 점입니다.

 

 

DB와 DW는 데이터 저장 및 활용 목적이 달라요.

DB(데이터베이스)는 주로 웹이나 앱의 사용자 정보, 주문 정보 등 운영 데이터를 실시간으로 처리하기 위해 사용되며,

트랜잭션 처리에 최적화되어 있습니다.

예를 들어, MySQL, Oracle, PostgreSQL 등이 DB의 대표적인 예이죠. 

 

반면, DW(데이터 웨어하우스)는 대규모 데이터 분석과 통합을 목적으로 설계된 시스템으로,

BigQuery, Snowflake, Redshift와 같은 클라우드 기반 웨어하우스를 주로 사용합니다.

DW는 복잡한 분석 쿼리와 집계 연산에 최적화되어 있어 BI(비즈니스 인텔리전스) 도구와의 연동이 쉽고,

비즈니스 인사이트를 도출하는 데 효과적이죠. 

 

DB는 데이터를 생성, 읽기, 수정, 삭제하는 CRUD 작업에 강점을 가지며, 인덱스를 활용해 빠른 검색이 가능하지만,

대규모 데이터를 다룰 때는 성능 저하가 발생할 수 있습니다.

 

반대로, DW는 ETL/ELT 프로세스를 통해 데이터를 통합하고,

여러 소스의 데이터를 효율적으로 분석할 수 있도록 설계되어 있기 때문에

복잡한 연산에도 빠른 응답 속도를 제공합니다.

 

정리하자면, DB는 실시간 트랜잭션 처리를, DW는 대규모 데이터 분석을 위한 시스템이라고 이해하면 됩니다.

상황에 맞춰 두 시스템을 적절히 선택해 사용하는 것이 중요합니다.

 

따라서 현업 데이터 분석가들은 일반적으로 알고 있는 클라우드 데이터 웨어하우스인

빅쿼리(BigQuery), Redshift 등을 사용하여 대규모 데이터를 효과적이고 빠르게 분석하는 것입니다.

 

 

그래서 뭐?

 

 

물론, DB와 DW는 쿼리를 처리하는 방식과 데이터를 저장하는 방식 자체가 매우 다르기 때문에

데이터 분석가는 무조건 DW를 써야한다로 마무리가 되면 안됩니다.

 

데이터 분석에 있어서 성능상 이점은 분명하지만, 비용상에 단점이 존재하기 때문에 trade-off가 존재하죠

즉, 쿼리의 목적, 데이터의 크기, 쿼리의 복잡성 등에 따라 DB를 선택할 것인지 DW를 선택할 것인지를 결정하면 됩니다.

 

간단하게 정리하자면..

내가 실시간 데이터 조회나 조건이 많지 않은 단순한 쿼리를 실행할 거다! -> 데이터 베이스 
이미 수집된 다양한 데이터를 바탕으로 대규모 데이터를 분석하고 복잡한 쿼리나 집계 연산을 수행할 거다! -> 데이터 웨어하우스

 

라고 생각하면 좋을 것 같습니다ㅎㅎ

 

아직 공부하는 내용이기 때문에 틀린 내용이 있다면 알려주세요-!

 

728x90