Snowflake Storage for Apache Iceberg™ Tables: Snowflake의 간편한 상호운용성
‘개방형 레이크하우스’의 핵심 가치는 선택권에 있습니다. 즉, Snowflake 사용 여부와 관계없이 모든 팀이 선호하는 엔진을 사용할 수 있도록 하는 것입니다.
하지만 조직이 상호운용 가능한 데이터 형식으로 Apache Iceberg™를 채택하면서 새로운 병목 현상이 나타났습니다. 데이터 형식은 개방형이지만, 스토리지 버킷은 여전히 ‘자체 관리형’으로 남는 경우가 많습니다. 이로 인해 숨겨진 운영 부담이 발생합니다. 팀은 클라우드 버킷 정책을 설정하고 관리하는 데 과도한 시간을 쓰고 있습니다. 위험 부담이 큰 스토리지 유지 보수까지 떠안는 경우도 많습니다.
오늘 Snowflake는 AWS와 Azure에서 Snowflake Storage for Apache Iceberg™ tables가 정식 출시되었음을 발표합니다. 이번 릴리스는 Apache Iceberg의 완전한 상호운용성을 유지하면서 Snowflake 스토리지의 내장형 복원력, 성능, 그리고 제로 관리 환경을 동시에 제공합니다.
자체 관리형 스토리지 부담 해소
수년 동안 Snowflake 고객은 Snowflake에 데이터를 저장하는 단순성을 누려 왔습니다. 파일 위치, 암호화 방식, 메타데이터 추적 방식에 대해 신경 쓸 필요가 없습니다. 추가 구성 없이 안정적으로 작동합니다.
하지만 멀티 엔진 요구가 증가하면서 많은 아키텍트가 외부 도구에서 데이터를 활용하기 위해 자체 관리형 스토리지 아키텍처로의 전환을 강요받고 있습니다. 이런 전환은 대개 가파른 학습 곡선을 동반합니다. 자체 관리형 환경에서는 데이터 엔지니어가 핵심 작업을 모두 담당해야 합니다. 복잡한 IAM 역할 구성, 버킷 단위 암호화 관리, 그리고 모든 외부 엔진이 최신 테이블 버전과 동기화되도록 보장해야 합니다.
Snowflake Storage for Apache Iceberg™ tables는 이러한 운영 부담을 없애줍니다. 이제 Iceberg 테이블을 Snowflake 관리형 인프라에 직접 호스팅할 수 있습니다. 관리자에게는 Snowflake의 다른 데이터와 동일하게 보이고 운영되며, 외부 Spark 또는 Trino 클러스터에서는 표준 고성능 Iceberg 테이블로 인식됩니다. 이제 자체 관리형 스토리지의 복잡한 인프라 부담 없이 모든 데이터 소비자 요구를 수용할 수 있습니다.
내장형 안심 설계: 서비스로 제공되는 데이터 무결성
개방성이 곧 취약성을 의미하지는 않습니다. 자체 관리형 스토리지의 가장 큰 위험 중 하나는 내장형 안전망이 없다는 점입니다.
단 한 번의 실수로 발생하는 비용
흔히 발생하는 시나리오를 떠올려 보겠습니다. 데이터 엔지니어가 스토리지 비용을 줄이기 위해 자체 관리형 S3 버킷에서 ‘오래된’ 데이터를 정리하라는 업무를 맡습니다. 이 과정에서 클라우드 수명 주기 정책을 잘못 설정하거나, 현재 테이블 버전이 참조 중인 메타데이터 폴더 또는 매니페스트 파일을 삭제하는 스크립트를 실행할 수 있습니다.
전통적인 자체 관리형 Iceberg 설정에서는 이런 실수가 치명적인 결과로 이어지는 경우가 많습니다. 통합된 복구 메커니즘이 없으면 테이블은 일관성을 잃습니다. 엔진은 오류를 반환합니다. 더 심각한 경우에는 불완전한 쿼리 결과를 반환할 수도 있습니다. 이 상태를 수동으로 복구하려면 몇 시간에서 길게는 며칠에 걸친 포렌식 작업이 필요하며, 경우에 따라 복구 자체가 불가능할 수도 있습니다.
Snowflake의 안전망
Snowflake Storage for Apache Iceberg™ tables는 엔터프라이즈급 복원력을 Iceberg 생태계로 확장합니다.
페일 세이프(Fail-Safe): Snowflake는 7일의 관리형 복구 기간을 제공합니다. 메타데이터가 실수로 손상되거나 삭제되더라도, Snowflake는 복구 기간 내에서 메타데이터를 일관된 상태로 복원하도록 지원할 수 있습니다. 이는 자체 관리형 스토리지에는 없는 내장형 데이터 회복탄력성 메커니즘입니다.
크로스 클라우드 복제: 비즈니스 연속성 기능이 내장되어 있습니다. 리전과 클라우드 전반에 걸쳐 Iceberg 데이터를 매끄럽게 복제할 수 있습니다. 공급자 수준의 가동 중단이 발생하더라도 고가용성을 제공할 수 있습니다.
스토리지 계층을 관리함으로써 Snowflake는 상호 운용 가능한 데이터에 대해 Snowflake에 저장된 가장 미션 크리티컬한 내부 테이블과 동일한 내구성 아키텍처를 제공합니다.
전체 스택에서 최적화된 상호운용성
데이터 저장은 절반에 불과하며, 나머지 절반은 모든 엔진에서 즉시 활용 가능한 상태로 데이터를 준비하는 것입니다.
레이크하우스에서 흔히 발생하는 문제 중 하나는 ‘small file problem’입니다. 빈번한 쓰기로 인해 수천 개의 작은 파일이 생성되고, 이는 모든 엔진에서 쿼리 성능을 저하시킵니다. 기존에는 이 문제를 해결하려면 VACUUM 또는 REORG 명령을 수동으로 실행해야 하고 지속적인 모니터링도 필요했습니다.
Snowflake Storage는 지능형 테이블 최적화로 이 문제를 해결합니다. 이 기능은 스토리지의 백그라운드 ‘오토파일럿’처럼 동작하여, 파일 압축과 클러스터링 같은 태스크를 자동으로 처리합니다.
또한 모든 테이블은 Snowflake에서 최상의 성능을 내도록 최적화됩니다. 하지만 여기서 멈추지 않고 전체 스택에서 더 나은 상호운용성을 구현하기 위해, 데이터 엔지니어가 특정 요구에 맞게 스토리지 레이아웃을 튜닝할 수 있는 조정 옵션을 제공했습니다. 파일 크기 설정과 파티셔닝 스킴을 조정하면, Spark나 Trino 같은 외부 엔진의 특정 스캔 패턴에 맞게 Snowflake가 쓰는 데이터를 최적화할 수 있습니다.
그 결과 워크로드 전반에서 성능이 개선됩니다. Snowflake는 구성에 맞춰 데이터를 최적의 형태로 배치합니다. 이를 통해 쿼리 지연 시간을 줄이고, 전체 데이터 생태계 전반의 효율을 높입니다.
상호 운용성은 극대화, 복잡성은 최소화
Snowflake Storage for Apache Iceberg™ tables는 스토리지 유지 보수가 아니라 데이터 전략에 집중하려는 조직을 위한 서비스입니다. Snowflake가 복잡한 인프라를 관리함으로써, 사용자가 선택한 모든 엔진에 개방되면서도 보안, 성능 최적화, 탄력성을 갖춘 데이터 파운데이션을 확보할 수 있습니다.
시작하기
Snowflake Storage에서 Iceberg 테이블을 만드는 과정은 표준 네이티브 테이블을 만드는 것만큼 단순합니다. Snowflake 관리형 스토리지를 사용해 첫 Iceberg 테이블을 만들려면, 다음을 실행하기만 하면 됩니다.
CREATE ICEBERG TABLE my_iceberg_table_internal (col1 int)
CATALOG = SNOWFLAKE
EXTERNAL_VOLUME = SNOWFLAKE_MANAGED;레이크하우스 아키텍처를 단순화할 준비가 되셨나요? 새 eBook Building the Interoperable Lakehouse: Data Strategies for AI Leaders를 다운로드하세요. Snowflake Storage for Apache Iceberg™ tables를 지금 시작하려면 설명서도 함께 확인해 보세요.
미래 전망 진술
본 콘텐츠에는 향후 제품 제공에 대한 미래 전망 진술이 포함되어 있으며, 이는 제품 제공에 대한 약속이 아닙니다. 실제 결과 및 제공 사항은 알려진 및 알려지지 않은 위험과 불확실성에 따라 달라질 수 있습니다. 보다 자세한 내용은 최신 10-Q를 참조하세요.

