Post

Iceberg catalog

카탈로그 정의, 결정 시 요구사항, 종류

Iceberg catalog

카탈로그 정의

  • 테이블 변경을 원자적이고 일관성 있게 관리하는 중앙 서비스
  • 데이터 테이블 이름(논리 식별자)을 메타데이터 파일 위치와 연결함

카탈로그를 결정에 필요한 요구사항 체크리스트

항목핵심 내용결정 가이드영향 요약
멀티 엔진여러 엔진 지원 여부Spark 단독·경량 → HadoopCatalog
Spark·Trino·Flink → HMS 또는 REST
DuckDB 등 포함 → REST
REST: 광범위 호환
HMS: 엔터프라이즈 안정
버전 관리브랜치·태그 등 버전 기능 여부스냅숏만 → OK
브랜치 → NessieCatalog (별도 서버)
브랜치 필요 시 Nessie 필수
권한 모델데이터 접근 제어 수준간단 ACL → 버킷 정책
상세 Row/Column 제어 → Ranger + (HMS or REST)
정교한 권한 → Ranger 연동
메타저장소메타데이터 저장 위치AWS → Glue Data Catalog
온프레 → Postgres + (REST or HMS)
운영 환경에 맞춤 선택
운영 조건인프라 환경온프레 ARM64 → REST + Postgres (또는 HMS 가능)
AWS → HMS + Glue
환경별 최적 선택

카탈로그 종류

카탈로그 종류주요 특징사용 이유 및 사례
Hive Metastore 계열하둡·스파크 기본, 기존 환경 활용가장 널리 사용, AWS Glue 등이 동일 API 지원
AWS Glue Data Catalog완전 관리형 카탈로그 (Hive-호환 API)
자동 프로비저닝·확장
IAM·Lake Formation 연동
AWS 파이프라인에 최적
REST Catalog + NessieHTTP API, 엔진 독립, Git 유사 버전 관리신생 플랫폼 중심 확산
Databricks Unity CatalogDatabricks 통합 거버넌스 지원Databricks 사용자 대상
Hadoop Catalog파일 경로 지정, 단일팀·개발용 적합소규모 온프레, 대규모엔 부적합
This post is licensed under CC BY 4.0 by the author.