Snowflake 데이터 클라우드의 데이터 웨어하우스, 데이터 레이크, 데이터 레이크하우스를 위한 새로운 혁신 발표
데이터 관리를 위한 기술 분야에는 수년에 걸쳐 다양한 아키텍처 패턴이 등장하였으며, 각 패턴은 특정 사용 사례와 요구 사항을 충족하도록 세심하게 설계되었습니다. 이에는 데이터 웨어하우스, 데이터 레이크, 데이터 레이크하우스 등의 중앙 집중식 스토리지 패턴과 데이터 메시와 같은 분산 패턴이 모두 포함됩니다. 각각의 아키텍처에는 고유한 장단점이 존재합니다. 또한, 과거에는 도구와 상용 플랫폼이 하나의 특정 아키텍처 패턴에 맞춰 설계되는 경우가 많았기 때문에 조직은 변화하는 비즈니스 요구 사항에 적응하는 데 어려움을 겪었으며, 이는 데이터 아키텍처에도 영향을 미쳤습니다.
Snowflake에서는 모든 고객이 채택할 수 있는 단일 패턴을 규정하는 것이 최선이라고 생각하지 않습니다. 그 대신 시간이 지남에 따라 변화하더라도 조직에 효과적인 가치를 전달하는 사항을 기반으로 아키텍처를 구축할 수 있는 플랫폼을 제공하고자 노력합니다. Snowflake는 고객 사례를 통해 콘웨이의 법칙(Conway’s Law)이 자주 적용된다는 사실을 파악했습니다. 사용 사례와 요구 사항, 기술이 변화함에 따라 데이터 인프라 역시 이에 발맞춰 확장하고 발전할 수 있어야 합니다. Snowflake는 강력한 보안 및 거버넌스, 탁월한 성능과 단순성이라는 핵심 원칙을 유지하며 고객에게 선택권과 적응력을 제공하기 위해 최선을 다하고 있습니다.
JSON, 텍스트 파일, 문서, 이미지, 비디오 등 다양한 대용량 데이터를 중앙 집중식으로 저장해야 하는 고객이 Snowflake로 데이터 레이크를 구축한 사례가 있으며, SQL에 고도로 최적화된 전사적 테이블 리포지토리를 보유하고 동시성이 높은 비즈니스 인텔리전스 워크로드 및 보고가 발생하는 고객의 대부분이 Snowflake에 데이터 웨어하우스를 구축했습니다. 하이브리드 전략을 통해 다양한 도구와 언어의 지원이 필요한 경우 데이터 레이크하우스를 구축하는 사례도 있었습니다. 또한, 대부분의 고객은 중앙 데이터 팀 대신 각 팀이 데이터를 소유하고 표준을 준수하며 인프라를 관리하는 것을 선호하여 Snowflake를 데이터 메시를 위한 플랫폼으로 사용했습니다.
Snowflake는 끊임없이 진화하는 데이터 관리 요구 사항에 부응하기 위해 이러한 모든 패턴에서 고객을 지원하는 새로운 기능을 지속해서 제공합니다.
개방형 데이터 레이크하우스를 위한 Apache Iceberg
데이터 레이크하우스 아키텍처는 데이터 웨어하우스의 거버넌스, 스키마 규정 준수 강제, 트랜잭션 속성과 데이터 레이크의 확장성 및 유연성의 이점을 결합하기 위해 등장했습니다. Snowflake 플랫폼은 처음부터 최적화된 스토리지, 탄력적인 다중 클러스터 컴퓨팅, 클라우드 서비스로 구성되어 제공되었습니다. 2015년에 처음 출시된 Snowflake의 테이블 스토리지는 객체 스토리지를 기반으로 구현된 실질적인 완전 관리형 테이블 형식입니다. 이는 오늘날 업계에 오픈 소스로 널리 알려진 Apache Iceberg, Apache Hudi, Delta Lake와 유사합니다. 또한, Snowflake 테이블은 완전 관리형이기 때문에 암호화, 트랜잭션 일관성, 버전 관리, 타임 트래블과 같은 기능이 자동으로 제공됩니다.
많은 고객이 다양한 워크로드를 지원하는 완전 관리형 스토리지와 하나의 다중 언어 및 다중 클러스터 컴퓨팅 엔진이 제공하는 단순성을 높이 평가하지만, 일부 고객은 개방형 형식으로 자체 스토리지를 관리하는 것을 선호합니다. 이에 Snowflake는 Apache Iceberg를 추가로 지원하게 되었습니다. 다른 개방형 테이블 형식도 있지만 Snowflake는 여러 이유로 Apache Iceberg를 테이블 형식의 선도적인 개방형 표준으로 여기고 있습니다. 따라서 고객에게 최상의 서비스를 제공하기 위해 이 형식에 대한 지원을 우선하고 있습니다.
Iceberg Tables(PuPr 예정)는 개방형 형식으로 외부에 저장된 데이터에 대해 Snowflake의 손쉬운 관리와 뛰어난 성능을 활용할 수 있는 단일 테이블 유형입니다. 또한, Iceberg Tables를 사용하면 선행 데이터 수집 작업 없이 더욱 간편하고 저렴하게 온보딩을 실현할 수 있습니다. Snowflake를 아키텍처에 유연하게 적용할 수 있도록 Snowflake 또는 외부 서비스(예: AWS Glue)를 테이블 카탈로그로 사용하여 메타데이터를 추적하도록 Iceberg Tables를 구성할 수 있으며, 간단한 한 줄의 SQL 명령으로 메타데이터 전용 연산에서 Snowflake로 변환이 가능합니다.
Iceberg Tables의 카탈로그 구성과 관계없이 대부분의 항목이 일관성 있게 유지됩니다.
- 데이터는 고객이 제공한 스토리지 버킷에 외부적으로 저장
- 외부 테이블보다 평균 2배 이상 우수한 Snowflake의 쿼리 성능
- 데이터 공유, 역할 기반 액세스 제어, 타임 트래블, Snowpark, 객체 태깅, 행 액세스 정책, 마스킹 정책을 비롯한 다른 많은 기능 포함
또한, Iceberg Tables에서 Snowflake를 테이블 카탈로그로 사용하여 메타데이터를 관리하면 다음과 같은 추가 이점이 있습니다.
- Snowflake에서 INSERT, MERGE, UPDATE 및 DELETE와 같은 쓰기 연산 수행
- 압축, 스냅샷 만료, 고립된 파일 삭제 등 스토리지의 유지 관리 작업을 자동으로 수행
- (선택 사항) 쿼리 속도 향상을 위한 자동 클러스터링
- Apache Spark에서 Snowflake의 Iceberg Catalog SDK를 사용하면 Snowflake 컴퓨팅 리소스 없이도 Iceberg Tables 읽기 가능
데이터 레이크에 대한 반정형 및 비정형 데이터 지원 확대
데이터 레이크가 매력적인 아키텍처 패턴으로 여겨지는 이유는 스키마와 관계없이 비교적 저렴한 비용에 사실상 모든 파일 형식을 대규모로 저장할 수 있는 객체 저장 기능 때문입니다. 사용자는 스키마를 미리 정의하는 대신 사용 사례에 필요한 데이터와 스키마를 결정할 수 있습니다. Snowflake는 장기간에 걸쳐 JSON, XML, Parquet과 같은 반정형 데이터 유형 및 파일 형식을 지원해 왔으며, 최근에는 PDF 문서, 이미지, 비디오, 오디오 파일과 같은 비정형 데이터의 저장 및 처리도 지원하기 시작했습니다. 파일이 Snowflake의 관리형 스토리지(내부 스테이지)에 저장되어 있든 외부 객체 스토리지(외부 스테이지)에 저장되어 있든 관계없이 Snowflake는 해당 데이터 유형과 사용 사례를 지원하는 새로운 기능을 제공합니다.
데이터 레이크에서 JSON 파일 및 CSV 파일(GA 예정)의 스키마를 간단히 추론할 수 있는 기능을 통해 반정형 데이터에 대한 지원을 확장했습니다. 반정형 데이터의 스키마는 시간이 지남에 따라 진화하는 경향이 있습니다. 데이터를 생성하는 시스템은 추가 정보를 수용하기 위해 새 열을 추가하며, 이에 맞춰 다운스트림 테이블도 확장되어야 합니다. 이에 대한 보다 효과적인 대응을 위해 테이블 스키마 진화에 대한 지원을 추가했습니다(GA 예정).
PDF 문서, 이미지, 비디오, 오디오 파일 등의 사용 사례의 경우, Snowpark for Python 및 Snowpark for Scala(GA)를 활용하여 모든 유형의 파일을 동적으로 처리할 수도 있습니다. 데이터 엔지니어와 데이터 사이언티스트는 Snowflake의 빠른 엔진을 통해 오픈 소스 라이브러리에 안전하게 액세스하여 이미지, 비디오, 오디오 등을 처리할 수 있습니다.
데이터 웨어하우스를 위한 보다 신속하고 향상된 SQL
SQL은 데이터 웨어하우스 워크로드에 가장 많이 사용되는 언어이며, Snowflake는 SQL로 수행할 수 있는 계산의 한계를 지속해서 확장하고 있습니다. 예를 들어, 데이터 분석가는 AS OF JOIN(PrPr 예정)에 대한 새로운 지원을 통해 훨씬 간단한 쿼리를 작성하여 시계열 데이터를 결합할 수 있습니다. 이러한 사용 사례는 타임스탬프의 JOIN 연산이 정확히 일치하지 않고 가장 가까운 이전 또는 다음 기록으로 근사화되는 금융 서비스, IoT, 특성 추출 사용 사례 전반에서 흔히 나타납니다. 또한, 곧 PrPr에서 로딩 시의 파일 크기 제한을 늘려 Snowflake의 고급 분석에 대한 지원을 개선할 예정입니다. 이제 자연어 처리, 이미지 분석, 감성 분석과 관련된 사용 사례에 필요한 대규모 객체(최대 128MB)를 로드할 수 있습니다.
Snowflake는 고객을 위해 성능 개선 및 비용 절감에 최선을 다하고 있습니다. 새롭게 개선된 최적화를 통해 고객은 다양한 방식으로 더 나은 성능과 비용 절감을 경험할 수 있습니다.
- 메모리 사용량이 높은 ML 사용 사례가 있는 웨어하우스의 애드혹 쿼리의 경우, Snowpark Optimized Warehouses의 Query Acceleration Service를 통해 더욱 빠르고 비용 효율적으로 처리할 수 있습니다(GA).
- 특히 대규모 테이블에서 top-k 가지치기 기법을 사용하면 ORDER BY 및 LIMIT 절이 포함된 SELECT 구문의 속도가 더욱 향상됩니다(GA 예정).
- 새로운 웨어하우스 효율성을 통해 Materialized View의 유지 관리 비용이 50% 이상 절감됩니다(GA).
- ANY_VALUE(), MODE() 등과 같은 비결정론적 함수를 사용하는 쿼리에서 결과 캐시의 이점을 활용하여 성능을 향상합니다. Snowflake의 분석에 따르면 특정 쿼리 패턴의 영향을 받는 쿼리에 대한 작업 크레딧이 13% 감소한 것으로 나타났습니다(GA).
- Query Acceleration Service에 대한 지원이 추가되어 INSERT 구문이 더욱 빨라졌습니다(PrPr).
- 특정 테이블의 자동 클러스터링에 필요한 선행 비용 및 지속적인 유지 관리 비용을 모두 추정하는 데 도움이 되는 새로운 기능이 제공됩니다(PrPr).
시작하기
Snowflake는 단일 플랫폼에서 이러한 새로운 기능을 제공하여 고객이 데이터 클라우드를 통해 원하는 아키텍처를 지속해서 구축하고 조정할 수 있도록 지원하고자 합니다. 앞서 소개한 PrPr 기능에 대한 액세스 권한을 신청하려면 Snowflake의 담당 계정 관리자에게 문의하시길 바랍니다. PuPr 또는 GA 기능에 대해 자세히 알아보고 시작하려면 릴리스 정보 및 설명서를 확인하세요.
본 블로그 게시물에 설명된 아키텍처 패턴에 대한 Snowflake의 지원 방식을 자세히 알아보려면 Snowflake 공식 사이트에서 데이터 웨어하우스, 데이터 레이크, 데이터 레이크하우스, 데이터 메시 페이지를 확인하세요.
이러한 기능의 실제 작동 모습에 대한 정보는 Snowday의 세션을 통해 확인하세요.
미래 전망 진술
본 보도 자료에는 (i) Snowflake의 비즈니스 전략, (ii) Snowflake의 제품, 서비스, 기술 제공(개발 중 또는 일반적으로 사용할 수 없는 경우를 포함함), (iii) 시장 성장, 추세, 경쟁 고려 사항, (iv) Snowflake 제품과 타사 플랫폼의 통합, 상호운용성, 가용성에 관한 진술을 포함한 명시적이고 묵시적인 미래 전망 진술이 포함되어 있습니다. 이러한 미래 전망 진술은 증권거래위원회에 제출한 서류에 자세히 설명된 위험을 포함하되 이에 국한되지 않는 다양한 위험, 불확실성, 가정의 영향을 받습니다. 이러한 위험, 불확실성 및 가정에 비추어 볼 때, 실제 결과는 미래 전망 진술에서 예상되거나 암시된 내용과 실질적으로 크게 다를 수 있습니다. 이러한 진술은 해당 진술이 처음 작성된 날짜를 기준으로 합니다. 법적으로 요구되는 경우를 제외하고 Snowflake는 본 보도 자료의 진술을 업데이트할 의무를 갖지 않습니다. 따라서 미래의 이벤트에 대한 예측으로 작성된 미래 전망 진술에 의존해서는 안 됩니다.
본 보도 자료에 포함된 향후 제품에 관한 모든 정보는 일반적인 제품 방향을 설명하기 위한 것입니다. 제품, 특징 또는 기능의 실제 출시 시기는 본 보도 자료에 기재된 내용과 다를 수 있습니다.
참고: 이 내용은 2023. 11. 02에 게시된 컨텐츠(Announcing New Innovations for Data Warehouse, Data Lake, and Data Lakehouse in the Data Cloud )에서 번역되었습니다.