Topic

Apache Iceberg Merge-On-Read (MoR)

JackerLab 2025. 6. 12. 22:32
728x90
반응형

개요

Apache Iceberg의 Merge-On-Read(MoR) 모드는 데이터 레이크 환경에서 업데이트 및 삭제와 같은 변경 작업을 수행할 때, 기존 데이터 파일을 직접 수정하지 않고 별도 위치에 기록한 후, 쿼리 시점에 해당 변경 사항을 병합하여 읽는 전략입니다. 이를 통해 실시간 처리가 필요한 대용량 데이터 분석에서 고성능 쓰기와 최신 상태 조회를 동시에 달성할 수 있습니다.


1. 개념 및 정의

항목 설명
정의 Iceberg 테이블에서 업데이트/삭제를 별도 파일로 저장하고, 쿼리 시점에 기존 파일과 병합하여 읽는 쓰기 모드
주요 목적 데이터 수정을 즉시 반영하면서도, 원본 파일의 재작성 비용 최소화
활용 환경 데이터 웨어하우스, 스트리밍 ETL, 실시간 리포팅 등

MoR은 Copy-On-Write(COW)보다 쓰기 효율이 높고, 저지연 업데이트가 가능하다는 장점이 있습니다.


2. 작동 원리

단계 설명 구성 요소
데이터 변경 발생 기존 레코드에 대한 업데이트 또는 삭제 요청 Delta 파일 (delete, update) 생성
변경 로그 저장 원본 데이터는 그대로 유지, 로그만 저장 Position Delete / Equality Delete
쿼리 시 병합 수행 원본 데이터 + 로그 병합 → 최종 뷰 제공 Query Engine(MergeOnRead Scan)

쿼리 시점 병합은 Iceberg 엔진의 DataReader 레벨에서 처리됩니다.


3. MoR vs. CoW 비교

항목 Merge-On-Read Copy-On-Write
쓰기 성능 빠름 (로그만 저장) 느림 (전체 파일 재작성)
읽기 성능 느림 (병합 필요) 빠름 (이미 반영됨)
데이터 신선도 최신 반영 스냅샷 기준
주 사용처 스트리밍 업데이트, 실시간 리포트 이력 보존, 배치 분석

MoR은 쓰기 빈도 높은 환경에 적합하며, 병합 비용을 읽기 시점으로 이연시킵니다.


4. 데이터 포맷 및 쿼리 최적화

구성 요소 설명 도구 예시
Delete File 삭제 대상만 기록한 별도 파일 position deletes, equality deletes
Manifest 스냅샷 및 데이터/삭제 파일 메타데이터 Iceberg Manifest List/File
Query Planner 병합 전략 계획 수립 및 실행 Spark, Flink, Trino, Dremio
Cache Index 중복 병합 최소화를 위한 인덱싱 Metadata Table 활용

엔진에 따라 Lazy Merge, Vectorized Scan, Metadata Pruning 등 다양한 최적화 전략이 활용됩니다.


5. 장점 및 한계

항목 장점 한계
실시간 처리 빠른 업데이트/삭제 지원 읽기 병합에 따른 성능 저하 가능
낮은 쓰기 비용 기존 데이터 파일 무변경 유지 로그 누적으로 디스크 사용 증가
유연한 쿼리 전략 병합 정책 커스터마이징 가능 일부 엔진에서 최적화 미흡 가능성 있음

정기적인 compaction과 병합 최적화가 성능 유지를 위한 핵심 전략입니다.


6. 활용 사례

분야 활용 예시 기대 효과
광고 클릭 로그 분석 사용자 클릭 이력 지속 업데이트 지연 없는 최신 데이터 분석
실시간 추천 시스템 유저 행동 기반 테이블 실시간 수정 즉시 반영된 추천 결과 제공
금융 거래 감사 로그 삭제 불가 이력 저장 + 업데이트 대응 변경 감사 및 분석 동시 가능

MoR은 Apache Hudi, Delta Lake 등에서도 유사 개념이 존재하며, Iceberg는 표준 기반 구조에서 더 높은 확장성을 제공합니다.


7. 결론

Apache Iceberg의 Merge-On-Read(MoR) 방식은 대용량 실시간 데이터 환경에서의 쓰기 효율과 데이터 최신성 유지라는 두 가지 요구를 균형 있게 충족하는 전략입니다. Copy-on-Write에 비해 빠른 쓰기 성능과 유연한 업데이트 흐름을 제공하며, 쿼리 엔진 수준에서의 병합 최적화를 통해 분석 성능도 유지할 수 있습니다. 데이터 신선도가 중요한 스트리밍/실시간 분석 환경에서 MoR은 매우 실용적인 선택지입니다.

728x90
반응형