피드로 돌아가기
Hive에서 Iceberg로: 데이터 반영 속도 12배 향상의 비밀
LINE Engineering
Database

Hive에서 Iceberg로: 데이터 반영 속도 12배 향상의 비밀

데이터 반영 속도 12배 향상, Iceberg와 Flink로 구현한 증분 처리 구조

2026년 4월 3일30advanced

Context

수억 건의 전체 데이터를 매번 덮어쓰는 Full Dump 방식의 ETL 구조. 데이터 규모 증가에 따른 컴퓨팅 비용 상승과 리소스 부족으로 인한 업데이트 지연 발생. 데이터 최신성 보장이 어려운 구조적 한계 직면.

Technical Solution

  • 메타데이터 기반 스냅숏 관리 및 행 단위 업데이트가 가능한 Apache Iceberg 테이블 형식 도입
  • 2단계 커밋(2PC) 및 Exactly-Once 처리를 지원하는 Apache Flink를 스트리밍 엔진으로 채택
  • Kafka 상태 메시지와 Iceberg 커밋 시점을 동기화하여 데이터 누락 없는 종단 간 정합성 확보
  • Event-time 기반의 세밀한 상태 제어를 통해 과거 보정 데이터가 최신 데이터를 덮어쓰는 문제 방지
  • ID 기반 Bucket 파티셔닝을 적용하여 Delete 파일 매칭 범위를 특정 파티션으로 제한
  • rewrite_data_files 프로시저의 I/O 부하를 줄이는 파티션 아키텍처 설계

Impact

  • 데이터 반영 주기 60분에서 5분으로 단축
  • 데이터 반영 속도 약 12배 향상

Key Takeaway

단순한 엔진 교체보다 데이터 규모와 업데이트 비용을 분리하는 증분 처리 설계와 읽기 성능을 보장하는 파티셔닝 전략의 결합이 고성능 파이프라인 구축의 핵심임.


대규모 테이블의 Upsert 빈도가 높을 경우, 글로벌 삭제 부하를 줄이기 위해 Iceberg Bucket 파티셔닝 도입을 검토할 것

원문 읽기