피드로 돌아가기
Load PostgreSQL into Apache Iceberg with Sling
Dev.toDev.to
Database

Sling 기반 PostgreSQL-Iceberg REST Catalog 데이터 동기화 아키텍처

Load PostgreSQL into Apache Iceberg with Sling

Fritz Larco2026년 5월 18일10intermediate

Context

운영 데이터 저장소인 PostgreSQL의 데이터를 분석용 데이터 웨어하우스로 이전 시 특정 벤더 종속성 발생. 기존 JVM 기반의 무거운 ETL 프로세스나 수동 Manifest 작성으로 인한 운영 오버헤드 존재.

Technical Solution

  • Iceberg REST Catalog 채택을 통한 데이터 스토리지와 메타데이터 관리 계층의 완전한 분리
  • JVM 및 Spark 의존성을 제거한 단일 바이너리 기반 Sling CLI 도입으로 인프라 복잡도 최소화
  • Full-Refresh 및 Incremental 모드 설정을 통한 데이터 성격별 맞춤형 복제 전략 적용
  • Cloudflare R2를 Warehouse 및 Catalog로 활용하여 S3 호환 스토리지 기반의 비용 효율적 아키텍처 구성
  • Source 단계의 SQL 필터링 적용으로 Parquet 파일 크기 및 Manifest 부하 최적화
  • Iceberg Snapshot 기능을 활용한 데이터 버전 관리 및 Time Travel 기능 확보

1. REST Catalog를 사용하여 벤더 독립적인 데이터 레이크 환경을 구축하십시오.

2. 데이터 소스 단계에서 SQL Projection을 통해 전송 데이터량을 최소화하십시오.

3. Snapshot 누적으로 인한 성능 저하 방지를 위해 정기적인 Compaction 및 Expiration 스케줄을 설정하십시오.

4. 소스 시스템별 또는 데이터 도메인별로 Namespace를 분리하여 관리하십시오.

원문 읽기