참고: 이 내용은 2022. 1. 21에 게시된 컨텐츠(Expanding the Data Cloud with Apache Iceberg)에서 번역되었습니다.

Snowflake 데이터 클라우드는 데이터 사일로를 허물고, 복잡한 데이터 세트를 안전하게 공유하고, 막대한 양의 데이터를 쿼리하는 등 데이터와 관련된 어려운 작업을 쉽게 만듦으로써 데이터를 처리하기 좋은 이상적인 장소가 되었습니다. 고객들이 클라우드 데이터로 이동하면서 이들의 필요와 타임라인이 다양해졌습니다. Snowflake의 목표는 모든 고객의 데이터 클라우드 여정에 있어서 이들을 만족시키는 것입니다. 

그래서 Snowflake에서는 클라우드 데이터의 경계를 확장하고, Snowflake 사용에 존재하는 장벽을 제거하기 위해, 특히 Snowflake로 이동하는 데 시간이 오래 걸리거나 이동할 수 없는 데이터(예: 일부 고객이 데이터를 보관하는 위치에 규제 요구 사항이 있음)에 대해 2019년에 외부 테이블을 릴리스했습니다. 외부 테이블은 어려운 데이터 작업을 더 쉽게 만들기에 고객에게 인기가 있었습니다. 초기 릴리스 이후로 당사는 Spark 기반 플랫폼으로부터 마이그레이션하려는 고객을 위해 델타 레이크(현재 공개 미리 보기 제공)를 제공하는 등 모든 주요 클라우드 공급자의 독점적인 테이블 형식 객체 저장소를 지원하기 위해 외부 테이블을 확장했습니다.

최근 Apache Iceberg가 객체 저장소와 관련된 많은 문제를 해결함에 따라 이러한 형식으로 저장된 데이터와 데이터 클라우드를 연결하기 위한 외부 테이블을 확장해 달라는 고객의 요구가 상당했습니다. Apache Iceberg 지원 외부 테이블의 비공개 미리 보기를 제공해 드릴 예정임을 기쁜 마음으로 알려 드립니다. Iceberg 지원은 고객의 데이터 환경을 단순화하는 동시에 추가적인 유연성과 상호 운용성을 제공할 예정입니다. 

테이블 형식이 무엇이고 왜 유용합니까?

데이터 레이크를 만드는 것은 어렵고 시간이 오래 걸릴 수 있습니다. 외부 테이블은 데이터 레이크를 만드는 데 필요한 여러 단계를 단순화하기 때문에 아주 유용합니다. 개별 파일을 Blob 저장소 버킷에 저장하는 것은 데이터 레이크를 구축하는 아주 흔한 방식이지만 파일을 테이블에서 스키마와 사용할 때와 같이 일련의 문제를 초래합니다. 이러한 문제를 해결하기 위해 외부 테이블은 CSV, XML, ORC, Parquet, Avro, JSON과 같은 다양한 파일 형식을 이해합니다. 외부 테이블은 파일을 외부 테이블로 불러올 때 파일에 대한 메타데이터가 저장되고 쿼리가 테이블에서 실행될 때 스키마가 읽는 시점에 적용되기 때문에 도움이 됩니다. 외부 테이블이 이러한 유연성을 제공하지만 일부 한계와 단점이 존재합니다. 이런 경우에 테이블 형식을 유용하게 사용할 수 있습니다.

테이블 형식은 명시적으로 테이블과 테이블의 메타데이터 및 테이블을 구성하는 파일을 정의합니다. 데이터가 읽힐 때 스키마를 적용하는 대신, 클라이언트가 이미 쿼리가 실행되기 전에 스키마를 알고 있도록 합니다. 또한 테이블 메타데이터는 더 세분화된 분할을 제공하는 방식으로 저장할 수 있습니다. 이러한 접근 방식은 다음과 같은 많은 장점을 제공할 수 있습니다.

  • 필터링 및 분할 개선으로 더 빨라진 성능
  • 더 쉬운 스키마 진화
  • 특정 시점에 테이블에 걸친 “타임 트래블” 능력
  • 테이블 ACID 규정 준수

Snowflake는 처음부터, 고객이 오늘날 Snowflake 테이블에서 이러한 이점을 이미 누릴 수 있도록 이 기능을 제공하기 위해 설계되었습니다. 하지만 일부 고객의 경우 자신의 데이터가 Snowflake가 아닌 다른 여러 장소에 있을 수도 있기에 처리 플랫폼으로부터 분리할 수 있는 열린 규격 테이블 형식을 선호합니다. 특히나 일부 고객은 규제 요구 사항과 같은 엄격한 운영 제약으로 인해 Snowflake 외부에 데이터를 보관합니다. 또는 Blob 저장소에 있는 파일에 대해서만 작동하는 도구의 사용 등이 초래하는 기술적 한계를 천천히 변경하고 있습니다. Apache Iceberg와 같은 프로젝트는 이러한 고객에게 특히나 유용할 수 있습니다.

새로운 아키텍처 및 패턴을 지원하는 테이블 형식

Snowflake는 일찍이 내부 테이블 형식을 혁신시켰습니다. 이를 통해 다양한 새로운 기능을 도입했습니다. 그러나 모두를 위한 모든 스토리지 패턴이나 아키텍처에 알맞은 하나의 사이즈는 없습니다. 여러분에게 알맞은 패턴을 선택하는 유연성은 플랫폼을 평가할 때 고려해야 할 중요한 부분입니다. 일부 테이블 형식은 분산 스토리지와 데이터 사용량에 의존하는 데이터 메시와 같은 새로운 데이터 관리 접근 방법의 촉진제가 되었습니다.

이를 분석하려면 데이터 메시 아키텍처의 4가지 원리를 알아봐야 합니다. 테이블 형식 포함 여부에 관계없이 이전에 언급했던 내용입니다.

데이터 메시 아키텍처의 성장을 고려하면 테이블 형식의 인기가 높아진 것은 놀랍지 않습니다. 일부 테이블 형식은 개별 파일 랭글링 및 해석의 어려움을 제거하여 데이터 소유권, 생산, 셀프서비스, 거버넌스를 대단히 간소화합니다. 일부 테이블 형식은 명시적으로 패키지로 만들어져 하나의 데이터 아키텍처로만 판매되기에 일부라고 표현했습니다. 이는 유연성이 없는 접근 방식이라고 생각합니다. 그렇기에 어떤 테이블 형식을 지원하고 어떻게 지원할지를 신중하고 철저하게 확인했습니다.

Apache Iceberg인 이유

Iceberg는 Netflix에서 개발하고 이후에 잘 알려진 Apache Software Foundation에 기부된 오픈 소스 테이블 형식입니다. 동시성, 기본 스키마 지원, 향상된 성능과 같이 많은 테이블 형식에서 제공하는 이점과 더불어 Iceberg는 다음과 같은 많은 수의 특정한 이점과 발전을 사용자에게 제공합니다.

  • 활기찬 생태계 – 여러 파일 형식에 대한 지원, 기술적 데이터 메타스토어, 처리 엔진은 다양한 스토리지 패턴을 제공합니다(레이크, 메시 등)
  • 프로젝트 속도 – 광범위한 고객 및 상업 제품에 걸친 빠른 적용과 더불어 이들의 기여가 있었습니다
  • 상호 운용성 – 명확한 목표, 커뮤니티 조언, 버저닝을 통해 성장하기 위한 능력과 더불어 잘 기록된 규격을 통해 여러 도구를 하나의 데이터 세트에서 사용할 수 있습니다

과거에는 열린 형식을 추구하는 것이 보통 이점 대신 목표가 될 수 있었으므로 고객에게 열린 형식을 현명하게 선택하도록 주의를 주었습니다. 구체적으로 말하자면 Snowflake는 열린 형식 및 프로젝트 고객에게 실질적인 이점을 제공하는 경우에 유용하다고 생각합니다.

“Snowflake에서는 기본 원칙들에 대해, 추구하는 성과, 의도한 결과와 의도하지 않은 결과에 대해 생각합니다. 또한, 무엇보다도 중요한 것은 Snowflake가 언제나 고객에게 최선인 것에 집중한다는 것입니다.” 

Snowflake의 시점에서 Iceberg는 복잡하지 않고, 의도하지 않은 결과를 초래하지 않으며 고객에게 더 많은 선택지와 이점을 제공하기에 열린 형식과 프로젝트에 대한 당사의 관점과 일맥상통합니다. Iceberg 프로젝트는 잘 알려져 있으며 투명한, 소프트웨어의 기반에 속해 있으며 성공하기 위해 공급업체에 의존하지 않습니다. 대신 Iceberg는 자신의 공로를 기반으로 한 유기적인 관심을 받았습니다. 비슷하게 Iceberg는 스스로를 어떤 특정한 처리 프레임워크, 쿼리 엔진 또는 파일 형식과 묶지 않기에 복잡하지 않습니다. 따라서 고객이 열린 파일 형식을 사용해야 하거나 조언을 구할 때 당사는 Apache Iceberg를 확인해 볼 것을 권장합니다. 많은 테이블 형식이 열려 있다고 주장하지만 당사는 Iceberg가 “열린 코드” 그 이상이라고 생각합니다. Iceberg는 포괄적이며 열린 프로젝트입니다. 빠른 성장과 공로에 근거하여 고객은 당사의 플랫폼에 Iceberg 도입을 요청했습니다. 현명하게 열기로 선택한 당사의 목표와 Iceberg가 일맥상통하기에 당사에서는 Iceberg를 당사의 플랫폼에 통합하는 것이 좋겠다고 생각하고 있습니다. 

오늘 Iceberg 테이블로부터 외부 테이블을 생성하는 것에 대한 지원의 비공개 미리 보기가 제공된다는 사실을 발표합니다. Iceberg 테이블은 구문이 기타 외부 테이블과 비슷하기에 사용하기 쉽습니다. 어디에서 최신 Iceberg 스냅샷 파일을 찾아야 할지 Snowflake에 알려주십시오. 

최종 릴리스에서 변경될 수도 있는 이 예시에서 당사는 Iceberg 외부 테이블 생성에 대한 당사의 현재 디자인을 선보입니다. 

내 아키텍처에 외부 테이블을 어떻게 맞출 수 있습니까?

외부 테이블은 복잡한 데이터 패턴 작업을 보통 어렵게 만드는 두 가지 사용 사례를 다룰 수 있도록 하는 강력하고 유연한 도구가 되도록 설계되었습니다.

  1. 데이터 마이그레이션을 위해 가져오기데이터 클라우드를 전체적으로 활용할 수 있도록 Snowflake로 데이터를 가져오는 것을 더 쉽게 해 주는 메커니즘입니다
  2. 제자리에 있는 쿼리 – Snowflake로 옮길 수 없거나 옮기지 않을 데이터를 쿼리하는 도구입니다

Apache Iceberg와 같은 테이블 형식 추가는 외부 테이블의 능력과 유연성을 강화하며 두 가지 사용 사례를 모두 강화합니다. 이는 테이블 형식이 데이터 레이크나 데이터 메시와 같이 보통 조직 전반에 걸쳐 스토리지 패턴 배포의 주요 요소로 사용되기 때문입니다. 당사에서는 데이터 레이크를 포함하지만 이에 제한되지는 않도록 다양한 스토리지 패턴에 대한 외부 테이블 유용성을 보강하고 있습니다.

Snowflake에서 데이터 레이크, 메시 또는 기타 스토리지 패턴을 원하신다고 해서 외부 테이블을 사용해야 하는 것은 아니라는 점을 확실히 하고 싶습니다. 외부 테이블은 데이터 사용과 관리를 단순화하기 위해 당사에서 제공하는 여러 도구 중 하나입니다. 외부 테이블은 고객에게 더 많은 선택지와 유연성을 제공하며 중요한 것은 기타 플랫폼이나 공급자와는 다르게 하나의 스토리지 패턴만 선택하도록 강요하지 않는다는 것입니다. 

자세히 알아보고 시작하기

Snowflake의 스토리지 전략과 열린 테이블 형식이 어떻게 주요한 역할을 하는지에 대해 자세히 알아보시기를 권장합니다. Snowflake 2021년 11월 스노우데이 세션은 당사의 스토리지 전략 입문을 위한 훌륭한 장소입니다. 전문가로부터 배우기를 원하십니까? 태평양 표준시로 3월 16일 오전 9시에 이 웨비나에 참석하여 질문하고 Iceberg 지원에 대해 알아보실 수 있습니다.

Apache Iceberg와 같은 테이블 형식을 외부 테이블과 사용하는 것에 관심이 있으시다면 귀하의 계정 팀으로 연락하여 미리 보기 릴리스에 참여하시기 비랍니다.

미래 전망 진술

역사적 사실에 대한 진술 외에 이러한 자료 및 동반되는 모든 구두 해설(총칭 “자료”)에 포함된 모든 정보 및 다음의 (i) Snowflake의 비즈니스 전략 및 계획, (ii) 개발 중이거나 일반적으로 사용할 수 없는 제품을 포함한 Snowflake의 새롭고 향상된 제품, 서비스, 기술 제공, (iii) 시장 성장, 추세 및 경쟁 고려 사항, (iv) 타사 플랫폼과 함께 또는 타사 플랫폼에서 Snowflake 제품의 통합, 상호 운용성 및 가용성은 미래 전망 진술입니다. 이러한 미래 전망 진술은 “위험 요인”이라는 제목 아래 기술된 내용과 Snowflake가 증권거래위원회에 제출하는, 양식 10-K에 대한 연례 보고서 및 양식 10-Q에 대한 분기 보고 에 기술된 내용을 포함하여 수많은 위험, 불확실성 및 가정의 영향을 받습니다. 이러한 위험, 불확실성 및 가정에 비추어, 자료에서 논의된 미래의 사건과 경향은 발생하지 않을 수 있으며 실제 결과는 미래 예측 진술에서 예상되거나 암시된 것과 달라 실질적이고 불리한 영향을 미칠 수 있습니다.

모든 미래 제품 또는 로드맵 정보(총칭 “로드맵”)는 일반적인 제품 방향을 서술하기 위한 것입니다. Snowflake가 미래 제품 또는 기능을 제공하겠다는 공약, 약속 또는 법률상의 의무가 아닙니다. 또한 어떠한 계약서도 이를 포함할 목적이 아니며 포함한다고 간주해서는 안 됩니다. 모든 제품 또는 기능이 궁극적으로 제공되는 실제 시기는 로드맵에 사용된 시기와 다를 수 있습니다. 로드맵 정보는 구매 결정을 내릴 때 사용되어서는 안 됩니다. 자료와 공식 Snowflake 설명서 간의 정보가 다르다면 공식 Snowflake 설명서의 정보가 이러한 자료보다 우선시됩니다. 또한 Snowflake는 궁극적으로 제공될 수 있는 모든 미래 제품 및 또는 기능에 대한 별도의 요금 부과 여부를 결정하지 않았습니다. Snowflake는 자신의 재량으로 궁극적으로 제공되는 모든 미래 제품 및 또는 기능에 대한 별도의 요금을 부과할 수도 있습니다.

© 2022 Snowflake Inc. All rights reserved. 본 자료에 언급된 Snowflake, Snowflake 로고 및 기타 모든 Snowflake 제품, 기능 및 서비스 이름은 미국 및 기타 국가에서 Snowflake Inc.의 등록 상표 또는 상표입니다. 본 자료에 언급되거나 사용된 기타 모든 브랜드 이름 또는 로고는 식별 목적으로만 사용되며 해당 소유자의 상표일 수 있습니다. Snowflake는 그러한 소유자와 연관되거나 후원 또는 보증을 받지 않습니다.