2024년 11월 24일
델타 레이크 (Delta Lake)
1. 델타 레이크 (Delta Lake)의 개요
(1) 데이터 레이크의 문제점 및 델타 레이크의 필요성
(2) 델타 레이크의 개념 및 특징
개념 | 데이터 레이크의 Lakehouse 구축 위해 ACID 트랜잭션, 메타데이터 처리, 스트리밍 기반 다양한 형식의 데이터를 저장하는 스토리지 프레임워크 | |
---|---|---|
특징 | 데이터 신뢰성 보장 | 빅데이터 워크로드에 대한 ACID 직렬 트랜잭션 기반 데이터 무결성, 신뢰성 보장 |
확장 가능 메타데이터 처리 | Spark 분산 처리 기반 페타바이트 규모 테이블의 메타데이터 처리 및 유연한 작업 가능 | |
데이터 시점 재현 가능 | 모든 변경에 대한 마스터 레코드를 제공하여 특정 시점의 정확한 데이터 상태 재현 가능 | |
스키마 규정 준수 강제 | 데이터 일관성을 보호하여 데이터 완전성 보장 및 중요 프로세스 손상 방지 | |
UPSERT 및 DELETE | 스트리밍 UPSERT, 변경 데이터 캡처, SCD 등 컴플라이언스 및 DML 작업 지원 |
- 이외에도 최근 데이터 레이크의 비효율적 파티셔닝, 다수 작은 파일로 인한 성능 저하 문제점을 델타 레이크를 통해 문제점 해결
2. 델타 레이크 멀티 홉 아키텍처 및 주요 기술
(1) 델타 레이크 멀티 홉 아키텍처
Bronze Layer | – 원시 데이터를 Streaming, Batch Workflow 기반 Data Lake 저장소에 적재 – 원시 데이터는 처리를 위해 개방형 트랜잭션 Delta Lake 형식으로 변환 |
Silver Layer | – Bronze Layer의 원시 데이터를 ETL 및 Streaming 처리 작업 수행 – 데이터를 Silver 큐레이팅 데이터 세트로 필터링, 정리, 변환, 조인, 집계 처리 |
Gold Layer | – Silver Layer를 통해 생성된 테이블에는 분석, 보고에 사용 가능한 데이터 포함 – BI, 머신 러닝, 제품 추천, 마케팅/영업 분석 등의 비즈니스 레벨 데이터를 적재 |
(2) 델타 레이크 구현을 위한 주요 기술
구분 | 구현 위한 주요 기술 | 역할 |
---|---|---|
데이터 신뢰성 보장 측면 | ACID 트랜잭션 | 원자성, 일관성, 독립성, 영속성 기반 논리적 단위 연산 |
메타데이터 처리 | Spark 활용 메타데이터 처리확장, 다수 메타데이터 처리 | |
Audit history | 스냅샷 기반 특정 시점 액세스, 과거 시점 rollback | |
복잡한 Use Case 지원 측면 | CDC (Change Data Capture) | 트랜잭션 발생 시 변경 로그 추출하여 대상 DB에 반영 |
SCD (Slowly Changing Dimension) | 시간 경과에 따른 현재와 과거 데이터를 저장 및 관리 | |
스트리밍 UPSERT | 스트리밍 쿼리에서 INSERT/UPDATE 자동 선택 수행 |
- 스트리밍 및 배치 워크플로우로 수집된 다양한 유형의 원시 데이터를 하둡, 오브젝트 스토리지 등에 저장하고 3단계 멀티 홉 아키텍처 파이프라인을 통해 데이터를 개선하여 최종 사용자에 제공
3. 델타레이크 기반 레이크하우스와 데이터 레이크 비교
비교 항목 | 델타 레이크 기반 레이크 하우스 | 데이터 레이크 |
---|---|---|
데이터 일관성 | ACID 기반 데이터 일관성 보장 | 데이터 일관성 보장 어려움 |
데이터 접근 속도 | Parquet 경로 기반 고속 접근 | 모든 파일 나열하여 속도 저하 |
데이터 버전 관리 | 데이터 버전 관리, 특정 시점 접근 가능 | 데이터 버전 관리 불가 |
스키마 적용 | 스키마 적용 보장, 데이터 손상 방지 | 스키마 적용 보장 어려움 |
Z-Ordering | 유사 데이터 근접 저장, 성능 향상 | 유사 데이터 근접 저장 없음 |
- 데이터 레이크는 다양한 형식의 데이터 저장 및 쿼리 필요 시 선택 가능하며, 데이터 레이크 기반의 데이터 신뢰성이나 버전 관리, 고성능 데이터 접근성 필요 시 델타 레이크 선택 권장
[참고]
- databricks, The Data Team’s Guide to the Databricks Lakehouse Platform
- databricks, Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores
- HPE, Delta Lake란
- Pure Storage, What Is Delta Lake? An Overview