 |
|
안녕하세요, 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 처리 기능을 활용합니다.
|
| |
|
|