IT Study/데이터베이스 및 데이터 처리

🗂️ 데이터 레이크하우스 아키텍처 (Delta Lake, Iceberg)

cs_bot 2025. 4. 2. 16:42

1. 개요

  • 데이터 레이크하우스는 기존 데이터 레이크의 유연성과 데이터 웨어하우스의 관리 및 성능을 통합한 아키텍처
  • 구조적, 비구조적 데이터를 단일 플랫폼에서 관리하고 분석할 수 있는 최신 데이터 관리 접근 방식
  • 데이터 레이크의 데이터 저장 자유도를 유지하면서 ACID 트랜잭션, 스키마 관리, 데이터 품질 확보를 지원하는 것이 핵심
  • 대표적 기술로 Delta Lake와 Apache Iceberg 존재

2. 데이터 레이크하우스 등장 배경

1. 기존 데이터 아키텍처 한계

  • 데이터 웨어하우스 한계
    • 구조화된 데이터 중심, 비구조화 데이터 관리 곤란
    • 스키마 변경 시 높은 비용과 긴 작업시간 소요
    • 확장성 제한, 비용 증가 문제 발생
  • 데이터 레이크 한계
    • 자유로운 데이터 저장 가능하나 데이터 관리 미흡
    • 일관성 부족, 품질 및 신뢰성 문제 발생
    • 데이터 거버넌스와 스키마 관리 미비로 데이터 분석 효율성 저하

2. 레이크하우스 필요성 대두

  • 데이터 관리와 데이터 분석의 균형 유지 요구 증가
  • 데이터 품질, 거버넌스 확보와 데이터 분석의 민첩성 동시에 달성 필요
  • 비용 효율적이고 확장 가능한 아키텍처 요구

3. 데이터 레이크하우스 핵심 특징

  • ACID 트랜잭션 지원
    • 데이터 무결성과 일관성 보장
    • 동시성 관리 및 복구 기능 지원
  • 스키마 관리
    • 스키마 적용 및 진화 관리 자동화
    • 데이터 분석 과정에서의 안정적이고 신속한 변경 지원
  • 메타데이터 관리 및 데이터 거버넌스
    • 데이터 카탈로그를 통한 효율적인 데이터 검색 및 활용 지원
    • 데이터 접근 제어 및 감사 기능 제공
  • 고성능 분석 지원
    • 데이터 레이크 내 데이터에 대한 고성능 질의 엔진 활용 가능
    • 최적화된 파일 포맷 및 인덱스 제공으로 성능 개선

4. Delta Lake 아키텍처 상세

1. Delta Lake 개요

  • Databricks에서 개발한 오픈소스 기반의 데이터 레이크 스토리지 계층 기술
  • Apache Spark 기반 데이터 처리를 통해 성능 및 효율성 제고 목적
  • 데이터 레이크에 데이터 웨어하우스의 관리적 특성 추가하여 일관성 보장

2. Delta Lake 주요 특징

  • ACID 트랜잭션 지원
    • 데이터 추가, 수정, 삭제 작업에서 무결성과 원자성 보장
  • 버전 관리 및 시간 여행(Time Travel) 기능
    • 과거 특정 시점의 데이터 접근 가능
    • 데이터 복구, 분석 재현성 확보에 유리
  • 스키마 진화 및 강제화
    • 데이터 쓰기 시 자동 스키마 검사 수행
    • 스키마 변경 시 데이터 처리 자동화 및 안정성 유지
  • 데이터 최적화
    • 데이터 파티셔닝, Z-Ordering 등 최적화 기법 제공
    • 데이터 읽기 성능 향상 목적

3. Delta Lake 구조 및 구성요소

  • Delta Table
    • 데이터 파일(Parquet 형식) 및 트랜잭션 로그로 구성
    • 로그를 통해 데이터 변경 내역 관리 및 일관성 유지
  • 트랜잭션 로그(Transaction Log)
    • JSON 형식으로 저장된 로그 파일을 통해 데이터 변경 이력 저장
    • 장애 발생 시 데이터 복구 가능
  • 메타데이터 관리
    • 데이터 카탈로그를 통해 테이블 및 데이터 자산 관리

5. Apache Iceberg 아키텍처 상세

1. Apache Iceberg 개요

  • Netflix에서 개발하여 Apache Software Foundation에 기증된 오픈소스 기술
  • 데이터 레이크의 테이블 형식 및 메타데이터 관리 계층 제공
  • 다양한 분석 엔진(Spark, Flink, Presto, Hive 등)과 호환성 뛰어남

2. Apache Iceberg 주요 특징

  • ACID 트랜잭션 지원
    • 동시 데이터 처리 및 원자적 연산 보장
    • 데이터 변경의 일관성과 안정성 확보
  • 테이블 스키마 관리
    • 명확한 스키마 정의 및 관리 제공
    • 스키마 변경 및 진화 용이
  • 풍부한 메타데이터 지원
    • 메타데이터 파일로 구성되어 효율적인 데이터 조회 및 관리 지원
    • 다양한 엔진에서 메타데이터 공유 가능
  • 성능 최적화 및 관리
    • 데이터 파일 레이아웃 최적화를 통한 쿼리 성능 향상
    • 인크리멘털 데이터 스냅샷을 통해 데이터 읽기 성능 향상

3. Apache Iceberg 구조 및 구성요소

  • 테이블 포맷 및 메타데이터
    • Manifest 파일과 Metadata 파일로 구성되어 데이터 변경사항 기록 및 관리
    • Snapshot을 통한 과거 데이터 접근성 확보
  • 매니페스트(Manifest) 파일
    • 데이터 파일 목록 및 데이터 파티션 정보 저장
    • 데이터 파일 접근 최적화 및 관리 용이성 제공
  • 메타데이터(Metadata) 파일
    • 테이블 구조, 스키마 정보 등 저장하여 엔진 독립적 사용 가능

6. Delta Lake와 Apache Iceberg 비교 분석

비교 항목 Delta Lake Apache Iceberg
트랜잭션 관리 트랜잭션 로그 중심 스냅샷 기반의 Manifest 관리
메타데이터 구조 JSON 기반 로그 파일 Avro/Parquet 기반의 Manifest 파일
엔진 호환성 Spark 중심 지원 다양한 엔진 지원 (Spark, Flink, Presto 등)
스키마 관리 엄격한 스키마 적용 및 진화 관리 유연한 스키마 진화 지원 및 관리
성능 최적화 Z-Ordering 등 성능 최적화 지원 파일 레이아웃 및 최적화된 Manifest 기반 쿼리 최적화

7. 적용 효과 및 활용 방안

  • 데이터 품질 및 무결성 확보를 통한 신뢰성 높은 데이터 제공
  • 데이터 분석 속도 및 효율성 향상으로 비즈니스 의사 결정 시간 단축
  • 다양한 데이터 분석 환경과의 호환성 및 효율적 데이터 관리로 비용 절감 및 운영 효율 증대
  • 빅데이터 플랫폼 구축 시 데이터 레이크하우스를 기반으로 통합 데이터 분석 환경 구축 가능

8. 결론 및 향후 전망

  • 데이터 레이크하우스 아키텍처의 등장으로 데이터 관리 및 분석 패러다임 전환 본격화
  • 향후 다양한 분석 환경과 기술이 결합하여 데이터 관리의 유연성과 효율성 지속적 향상 기대
  • Delta Lake 및 Apache Iceberg 외 추가적 기술의 등장 및 발전 예상
  • 데이터 아키텍처의 표준화 및 데이터 거버넌스의 중요성 더욱 확대 전망