apache-iceberg

2 개의 포스트

Amazon S3 Tables를 위한 복 (새 탭에서 열림)

AWS가 Amazon S3 Tables를 위한 '인텔리전트 티어링(Intelligent-Tiering)'과 '복제(Replication)' 기능을 새롭게 출시했습니다. 이번 업데이트를 통해 사용자는 데이터 액세스 패턴에 따라 스토리지 비용을 자동으로 최적화하고, 별도의 복잡한 아키텍처 없이도 여러 리전 및 계정 간에 Apache Iceberg 테이블 복제본을 일관되게 유지할 수 있습니다. 결과적으로 대규모 정형 데이터 관리의 비용 효율성과 글로벌 데이터 가용성이 획기적으로 향상되었습니다. **S3 테이블 인텔리전트 티어링을 통한 비용 최적화** * 데이터 액세스 빈도에 따라 Frequent Access, Infrequent Access(40% 저렴), Archive Instant Access(IA보다 68% 저렴) 등 세 가지 저지연 계층으로 데이터를 자동 이동합니다. * 30일 동안 접근이 없으면 IA 계층으로, 90일이 지나면 AIA 계층으로 전환되며, 이 과정에서 애플리케이션 코드 수정이나 성능 저하가 발생하지 않습니다. * 테이블 압축(Compaction), 스냅샷 만료, 미참조 파일 제거와 같은 유지 관리 작업은 데이터의 액세스 계층에 영향을 주지 않고 수행됩니다. * 특히 압축 작업은 Frequent Access 계층의 데이터만 대상으로 실행되어, 활발하게 쿼리되는 데이터의 성능은 높이고 차가운(Cold) 데이터에 대한 불필요한 처리 비용은 줄입니다. * AWS CLI의 `put-table-bucket-storage-class` 명령을 사용해 테이블 버킷 수준에서 기본 스토리지 클래스를 설정할 수 있습니다. **리전 및 계정 간 S3 테이블 복제 지원** * 수동 동기화 없이도 AWS 리전 및 계정 간에 일관된 Apache Iceberg 읽기 전용 복제본(Read Replica)을 생성하고 유지합니다. * 소스 테이블에서 발생한 모든 업데이트를 시간 순서대로 복제하며, Iceberg 테이블의 핵심인 스냅샷의 부모-자식 관계를 그대로 보존합니다. * 소스 테이블이 업데이트된 후 몇 분 이내에 복제본에 반영되며, 각 복제본은 소스와 독립적인 암호화 설정 및 데이터 보존 정책을 가질 수 있습니다. * 전 세계에 분산된 팀들이 로컬 리전에서 복제된 데이터를 쿼리하게 함으로써 네트워크 지연 시간을 최소화하고 데이터 보호 및 규정 준수 요건을 충족합니다. 대규모 Iceberg 데이터셋을 운영하는 조직은 인텔리전트 티어링을 통해 운영 부담 없이 스토리지 비용을 절감하고, 복제 기능을 활용해 글로벌 규모의 데이터 메쉬 아키텍처를 보다 쉽게 구축할 수 있습니다. 특히 데이터가 늘어남에 따라 수동으로 비용을 관리하기 어려운 환경에서 이 두 기능은 필수적인 관리 도구가 될 것입니다.

Iceberg Low-Latency Queries with Materialized Views (feat. 실시간 거래 리포트) (새 탭에서 열림)

네이버의 실시간 거래 리포트 시스템은 대규모 데이터를 다양한 조건으로 빠르게 조회하기 위해 Apache Iceberg와 StarRocks의 Materialized View를 핵심 기술로 활용합니다. 단순히 데이터를 적재하는 수준을 넘어, 데이터의 최신성(Freshness)과 저지연(Low-Latency) 응답 속도, 그리고 시스템 확장성을 동시에 확보하는 것이 이번 기술 여정의 핵심 결론입니다. 이를 통해 복잡한 다차원 필터링이 필요한 비즈니스 환경에서도 사용자에게 즉각적인 분석 결과를 제공하는 데이터 레이크하우스 아키텍처를 구현했습니다. **실시간 거래 리포트의 기술적 도전 과제** * 대규모로 발생하는 거래 데이터를 실시간에 가깝게 수집하면서도, 사용자가 원하는 다양한 검색 조건에 즉각 응답해야 하는 성능적 요구사항이 있었습니다. * 데이터의 양이 방대해짐에 따라 기존의 단순 조회 방식으로는 응답 속도가 저하되는 문제가 발생했으며, 데이터의 신선도와 쿼리 성능 사이의 트레이드오프를 해결해야 했습니다. * 다차원 필터링과 집계 연산이 빈번한 리포트 특성상, 인덱싱 최적화와 리소스 효율성을 동시에 고려한 설계가 필요했습니다. **Iceberg와 StarRocks를 활용한 저지연 쿼리 전략** * **Apache Iceberg 기반 데이터 관리**: 데이터 레이크의 스토리지 포맷으로 Iceberg를 채택하여 ACID 트랜잭션을 보장하고, 대규모 데이터셋에 대한 효율적인 스키마 진화와 파티션 관리를 수행합니다. * **StarRocks의 구체화 뷰(Materialized View) 도입**: Iceberg에 저장된 원본 데이터를 직접 조회하는 대신, StarRocks의 Materialized View를 활용해 자주 사용되는 쿼리 결과를 미리 연산하여 저장함으로써 조회 속도를 비약적으로 향상시켰습니다. * **증분 업데이트 및 동기화**: 실시간으로 유입되는 데이터를 Materialized View에 효율적으로 반영하기 위해 Spark와 StarRocks 간의 연동 최적화를 진행하여 데이터의 최신성을 유지합니다. **아키텍처 구성 요소 및 운영 최적화** * **Spark**: 대용량 거래 데이터의 가공 및 Iceberg 테이블로의 수집을 담당하는 컴퓨팅 엔진으로 활용됩니다. * **StarRocks**: 고성능 OLAP 엔진으로서 Iceberg 외부에 위치하며, Materialized View를 통해 복잡한 조인(Join)과 집계(Aggregation) 쿼리를 가속화합니다. * **확장성 확보**: 데이터 노드와 컴퓨팅 리소스를 분리하여 운영함으로써 트래픽 증가에 유연하게 대응할 수 있는 구조를 설계했습니다. 대용량 실시간 분석 시스템을 구축할 때 Apache Iceberg만으로는 쿼리 성능의 한계가 있을 수 있으므로, StarRocks와 같은 고성능 OLAP 엔진의 구체화 뷰를 결합하는 레이크하우스 전략이 효과적입니다. 특히 데이터의 최신성이 중요한 금융 및 거래 리포트 분야에서 이와 같은 기술 조합은 인프라 비용을 절감하면서도 사용자 경험을 극대화할 수 있는 강력한 대안이 됩니다.