상세 컨텐츠

본문 제목

Data Warehouse, Data Lake, Data Lakehouse

Data Engineer

by 데이터 개발자 2024. 8. 16. 08:44

본문

Data Storage Architecture

데이터 저장 아키텍처로 3가지에 대해서 공부해봤다.

  • Data Warehouse, Data Lake, Data Lakehouse

우선 한 장의 사진으로 정리한걸 보면 이해가 훨씬 쉽다.
아래 사진은 Databricks 의 Data Lakehouse 에 대한 블로그에 소개 된 그림이다.

 

https://www.databricks.com/kr/glossary/data-lakehouse

 

 

 

기존의 Data WarehouesData Lake 의 장점을 가져와 만들었다는 Data Lakehouse 를 소개하고 있다.

하나 씩 공부해보자.

 

 

Data Warehouse

 

다양한 소스들을 Structured Data 로 저장하여 복잡한 쿼리나, 데이터 분석을 위해 사용된다.

주로 ETL 프로세스를 거쳐서 미리 정의한 Schema 를 통해서 복잡한 쿼리를 사용해 분석이 가능하다.

대표적인 Data Warehouse 클라우드 서비스로는 아래와 같다.

  • Amazon Redshift
  • Google BigQuery
  • Azure SQL Data warehouse

 

 

Data Lake

 

다양한 종류의 Structured Data, Unstrunctured Data, Semi-Structured Data 를 저장하고 분석하기 위해 사용 된다.

대용량의 다양한 raw data 들을 스키마 정의 없이 저장하고 분석에 사용한다. (ELT)

배치, 실시간 프로세싱 등을 지원하며 요구사항에 맞게 전처리를 하거나 다양한 방법으로 사용이 가능하다.

대표적인 Data Lake 서비스는 아래와 같다

  • S3 (data lake)
  • Azure Data Lake Storage
  • HDFS..

 

 

Data Warehouse vs. Data Lake

 

2가지를 비교해보면 장단점이 각각 있다.

Data Warehous 의 경우 미리 정의한 스키마로 복잡한 쿼리를 빠르게 처리하고 BI, Report 등 분석을 위한 용도로 주로 사용 된다.

  • ETL
  • Structured data
  • Schema on write
  • ...

Data Lake 는 복잡한 데이터들을 효율적인 비용으로 저장하고 관리하며 ML, Data Discovery, 데이터 분석 등 다양한 목적으로 사용 된다.

  • ELT
  • Structured data, Un-Structured data, Semi-Structured data
  • Schema on Read
  • ...

2가지 솔루션 중 어느 솔루션 하나를 딱 골라서 사용한다는 의미보다는 2개 모두 필요에 맞게 데이터를 처리하고 분석하는 솔루션으로 사용하면 좋을 것 같다.

 

https://aws.amazon.com/ko/compare/the-difference-between-a-data-warehouse-data-lake-and-data-mart/

 

 

Data Lakehouse

 

마지막으로 Data WarehouseData Lake를 하이브리드 형식으로 좋은 특징들만 뽑은 Data Lakehouse 이다.

  • AWS Lake Formation (S3, Redshift)
  • Delta Lake (open source)
  • Databricks Lakehouse Platform
  • Azure Synapse Analytics

Data Lake의 장점인 유연성, 효율적인 비용, 다양한 형식의 데이터 처리와 Data Warehouse의 장점인 데이터 관리 및 ACID 트랜잭션을 통합한 아키텍처이다.

메타데이터 계층에서 오픈 소스 Delta Lake 를 사용해 다양한 관리 기능이 제공 된다

delta lake : https://docs.delta.io/latest/delta-intro.html

 

이 밖에 Iceberg, Hudi 등이 Data Lakehouse 아키텍처를 구현하는데 사용된다.

 

 

정리

 

Data Warehouse

  • 구조화된 데이터 저장 (schema on write)
  • 주로 BI, Report 용도
  • 높은 데이터 품질과 일관성
  • 비교적 비싼 비용
  • ex) AWS Redshift, Google BigQuery

Data Lake

  • 유연성이 높고 확장성이 좋음
  • 데이터 품질 관리는 어려움
  • 대용량 데이터, 다양한 데이터 구조 지원 (schema on read)
  • ex) Hadoop, Amazon S3, Azure Data Lake Storage

Data Lakehouse

  • Data Warehouse, Data Lake 장점을 결합
  • 강력한 메타데이터 관리
  • ACID 트랜잭션, BI, SQL 등 지원
  • ex) Delta Lake, Apache Iceberg, Apache Hudi

'Data Engineer' 카테고리의 다른 글

Iceberg 란 무엇인가?  (3) 2024.12.15
Kafka Connect Plugin 설치하기  (1) 2024.09.19
Kafka Connect 공부하기 (1)  (0) 2024.09.18
AWS EC2 인스턴스에 Kafka Cluster 구축하기  (2) 2024.09.13

관련글 더보기