이번 포스팅은 Data Lake와 Warehouse의 차이점을 알아보고자 합니다.
1. Data Lake와 Data Warehouse의 정의
그러기에 앞서 일단 Data Lake와 Data Warehouse의 정의를 먼저 알아볼 필요가 있습니다.
Data Lake란?
데이터 레이크는 구조화되거나 반구조화되거나 구조화되지 않은 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소입니다. 데이터 레이크는 데이터를 기본 형식으로 저장할 수 있으며, 크기 제한을 무시하고 다양한 데이터를 처리할 수 있습니다.
대용량 데이터는 저장되기 전에 구조화되지 않기 때문에 숙련된 데이터 과학자 또는 end-to-end self-service BI 도구 를 사용하면 데이터 웨어하우스 에서보다 훨씬 빠르게 광범위한 데이터에 액세스 할 수 있습니다. 6가지 주요 이점은 다음과 같습니다.
- Agility : 사전 계획 없이 쿼리, data models 또는 applications을 쉽게 구성할 수 있습니다. SQL 쿼리 외에도 data lake strategy은 real-time analytics, big data analytics 및 machine learning을 지원하는 데 적합합니다.
- Real-time : 실시간으로 여러 소스에서 원본 형식의 데이터를 가져올 수 있습니다. 이를 통해 real-time analytics 및 machine learning을 수행하고 다른 애플리케이션에서 작업을 trigger할 수 있습니다.
- Scale: structure가 없기 때문에 Data lake는 ERP 트랜잭션 및 call log과 같은 대량의 정형 및 비정형 데이터를 처리할 수 있습니다.
- Speed: 데이터를 원시 상태로 유지하면 해결해야 하는 비즈니스 질문을 정의할 때까지 ETL 및 Schema 정의와 같은 시간 집약적인 작업을 수행할 필요가 없으므로 훨씬 빠르게 사용할 수 있습니다.
- Better insights : 보다 광범위한 데이터를 새로운 방식으로 분석하여 예상치 못한 이전에 사용할 수 없었던 통찰력을 얻을 수 있습니다.
- Cost savings : Data lake는 관리하는 데 시간이 덜 걸리므로 운영 비용이 더 낮습니다. 또한 스토리지 관리에 사용하는 대부분의 도구가 오픈 소스이고 저렴한 하드웨어에서 실행되기 때문에 스토리지 비용은 기존 데이터 웨어하우스보다 저렴합니다.
Data Warehouse란?
데이터 웨어하우스는 POS 트랜잭션, 마케팅 자동화, 고객 관계 관리 시스템 등의 여러 소스에서 가져온 구조화된 데이터와 반구조화된 데이터를 분석하고 보고하는 데 사용되는 엔터프라이즈 시스템입니다. 데이터 웨어하우스는 임시 분석과 커스텀 보고서 생성에 적합합니다. 데이터 웨어하우스는 현재 데이터와 과거 데이터를 모두 한 곳에 저장할 수 있으며, 시간 흐름에 따른 장기간의 데이터 동향을 확인할 수 있도록 설계되었으므로 비즈니스 인텔리전스의 주요 구성요소입니다
엔터프라이즈 Data warehouse를 사용하면 서로 다른 데이터 저장소에 직접 액세스하는 것보다 조직 전체에서 의사 결정을 더 빠르고 효과적으로 수행할 수 있습니다. 주요 이점은 다음과 같습니다.
- Better data quality. More trust : Data warehouse의 데이터가 정리, 중복 제거 및 표준화되었습니다. 이는 Data warehouse에 로드되기 전에 변환되는 기존 ETL 파이프라인을 사용하든 특정 소비자가 필요에 따라 Data warehouse에서 데이터를 변환하는 최신 ELT 접근 방식을 사용하든 마찬가지입니다. 일관되고 "단일 소스"를 보유하면 모든 분석에서 파생된 통찰력과 결정에 대한 신뢰를 구축할 수 있습니다.
- Complete picture. Better, faster analysis : Data warehouse는 운영 데이터베이스, 트랜잭션 시스템 및 플랫 파일과 같은 다양한 소스의 데이터를 통합하고 조화시킵니다. 이를 통해 비즈니스를 보다 완벽하게 파악하고 data mining, augmented analytics, machine learning과 같은 BI 활동을 활용하여 데이터 사일로에서 쉽게 놓칠 수 있는 패턴을 찾을 수 있습니다. 또한 정확하고 완전한 데이터를 더 빨리 사용할 수 있으므로 정보를 더 빠르게 통찰력으로 전환할 수 있습니다.
정의와 같이 둘의 성격은 다릅니다. 데이터 저장방식의 경우, Data Lake의 경우 Schema와 별도로 모든 타입의 Raw Data를 적재하는 반면 Data Warehouse는 목적에 따라 ETL 과정을 통해 Schema에 맞는 Data를 적재하는 차이를 보입니다. 사용목적의 경우, Data Warehouse의 경우 목적에 맞게 정재 된 데이터를 통해 분석 및 보고서 생성이지만 Data Lake는 Raw Data를 저장해 사용자가 직접 Self-Service를 통해 활용할 수 있도록 하는 차이를 보입니다. 이 처럼 정의만 봐도 사용목적과 저장 방식이 다른데 이 부분을 자세히 살펴봅시다.
2. Data Lake와 Data Warehouse의 차이
크게 6가지의 주요 차이점이 존재하게 되는데 하나씩 알아가봅시다.
- 데이터 저장 방식
- Data Lake : 구조화되지 않은 Raw Data 형식으로 무기한 저장
- Data Warehouse : 사전 정의된 비즈니스 요구사항 기반으로 전략적 분석이 가능한 정재 및 처리된 구조화 데이터 저장
- 사용자
- Data Lake : 대량의 비정형 데이터를 통해 새로운 Insight를 얻기 위해 데이터를 연구하는 데이터 과학자 혹은 엔지니어가 사용
- Data Warehouse : 일반적으로 비즈니스 KPI에서 Insight를 얻으려는 관리자와 비즈니스 최종 사용자가 사용
- 분석
- Data Lake : Predictive analytics, machine learning, data visualization, BI, big data analytics.
- Data Warehouse : Data visualization, BI, data analytics.
- 스키마
- Data Lake : 비정형 데이터를 저장하기 위해서 Schema 정의하지 않고 ETL 과정에서 Schema 정의하는 "Schema on Read"
- Data Warehouse : 비즈니스 요구사항 기반으로 정형화된 데이터를 저장하기위해 Schema 정의 및 저장할 때 Scheam를 정의하는 "Schema on Write"
- 처리
- Data Lake : Raw Data를 바로 저장 및 필요시 ETL 과정에서 Schema 정의 ("Schema on Read")
- Data Warehouse : 저장하는 과정해서 ETL를 통한 Schema 정의 ("Schema on Write")
- 비용
- Data Lake : Storage cost가 낮을 뿐만 아니라, 관리하는 cost가 낮음
- Data Warehouse : Storage cost가 높을 뿐만 아니라, 관리하는 cost도 높음
이처럼 Data Lake와 Data warehouse는 저장 방식 및 목적 등등 차이점이 존재해 별도 목적에 따라 사용하고 있었습니다. 하지만 Pentaho라는 BI 소프트웨어 기업의 창업자이자 CTO인 James Dixon은 2010년 Data Lake를 제안하면서 이제는 Data Warehouse보다 Data Lake를 활용하는 방안으로 변해야 한다고 주장했습니다. 이와 같은 주장이 설득력이 있으려면 Data Warehouse의 방식이 어떤 문제점이 있고 Data Lake를 활용하면 어떤 점이 개선되는지 알아야 합니다. 해당 내용은 다음 포스팅을 통해 알아보도록 하죠.
REFERENCE
[1]. Data Lake 플랫폼 아키텍처 : https://link.coupang.com/a/DPWfc
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
[2]. [https://www.qlik.com/us/data-lake/data-lake-vs-data-warehouse]