본문 바로가기
Data Engineering/데이터 엔지니어링

데이터 웨어하우스란? 데이터 레이크, 데이터베이스와 차이

by 무언가 하는 소소 2022. 9. 17.
728x90
반응형

 

 

데이터 엔지니어링을 접하다 보면 다양한 텀들이 나오고 그 중 헷갈리는 텀들이 많다. 오늘은 그 중에 데이터OOO 3대장인 데이터 웨어하우스, 데이터베이스, 데이터 레이크에 대해 정리하고 차이점을 알아보자. 이번 포스팅에서는 최대한 쉽게 어려운 개념을 빼고 예시를 들어 설명했다. 아래 그림이 데이터 베이스와 데이터 웨어하우스의 관계도이다. 

내가 쇼핑몰을 운영한다고 하자. 그러면 쇼핑몰의 상품에 관한 정보가 들어있는 상품 데이터와 고객에 관한 정보가 들어있는 고객 데이터가 있다. 그리고 마지막으로 매일 쌓이는 매출 데이터가 있다. 이 데이터의 집합을 우리는 데이터베이스라 부른다. 데이터베이스를 관리하는 여러 유용한 프로그램이 있는데 대표적인 예로 MariaDB, MySQL, MongoDB 등이 있다. 또한 데이터베이스에 있는 데이터에 접근하기 위해서는 SQL 언어를 쓸 수 있다.

 

우리는 우리가 가진 데이터로 월별 매출이나 연령대별 베스트 아이템 등 여러 유용한 정보를 뽑아내고 싶다. 이를 위해 데이터 웨어하우스가 사용된다. 즉 여러 데이터베이스로부터 모은 데이터들이 분석 가능한 상태로 모여있는 것을 데이터웨어하우스라고한다. 데이터 웨어하우스는 주기적으로 여러 데이터베이스에 있는 정보를 가져간다. 이때 데이터를 그대로 가져갈 수도 있지만 보통은 분석 가능한 형태로 가공해서 가져가는데 이 과정을 ETL(Extract, Transform, Load)이라고 한다. 데이터 웨어하우스에 있는 데이터에는 우리가 각종 리포팅 툴을 통해 유용한 정보를 뽑아낼 수 있다. 대표적인 리포팅 툴에는 Power BI, 엑셀 등이 있다. 또한 데이터 웨어하우스는 우리가 직접 구축할 수도 있지만 databricks 같은 회사에서 제공하는 서비스를 이용할 수도 있다. 

 

그런데 데이터베이스나 데이터 웨어하우스에 있는 데이터는 특별한 목적을 가지고 있다. 예를 들어 데이터베이스에 있는 데이터는 상품과 고객, 매출 데이터를 유지하기 위함이고 이를 위해 일정한 형식을 갖추고 있어야 한다. 그런데 우리가 데이터의 목적은 아직 정하지 못했지만 일단 저장한 다음에 각종 정보들을 뽑아내고 싶다면 어떻게 할까? 이때 필요한 것이 데이터 레이크이다. 데이터 레이크는 일정한 형식을 따르지 않으며 사용자가 원하는 작업을 수행할 수 있는 데이터의 집합이다. 데이터 레이크에는 이미지, 동영상 등의 모든 데이터가 저장될 수 있다. 또한 저장된 데이터에 어떤 작업이든 수행할 수 있다. 예를 들자면 데이터 레이크에 있는 데이터를 엑셀을 통해 분석하거나, 혹은 데이터를 가공해서 데이터 웨어하우스로 가져오는 것도 가능하다. 흔히 쓰이는 데이터 레이크 플랫폼으로는 구글의 빅쿼리, 아마존의 AWS 등이 있다. 

 


 

요약하자면 데이터베이스는 데이터의 저장, 데이터 웨어하우스는 데이터의 분석과 리포팅을 위해 사용된다. 데이터 웨어하우스는 여러 데이터베이스(소스)에 있는 데이터를 주기적으로 가공하여 긁어가고 이 과정을 ETL이라고 한다.

또한 데이터베이스나 데이터 웨어하우스는 저장할 수 있는 데이터의 형식(스키마)과 수행할 수 있는 작업에 제한이 있다. 그런 제한으로부터 자유로운 것이 데이터 레이크이다. 

 


728x90
반응형

댓글