Back to Blog
Data EngineeringLakehouseApache IcebergDelta LakeApache HudiArchitecture

0x06. Lakehouse 아키텍처 심화 - 오픈 테이블 포맷과 설계 원칙

Lakehouse 아키텍처의 핵심 설계 원칙인 스토리지-컴퓨팅 분리, 오픈 테이블 포맷 삼국지(Iceberg vs Delta Lake vs Hudi), 그리고 실무 선택 기준을 정리한다.

이전 글에서 데이터 레이크, 웨어하우스, 그리고 이 둘을 합치는 Lakehouse 패러다임을 개괄적으로 살펴보았다. 이번 글에서는 Lakehouse가 어떤 원리로 동작하는지, 그리고 이를 가능하게 하는 오픈 테이블 포맷을 깊이 파헤친다.


Two-Tier 아키텍처의 문제

많은 조직이 데이터 레이크와 웨어하우스를 동시에 운영한다.

[데이터 소스]  [Data Lake (S3)]  ETL  [Data Warehouse (Redshift)]  [BI/분석]
                      
                [ML 플랫폼]

이 구조의 고통:

  • 데이터 중복: 같은 데이터가 레이크와 웨어하우스에 각각 존재한다
  • ETL 파이프라인 부담: 레이크에서 웨어하우스로의 변환/동기화가 필요하다
  • 데이터 불일치: 두 시스템 간 데이터가 어긋날 수 있다
  • 비용 증가: 스토리지와 컴퓨팅을 이중으로 지불한다

ML에는 레이크를, BI에는 웨어하우스를 쓴다. 같은 데이터를 두 번 저장하고, 두 번 관리하고, 두 번 비용을 낸다.

Lakehouse의 해결

[데이터 소스]  [Lakehouse (S3 + 오픈 테이블 포맷)]  [BI / ML / 분석]
Data Warehouse vs Data Lake vs Data Lakehouse 아키텍처 비교
Data Warehouse, Data Lake, Data Lakehouse 비교 — 출처: Databricks

핵심 아이디어는 간단하다. S3 같은 저렴한 오브젝트 스토리지에 Parquet 파일을 저장하되, 그 위에 메타데이터 레이어를 추가해서 웨어하우스급 관리 기능을 제공하는 것이다.

이 메타데이터 레이어가 바로 오픈 테이블 포맷이다.

기능전통적 데이터 레이크Lakehouse
ACID 트랜잭션XO
스키마 진화 (Schema Evolution)XO
타임 트래블 (Time Travel)XO
MERGE / UPSERTXO
파티션 진화 (Partition Evolution)XO
통계 기반 파일 스킵제한적O

단일 저장소에서 BI와 ML을 모두 처리할 수 있으니, ETL 파이프라인도 간소화된다.


핵심 설계 원칙: 스토리지와 컴퓨팅 분리

Lakehouse의 기반이 되는 아키텍처 원칙이다.

[Object Storage (S3/GCS)]    데이터 저장 (저비용, 무한 확장)
         
[Compute Engine (Spark/Trino/Flink)]    쿼리 실행 (필요시 스케일)
  • 스토리지와 컴퓨팅을 독립적으로 확장한다
  • 여러 컴퓨트 엔진이 같은 데이터에 동시 접근 가능하다
  • 컴퓨팅은 사용할 때만 비용이 발생한다

전통적인 웨어하우스는 스토리지와 컴퓨팅이 묶여 있어서, 둘 중 하나만 늘리고 싶어도 같이 확장해야 했다. Lakehouse는 이 결합을 끊는다.


오픈 테이블 포맷 삼국지

Lakehouse를 가능하게 만드는 핵심 기술이다. 2026년 기준 세 가지가 경쟁하고 있다.

Apache Iceberg

Apache Iceberg 로고

Netflix에서 개발하고, Apache Software Foundation이 관리한다.

  • 벤더 중립적: Spark, Flink, Trino, Snowflake, AWS Athena 등 다양한 엔진을 네이티브로 지원
  • Hidden Partitioning: 사용자가 파티션 구조를 몰라도 자동 최적화
  • 계층적 메타데이터: Catalog → Metadata File → Manifest List → Manifest File → Data File
  • 페타바이트 급 대규모 테이블에 최적화
  • 2026년 기준 가장 빠르게 채택률이 증가하는 포맷

Delta Lake

Delta Lake 로고

Databricks에서 개발하고, Linux Foundation이 관리한다.

  • Spark 에코시스템과 깊은 통합 — Databricks 환경에서 최고의 성능
  • Transaction Log (_delta_log): JSON/Parquet 기반 변경 이력 추적
  • Change Data Feed: CDC를 스토리지 계층에서 지원
  • UniForm: Delta 테이블을 Iceberg/Hudi로도 읽을 수 있게 하는 호환성 레이어

Apache Hudi

Uber에서 개발했다.

  • 증분 처리(Incremental Processing) 에 강점
  • Copy-on-Write / Merge-on-Read 두 가지 테이블 유형
  • CDC 파이프라인에 특화

Iceberg vs Delta Lake

가장 많이 비교되는 두 포맷을 정리한다.

항목Apache IcebergDelta Lake
개발 주체Netflix → ASFDatabricks → Linux Foundation
엔진 호환성멀티 엔진 (벤더 중립)Spark 최적화 (타 엔진은 커넥터)
메타데이터 구조계층적 (manifest list → manifest)Transaction Log (JSON + Parquet)
파티셔닝Hidden Partitioning (자동)명시적 파티셔닝
스키마 진화완전한 type-safe 진화지원하지만 상대적으로 제한적
대규모 테이블페타바이트 급 최적화대규모 지원, Spark에서 최적
호환성 전략네이티브 멀티 엔진UniForm으로 Iceberg/Hudi 호환
주요 채택처AWS, Snowflake, Netflix, AppleDatabricks, Microsoft, T-Mobile

선택 가이드

  • 멀티 엔진 환경 (Trino + Spark + Flink): → Iceberg
  • Databricks/Spark 중심: → Delta Lake
  • 벤더 락인 회피가 우선: → Iceberg
  • CDC/증분 처리 중심: → Hudi 또는 Delta Lake

실제로 2026년에는 Delta Lake가 UniForm으로 Iceberg 호환성을 확보하면서, 두 포맷이 수렴하는 추세다. 어떤 포맷을 선택하든 Lakehouse 아키텍처 자체가 주는 이점은 동일하다.


2026년 동향

  • Gartner가 Lakehouse를 **"transformational"**로 격상
  • Apache Iceberg 채택률 급상승 — AWS, Snowflake, Google Cloud 모두 네이티브 지원
  • Delta Lake는 UniForm으로 Iceberg 호환성을 확보하며 수렴 중
  • 신규 데이터 플랫폼 프로젝트의 기본 아키텍처로 자리잡음

정리

Lakehouse는 "데이터 레이크냐 웨어하우스냐"라는 이분법을 해소한다. 저렴한 오브젝트 스토리지 위에 오픈 테이블 포맷의 메타데이터 레이어를 얹어, 하나의 저장소에서 BI와 ML을 모두 처리할 수 있다.

  • 스토리지-컴퓨팅 분리로 독립적 확장이 가능하다
  • 오픈 테이블 포맷(Iceberg, Delta Lake, Hudi)이 ACID, 스키마 진화, 타임 트래블을 제공한다
  • 멀티 엔진 환경이면 Iceberg, Databricks 중심이면 Delta Lake가 유리하다

다음 글에서는 Lakehouse 위에서 데이터를 어떻게 조직하는지 — Bronze, Silver, Gold 세 계층으로 나누는 Medallion Architecture를 살펴본다.