피드로 돌아가기
The Metadata Structure of Modern Table Formats
Dev.toDev.to
Database

Iceberg의 4단계 Metadata Tree를 통한 Petabyte급 테이블 쿼리 플래닝 최적화

The Metadata Structure of Modern Table Formats

Alex Merced2026년 4월 30일6advanced

Context

대규모 데이터 세트에서 기존 파일 시스템 기반의 Directory Listing 방식은 메타데이터 조회 비용을 급격히 증가시키는 병목 지점으로 작용함. 특히 ACID 트랜잭션과 Time Travel 기능을 지원하면서도 수백만 개의 파일 규모에서 쿼리 플래닝 속도를 유지해야 하는 기술적 과제가 존재함.

Technical Solution

  • Catalog Pointer를 Single Source of Truth로 정의하여 현재 테이블 상태를 가리키는 최소 단위의 진입점 설계
  • Metadata JSON 파일에 Schema 및 Snapshot 리스트를 포함하여 테이블의 불변 버전 관리 체계 구축
  • Manifest List 단계에서 Partition-level 통계 정보를 활용해 불필요한 Manifest 전체를 배제하는 1차 Pruning 수행
  • Manifest File 내에 Column-level 통계(Min/Max, Null count)를 저장하여 실제 Data File 스캔 범위를 최소화하는 2차 Pruning 구현
  • 계층적 메타데이터 구조를 통해 검색 공간을 점진적으로 좁히는 Tree Traversal 방식의 쿼리 플래닝 적용
  • Delta Lake의 선형 Transaction Log 방식과 대비하여 중간 계층의 Pruning 레이어를 추가함으로써 대규모 파일 처리 효율 극대화

1. 수백만 개 이상의 파일을 관리하는 테이블 설계 시 계층적 Pruning 구조 검토

2. 엔진 독립성이 중요한 멀티 엔진 환경에서는 Spec-defined 메타데이터 포맷(Iceberg 등) 채택 고려

3. 쿼리 플래닝 지연 시간 감소를 위해 자주 액세스하는 메타데이터의 로컬 캐싱 전략 수립

원문 읽기