안녕하세요, AI 서비스 & 솔루션 프로바이더 베스핀글로벌입니다.
AWS re:Invent 2025의 [Best practices for building Apache Iceberg based lakehouse architectures on AWS]을 확인해보시기 바랍니다.

☑️ Keynote

세션명 Best practices for building Apache Iceberg based lakehouse architectures on AWS
세션코드 ANT343
발표일자 2025.12.07
강연자 Poorvaja Narayanaswamy
키워드 1. Lakehouse
2. Apache Iceberg
3. Data Engineering
핵심 내용 및 요약 ㆍApache Iceberg 기반 Lakehouse 아키텍처를 구축하는 모범 사례 공유

Best practices for building Apache Iceberg based lakehouse architectures on AWS

Apache Iceberg 기반 Lakehouse 아키텍처를 구축하는 모범 사례 공유에 대해 공유합니다. 

1. 데이터 레이크의 문제점과 Apache Iceberg

  • 데이터 레이크는 데이터 손상, 대규모 데이터 쿼리 속도 저하, 스키마 변경 시 대량 데이터 재작성 등 운영상의 어려움이 있었습니다.
  • Iceberg는 메타데이터 계층을 동칩하여 이런 문제들을 해결합니다.
     
    • ACID 보장: 낙관적 동시성 제어를 통해 다중 작성자의 동시 업데이트 시에도 데이터 무결성을 보장합니다.
    • Time Travel: 모든 업데이트가 테이블 수준의 스냅샷을 생성하여 특정 시점으로 롤백하거나 디버깅할 수 있습니다.
    • 스키마 진화: 컬럼 ID를 추적하여 데이터 재작업 없이 컬럼 추가, 이름 변경, 삭제 등의 메타데이터 업데이트만으로 스키마 변경이 가능합니다.
    • 빠른 쿼리 성능: 메타데이터 레이아웃 덕분에 쿼리 엔진이 읽어야 할 데이터 파일을 정확히 파악하여 스캔 범위를 최소화합니다.

 

2. Iceberg V3의 새로운 기능

  • Varient Type (JSON): API 응답, IoT 페이로드 등에서 흔히 사용되는 JSON과 같은 반정형 데이터를 최적화된 컬럼 방식으로 처리하여 쿼리 성능을 유지합니다.
  • Deletion Vector: 대량의 삭제/업데이트(CDC 스타일) 워크로드에서 성능을 극대화하기 위해 삭제된 행을 비트맵으로 관리합니다. 메모리 속도로 작동하여 효율성이 높습니다.
  • Row Lineage: 행 단위로 데이터 유입 시점, 소스 식별자 등 감사 정보를 기록하여 완전한 감사 가능성(auditability)를 제공합니다.
  • Default Values: 새 컬럼 추가 시 이전 기록에 대한 기본값을 지정할 수 있어, 백필 없이도 일관된 쿼리 결과를 보장합니다.

 

3. AWS 통합 Iceberg Lakehouse 스택

  • 데이터 수집(Injection): Glue, EMR, Kinesis, Kafka 등 다양한 서비스를 통해 S3 기반 Iceberg 테이블 형식으로 데이터를 가져옵니다.
  • 카탈로그 및 거버넌스: AWS Glue Data Catalog가 메타스토어 역할을 하며 (Hive/Iceberg REST Catalog 지원) AWS Lake Formation이 테이블, 컬럼, 행 수준의 세분화된 접근 제어(Fine-Grained Access Control)를 포함한 엔터프라이즈 규모의 거버넌스를 제공합니다.
  • S3 Table Buckets: Iceberg 전용으로, 완전 관리형 저장소 최적화 기능을 제공합니다. 소규모 파일 병합(compaction), 스냅샷 보존 정책, orphan file 정리 등 운영 오버헤드를 제거합니다.
  • 처리 계층: Athena, Redshift, EMR Spark 등 AWS 네이티브 컴퓨팅 엔진들이 Iceberg 테이블 형식을 기본 지원합니다.
  • 데이터 사용 계층: Gen AI 및 애플리케이션에서는 Amazon Bedrock, BI 대시보드에는 Amazon Quick Suite, 분석 사용 사례에서는 Sagemaker Unified Studio를 선택할 수 있습니다.

 

4. AWS에서 Iceberg를 이용한 메달리온 아키텍처

4-1. Bronze Layer

  • 다양한 데이터 소스로부터 들어오는 원시 데이터를 있는 그대로 수집합니다.
  • AWS Glue Crawler(스키마 검색), Kinesis/Kafka(스트리밍 서비스)를 활용합니다.
  • Iceberg 포맷을 사용하는 유연한 범용 S3 버킷을 스토리지로 활용합니다.
  • S3 lifecycle 정책을 활용하여 데이터를 장기 보존합니다.
  • Iceberg 테이블 사용시 장점으로는
    • Schema Evolution: 전체 데이터 재작성 없이 스키마를 유연하게 변경할 수 있습니다.
    • Time Travel: 파이프라인 중단 없이 시점 이동 기능을 사용할 수 있습니다.
    • ACID 보장: 다중 작성자가 원시 데이터를 동시에 수집하더라도 데이터 손상 없이 일관성을 보장합니다.

4-2. Silver Layer

  • 원시 데이터를 정제하고 보강하며 검증하는 계층입니다. 변환 및 분류 규칙이 적용됩니다.
  • EMR Spark, Glue ETL(변환 작업)을 활용합니다.
  • 범용 S3 버킷 혹은 S3 Table 버킷을 스토리지로 활용합니다.
  • Iceberg 테이블 사용시 장점으로는
    • Schema Enforcement: 스키마가 일종의 계약 역할을 하여 데이터 품질을 유지합니다.
    • Partition Evolution: 파티션 스펙 ID를 추적하여, 새로운 데이터는 새로운 파티션 전략을 따르고 기존 데이터는 이전 전략을 따를 수 있습니다.
    • Incremental Updates: Iceberg의 MERGE 작업으로 증분 변경 사항에 대해서만 정제 및 변환을 적용합니다.

4-3. Gold Layer

  • 최종 분석 준비가 완료되고, 최적화된 소비용 테이블이 저장되는 게층입니다.
  • Amazon Athena, Amazon Redshift, SageMaker (분석 및 쿼리 엔진)에서 활용합니다.
  • S3 Table 버킷을 사용하여 성능을 극대화합니다.
  • Iceberg 테이블 사용시 장점으로는
    • Materialized Aggregations: Iceberg 테이블로 저장된 구체화된 집계 데이터를 활용합니다.
    • Hidden Partitioning: 쿼리 실행시 파티셔닝 전략을 알 필요 없이 Iceberg가 내부적으로 최적화된 데이터 파일에 접근합니다.
    • 쿼리 패턴에 따라 정렬 혹은 Z-order를 사용하여 쿼리 성능을 부스트합니다.

 

5. 데이터 ingestion 아키텍처 패턴

  • 배치 ETL: 대규모 데이터 마이그레이션이나 장기적인 백필에 적합합니다. Iceberg는 스키마/파티션 변화, Time Travel, ACID 보장 기능을 활용합니다.

  • 변경 데이터 캡처 (CDC): 운영 데이터베이스에서 발생하는 실시간 변경 사항을 분석 시스템에 반영합니다. Iceberg의 효율적인 MERGE 기능과 Deletion Vectors를 통해 파티션 전체를 재작성하지 않고도 변경 사항을 효율적으로 반영합니다.

  • 높은 동시성 스트리밍: 클릭 스트림, 금융 거래 등 높은 처리량의 데이터에 적합합니다. Iceberg의 다중 작성자 일관성, S3 Table 버킷의 소규모 파일 처리 기능 그리고 스냅샷을 통한 Exactly Once 처리 기능을 활용합니다.