Snowflake의 Data Cloud 소개
데이터 클라우드는 거의 무제한의 규모, 동시성 및 성능으로 기업 내의 데이터를 모바일화하는 글로벌 네트워크입니다. 데이터 클라우드 내에서 개별 부서 사용자는 그들의 사일로 된 데이터를 단일 플랫폼으로 통합하고, 데이터를 쉽게 탐색하고, 이 데이터를 다른 부서의 사용자와 안전하게 공유하여, 다양한 분석 워크로드를 수행할 수 있습니다. 데이터나 사용자의 위치와 관련 없이 데이터 클라우드는 동일한 사용자 경험을 제공합니다. 데이터와 워크로드가 멀티-클라우드 환경에서 저장되어 있거나 실행되더라도 상관없습니다. 데이터 클라우드를 통해 부서, 공급 업체, 협력사와 고객에게 데이터를 공유할 수 있으며, Snowflake Data Marketplace에는 125개 이상의 파트너사에서 제공하는 데이터 및 데이터 서비스가 있습니다. 데이터를 기업의 비즈니스 패턴을 변경 및 가속화 할 수 있으며, 이와 같은 클라우드 데이터 플랫폼은 데이터를 활용 및 공유하는 방식의 변화 시킬 수 있습니다. 이는 기업 업무 생산성을 개선하고 데이터 기반의 의사 결정을 가속화하며 데이터 기반으로 새로운 비즈니스 기회를 창출 할 수 있습니다.
1. 데이터를 통한 도전과 기회 규모 확대
거의 모든 비즈니스 활동은 소셜 미디어, 모바일, IoT, 전자 상거래 및 다양한 디지털 서비스를 통해 데이터를 생성하고 있습니다. 이러한 데이터 소스는 빠른 속도로 늘어나는 추세이기 때문에, 대량 데이터를 저장하고 관리해야 할 필요성이 대두되었습니다. Forbes의 최근 보고서에 따르면, 2010년부터 2020년까지 전 세계에서 생성되어 사용되는 데이터양이 1조 2억 GB에서 59조 GB로 증가하였습니다. IDC는 2020년에서 2023년까지 3년 동안 생성된 데이터양이 이전 30년 동안 생성된 데이터보다 많을 것으로 추정하고 있습니다. Market & Mrkets 조사에 따르면, 이와 같은 대량 데이터 생성에 따라 전 세계 클라우드 컴퓨팅 시장 규모는 2025년까지 두 배 이상 증가한 8,320억 달러에 이를 것으로 예상하고 있습니다.
1.1 데이터 거대한 볼륨 및 다양성과의 경쟁
IDC의 "2020 Global DataSphere" 보고서에 따르면 대략 80%의 새로운 데이터가 반정형(웹로그, 모바일 및 IoT 데이터) 또는 비정형(오디오, 비디오, 이미지 및 PDF)으로 생성되고 있습니다. 전통적인 데이터베이스는 대용량 데이터 및 다양한 데이터 처리용으로 설계되지 않았기 때문에 대다수의 기업들은 오늘날 데이터의 변화를 어떻게 비즈니스의 일환으로 수용할지에 대한 해결책을 찾고 있습니다. 불행하게도, 오늘날 대부분의 데이터 및 분석 솔루션은 오늘날 데이터 변화에 대한 해결책을 제시하지 못하고 있습니다. 시간이 흐르면서 분명해 진 사실 하나는 데이터 관련 분석 작업은 모든 기업에게 선택 사항이 아닌 필수 사항입니다.
1.2 사일로에 해결책은 더 많은 사일로를 생성.
전통적인 데이터 플랫폼은 IT 산업 발전에 따라 트랜잭션 시스템에서, 데이터 분석 시스템으로 발전했습니다. 데이터 분석도 데이터 웨어하우스, 데이터 레이크 및 최근에는 AI/ML을 위한 데이터 저장소로 워크로드에 따라 세분화되는 도입 및 운영되고 있습니다. 그 결과 많은 조직이 필요에 따라 독자의 분석 플랫폼을 구축하게 되어 기업 내부에는 수 많은 사일로 된 분석 환경이 관리되지 않은 방식으로 존재합니다. 이로 인해 많은 기업 내부에서는 사일로된 데이터를 통합하여 분석하려는 다양한 시도를 하고 있지만 해결하기가 매우 어렵습니다. 대표적인 예가 정형 및 반정형 데이터를 통합 저장, 처리 및 데이터 분석용으로 활용할 수 있는 Hadoop 기반의 데이터 레이크 시스템입니다. Hadoop 기반의 데이터 레이크는 구축에 많은 투자 비용이 필요하고 운영에도 전문가를 채용해야 하는 단점을 가지고 있습니다. 또한, 데이터 레이크 시스템도 분석 워크로드가 다양해 짐에 따라 사일로 된 시스템을 야기하고 있는 상황입니다.
1.3 조각난(Fragmented) 데이터 문제 해결
기업 내의 모든 사용자들이 단일 데이터 플랫폼에 접속하여 동일한 데이터-셋 기반으로 분석 업무를 수행할 수 있다고 생각해 보십시오. 이 시스템은 사일로 된 시스템 간의 데이터 공유 파이프라인을 구축할 필요가 없습니다. 데이터 분석가, 과학자, 엔지니어 및 업무 담당자들은 데이터 준비보다는 분석에 더 많은 시간을 할애할 수 있다면, 기업 생산성은 얼마나 향상될까요? 이 가정은 지난 40년 동안 기술 제약사항 때문에 불가능하다고 여겨졌습니다. 온-프레미스 또는 클라우드 환경에 CRM, ERP, SCM과 같은 업무용 시스템이 독립적으로 구축되어 운영되고 있습니다. 이 업무용 시스템들은 독자적인 데이터베이스를 필요로 합니다. 또한 분석 시스템은 여러 운영 시스템에 데이터를 활용하여 부서별 데이터 마트를 생성하여 사용하고, 정형/비정형 리포트 업무를 수행하기 위한 EDW 시스템을 추가로 구축하고, 전통적인 정보계에서 처리하기 어려운 반정형 및 비정형 데이터와 정형 데이터를 통합하여 분석 할 수 있는 데이터 레이크와 같은 데이터 플랫폼을 용도에 따라 사일로 되어 구축됩니다. 이와 같이 사일로 된 환경에 데이터 동기화를 위해 ETL과 같은 다양한 도구를 사용해야 합니다. 복잡한 데이터 파이프라인은 결국 데이터 플랫폼 확장을 저해하는 원인이 되기도 합니다. 많은 기업들은 사일로 된 데이터 플랫폼간의 데이터 동기화를 위해 고 비용을 솔루션을 도입하여 사용하고 있으며, 데이터 파이프라인을 개발하고 관리하기 위해서 고임금의 전문가도 고용해야 합니다. 이와 같은 통합 방식은 시스템 구축 및 유지 관리에 많은 비용이 필요하며 플랫폼 확장을 방해하는 가장 큰 원인이 됩니다.
1.4 Data Governance로 확대 고려
보안 및 데이터 거버넌스는 사일로 환경으로 구축된 데이터 웨어하우스 및 데이터 레이크에 관리 비용을 증가시키는 주요 원인이 됩니다. 예를 들어, GDPR 요구 사항을 준수하기 위해서는 데이터 플랫폼은 데이터 리니지와 데이터 추적에 대한 요건을 충족해야 합니다. 이와 마찬가지로 CCPA, HIPPA, PCI DSS, SOX와 같은 산업별 규정은 보안 및 데이터 거버넌스 요건을 복잡하게 만드는 요소입니다. 새로운 시스템이 생성될 때마다 기업에 요구되는 규정을 준수하기 위한 작업을 독립적으로 수행해야 합니다. 데이터 사일로 현상이 증가될 수록 시스템 간의 데이터 리니지, 데이터 추척 및 분류 체계에 대한 보안 및 거버넌스 규정 적용이 더 복잡해질 수 밖에 없습니다. 통합된 단일 데이터 플랫폼을 사용하면 보안 및 거버넌스 적용 요건을 간소화시킬 수 있습니다.
1.5. Cloud 시대 도래
많은 기업들이 대량 데이터를 저장하고 공유하기 위해서 AWS, MS Azure, GCP와 같은 클라우드 벤더의 인프라 환경을 사용합니다. IDC의 2020년 9월 "Quarterly Cloud IT Infrastructure Tracker"에 따르면 퍼블릭 및 프라이빗 클라우드에 대한 투자 비용은 2019년부터 2020년까지 34.4% 증가한 반면, 온-프레미스에 대한 투자는 8% 감소했습니다. IDC 및 기타 연구 기관에 따르면, 최근 몇 년 동안 클라우드 채택이 꾸준히 증가했지만, COVID-19는 기업들이 클라우드 전환을 가속화하는 새로운 모멘텀이 되었습니다. 재택근무 지원이 늘어나면서, 원격 작업은 기업의 새로운 표준이 되었습니다. 갑작스러운 클라우드 이동은 부서 단위로 진행되어 클라우드에 새로운 서비스의 증가를 야기했으며, 새로운 사일로 된 환경의 원인이 되었습니다. 클라우드에서 실행되는 모든 서비스 및 시스템이 모두 클라우드의 순수한 기능을 모두 제공하는 것은 아닙니다. 쉽게 말해, 클라우드 환경에서 데이터베이스를 사용하는 것은 쉽지만 해당 데이터베이스는 레거시 온프레미스 환경과 마찬가지로 빠르게 자체 사일로가 될 수 있습니다. 2020년 딜로이트의 "Cloud Migration Forecast" 보고서에 따르면, IT 관리자의 97%가 복원력(resilience)을 극대화하고 규정 및 컨플라이언스 요구 사항을 충족하며 다양한 솔루션 공급 업체의 최고의 서비스를 활용하기 위해 두 개 이상의 멀티-클라우드 환경으로 기업 내의 워크로드를 분산할 계획에 있습니다. 또한, IT 인프라 도입이 온-프레미스에서 클라우드로 전환되면서, 종종 IT 부서 지원 없이 부서의 경비로 클라우드 서비스를 가동할 수 있기 때문에 이는 관리되지 않는 데이터의 다양화 문제를 야기하며, 데이터 보안 및 타 시스템과의 연계와 같은 다양한 문제 가중시킵니다. 퍼블릭 클라우드 시대와 함께 SaaS 기반의 다양한 데이터 서비스들이 등장하고 있습니다. 퍼블릭 클라우드 서비스를 사용하면 데이터를 더 쉽게 저장하고 접근할 수 있지만, 클라우드 벤더 간의 데이터 호환성을 제공하지 않기 때문에 새로운 데이터 사일로가 발생할 수 있습니다. 이는 과거 온-프레미스의 사일로 데이터 환경에서 발생한 동일한 이슈를 야기할 수 있습니다.
1.6 사이로 환경 허물기
모든 사용자는 고객과 관련된 모든 데이터를 결합하여 완벽한 고객-360을 구현 하고자 합니다. 예를 들어, 마케팅 전문가는 이메일, 모바일, 채팅, 웹사이트 사용 이력, 소셜 미디어 게시물, POS 거래 및 CRM 데이터를 모두 가져와 고객을 완벽하게 이해하고자 합니다. 어떤 경우에는 외부 기간의 데이터도 필요합니다. 기업 내/외부의 데이터는 모두 한곳에 저장되어야 합니다. 이 데이터를 활용하여 기업은 타겟화된 고객 마케팅을 위한 캠페인 정보로 활용할 수 있습니다. 의료, 법률, 마케팅, 재무 및 기타 모든 영역에서 비즈니스 전문가, 데이터 분석가, 데이터 엔지니어, 데이터 과학자 및 애플리케이션 개발자에 의해 수행되는 정형/비정형 리포팅 업무, 데이터 분석, AI/ML 모델 개발/학습과 같은 복합적인 분석 워크로드는 일관된 분석 결과를 위해 단일 데이터 플랫폼에서 수행되어야 합니다. 멀티-클라우드 환경을 사용하는 경우에도, 데이터 복사 및 이동 없이 모든 데이터에 동시에 접근하여 사용할 수 있어야 합니다.
1.7 Data Cloud 영향도 이해
데이터 클라우드는 멀티-클라우드 환경을 지원하는 글로벌 데이터 네트워크입니다. 사용자의 클라우드 환경과 관련 없이 데이터 클라우드를 사용하면, 기업 사용자들은 안전하고 통제되는 방식으로 데이터에 접근, 분석 및 공유할 수 있습니다. 데이터 클라우드는 기업 내/외부의 모든 데이터를 한 곳으로 통합하여 제공함으로써 다양한 데이터 워크로드를 단일 플랫폼에서 수행할 수 있습니다. 데이터 클라우드는 다음과 같은 특징을 통해 기업들이 데이터-기반의 비즈니스 모델로 전환하는 데 도움을 줍니다:
» 광범위한 데이터 기반 워크로드 지원
» 다양한 데이터 소스들의 데이터를 소비자들에게 직접 제공
» 비용-효율적인 퍼블릭 클라우드 서비스 활용
1.8 Cloud Network을 통한 데이터 공유
산업 디지털화가 가속화되면서, 모든 기업들은 데이터를 공유해야 합니다. 예를 들어, 소매 업체는 일반적으로 판매 정보를 공급 업체와 공유하여 재고 및 공급망을 최적화하는 데 사용합니다. 데이터 클라우드는 데이터 공급자와 소비자 간의 원활하고 투명한 방식으로 데이터 공유 및 데이터 서비스를 제공하여 여러 사용자 간의 상호 작용을 용이하게 합니다. 데이터 클라우드 내에서 데이터 공급자는 데이터 소비자와 1:1 공유 관계를 구축하거나, 데이터 서비스 업체는 데이터 소비자들과 1:n 관계를 설정할 수 있습니다. Snowflake는 Snowflake Data Marketplace를 통해 데이터 상용화를 위한 에코 시스템을 구축하는 데 도움을 주고 있습니다. 이 마켓플레이스도 데이터 클라우드의 부분이며 사용자에게 고품질의 풍부한 데이터-셋 및 서비스를 제공합니다. 데이터 클라우드는 새로운 글로벌 데이터 공유 아키텍처를 기반으로 모든 사용자를 이 환경의 구성원으로 정의합니다. 승인된 사용자는 데이터를 다른 위치로 복사 및 이동 없이 데이터 클라우드에서 사용 가능한 모든 데이터에 접근할 수 있습니다. 데이터는 표준화된 데이터 거버넌스 모델에 따라 원하는 장소에서 접속되어 사용될 수 있습니다.
1.9 Looking Ahead
모든 종류의 데이터 생성 및 소비의 증가는 글로벌 데이터 영역의 지속적인 성장을 촉진 시켰습니다. 대부분의 기업들은 기술적 혹은 비즈니스적인 이유로 현재 기업 내/외부에서 사용 가능한 일부 데이터만을 사용하고 있습니다. 이제는 데이터 저장, 처리 및 관리를 위해 신규 기술을 기반으로 한 새로운 패러다임이 필요합니다. 데이터 클라우드는 새로운 기술을 통해 기업 내의 다양한 부서 들이 생산해 내는 데이터를 모바일화 할 수 있게 도와줍니다. 데이터 클라우드는 기업 내의 여러 부서들이 그들의 데이터에 쉽고 안전하게 접근하여 사용할 수 있고 동시 작업이 무제한으로 쉽게 확장될 수 있는 글로벌 네트워크입니다. 데이터 클라우드에서는 사일로 된 데이터들을 단일 저장소에 통합하고, 사용자가 원하는 데이터-셋을 쉽게 식별할 수 있어야 하며, 플랫폼의 데이터를 통제되는 방식으로 안전하게 공유할 수 있어야 하며, 다양한 분석 워크로드들이 실행될 수 있어야 합니다. 또한, 데이터 클라우드는 멀티-클라우드 환경에서도 동일한 사용자 경험을 제공해야 합니다.
2. Data Cloud 데이터 클라우드의 가치와 역량 이해
데이터 클라우드는 비즈니스 리더, 데이터 엔지니어, 데이터 과학자 및 비즈니스 분석가들이 다양한 방법으로 데이터를 모바일화하여 데이터 플랫폼 사용자에게 최상의 서비스를 제공합니다. 여기에서는 데이터 클라우드의 주요 용도와 글로벌 데이터 네트워크의 고유한 속성을 설명합니다.
2.1 Data Cloud에 적합한 작업 유형 이해
Snowflake는 기업의 모든 부서들이 데이터 사일로(온-프레미스 및 퍼블릭 클라우드 모두를 포함)를 제거함으로써 다양한 분석 워크로드가 실행 가능하며, 기업 내 부서 간 또는 외부 기관과 데이터를 쉽고 안전하게 공유할 수 있습니다. 주요 이점은 다음과 같습니다:
- 모든 데이터 활용: 정형, 반정형 및 비정형 데이터를 단일 플랫폼으로 통합함으로써 데이터 웨어하우스, 데이터 레이크 및 데이터 마트와 같은 별도 분석 플랫폼을 구축할 필요가 없습니다. 또한 다른 부서, 협력사, 고객 및 기타 이해 관계자로 구성된 외부 에코 시스템과 데이터를 안전하게 공유하여 분석 작업을 단순화합니다. 데이터 클라우드의 일부인 Snowflake Data Marketplace를 통해 데이터-세트, 데이터 서비스 및 데이터 애플리케이션에 접속하여 데이터 복사 및 이동 없이 필요한 데이터를 쉽게 공유받을 수 있습니다.
- 보안 및 데이터 거버넌스의 데이터 통제: 데이터 클라우드는 모든 데이터를 단일 플랫폼으로 통합 할 수 있기 때문에 데이터 사일로 현상을 방지할 수 있습니다. 단일 플랫폼 기반으로 전체 데이터-셋에 대한 유연한 데이터 거버넌스 및 보안 정책을 생성 및 시행하여 다양한 워크로드에 일관되게 적용할 수 있습니다. Snowflake는 중요 데이터 개인 보호 규정에 관련된 보안 및 컴플라이언스 위반의 위험을 최소화합니다.
- 데이터 기반의 비즈니스화: 데이터 클라우드는 엔지니어링, 데이터 웨어하우스 및 데이터 과학과 같은 다양한 워크로드에 대해 거의-무제한에 가까운 리소스 사용성, 확장성 및 동시 작업 수용성을 제공하도록 설계되었습니다. 데이터 클라우드에서는 그림 2-1과 같이 데이터를 분석하고, 새로운 AI/ML 모델을 실행하여 데이터를 기반으로 한 비즈니스 의사결정을 수행할 수 있고, 새로운 비즈니스 통찰력을 발굴할 수 있으며 데이터 기반의 수익 모델로 전환할 수 있습니다.
2.2 Data Cloud의 고유한 속성 파악
데이터 클라우드는 1) 플랫폼과 2) 데이터의 두 부분으로 구성되어 있습니다. Snowflake 플랫폼은 데이터 클라우드를 위한 엔진입니다. 데이터는 플랫폼을 통해 통합 저장되며, 사용자 접근을 처리하고 공유를 위한 다양한 기능을 수행하는 주체입니다. 모든 산업의 기업들은 데이터 클라우드로 데이터를 통합하여 다양한 분석 워크로드를 효율적으로 실행할 수 있습니다. 즉, 데이터 클라우드는 데이터 엔지니어링, 데이터 웨어하우스 및 데이터 과학자와 같은 다양한 워크로드가 동일한 데이터에 대해 동시에 수행될 수 있습니다. 스토리지와 컴퓨팅을 분리한 Snowflake 아키텍처 때문에 실행 가능한 워크로드의 수는 제한되지 않고 처리 가능합니다. 또한, 데이터 클라우드는 데이터 파일을 복사하거나 이동 해야 하는 전통적인 데이터 플랫폼의 사일로 현상을 제거함으로써, 원활한 데이터 및 서비스 공유 방식을 지원합니다.
- 단일 데이터 클라우드로 표준화: 어떤 면에서 데이터 클라우드는 인터넷과 유사합니다. 인터넷은 여러 사용자들이 정보를 공유하고 문서를 연결할 수 있는 플랫폼입니다. 이와 유사하게 누구나 Snowflake Data Marketplace의 3rd-party 데이터와 서비스를 포함한 광범위한 데이터 클라우드의 에코시스템을 통해 데이터에 접속하여 사용할 수 있습니다. Snowflake 데이터 클라우드는 3개의 주요 퍼블릭 클라우드 벤더 환경에 대해 전 세계에 리전에서 서비스를 제공하며 리전 간에 데이터 작업을 원활하게 제공합니다. 모든 데이터 클라우드의 워크로드는 일관되게 실행되며, 사용자는 위치나 클라우드 벤더와 관련 없이 동일한 사용자 경험을 제공받을 수 있습니다.
- 모든 유형의 데이터 지원: Snowflake는 최고-수준의 정형 및 반정형 데이터를 지원하는 단일 플랫폼으로 데이터 관리 및 분석에 대한 사용자 인식을 변화시켰습니다. Snowflake는 오디오, 비디오, 텍스트, 이미지 데이터, PDF 및 기타 유형의 비정형 데이터를 향후 지원할 예정입니다. 즉, Snowflake 데이터 클라우드 플랫폼은 업무 시스템이 생성하는 데이터와 센서와 같은 기계에서 생성되는 데이터를 원천 형식 그대로 수용하여 처리할 수 있습니다. 모든 기업들은 기술적인 제약사항 때문에 원하지만 사용할 수 없었던 데이터 플랫폼을 Snowflake를 통해 구축하여 사용할 수 있게 되었습니다.
- 모든 데이터 워크로드 지원: 데이터 클라우드를 사용하면, 비용, 복잡성을 포함한 여러 사일로 된 데이터 아키텍처로 야기된 여러 시스템에 대한 관리 부담을 없이 기업 내의 모든 데이터를 모바일화할 수 있습니다. 데이터 클라우드의 진정한 가치는 데이터를 통합 저장, 관리 및 보호하는 데 그치지 않으며, 데이터에 대한 활용을 간소화합니다. 그림 2-2는 이후 설명할 데이터 클라우드에서 지원 가능한 워크로드의 유형입니다.
2.3 데이터 공유(Data Sharing)의 잠재력 증대
이전에 설명한 것과 같이, 데이터 클라우드는 여러 조직의 사용자들이 데이터를 빠르게 공유할 수 있는 글로벌 네트워크를 가능하게 합니다. 데이터 공급자는 데이터 공유를 위해 데이터 복사 및 이동 없이 공유하고자 하는 데이터를 쉽게 데이터 소비자에게 공유할 수 있습니다. 데이터 공유는 데이터만을 대상으로 하지 않습니다. 데이터 서비스 제공업체는 데이터 서비스를 통해 고유한 솔루션 및 비즈니스 로직도 공유할 수 있습니다. 예를 들어, 데이터 과학 서비스 제공업체는 고객에게 전체 데이터-세트를 공유하지 않고도 데이터에 대해 실행 가능한 ML 모델만을 공유하여 제공할 수 있습니다. 데이터에 대한 접근은 공유 데이터 서비스를 통해 백그라운드로 실행됩니다.
2.4 Snowflake Platform 소개
Snowflake는 클라우드 환경을 위해 새롭게 설계되고 개발되었기 때문에, Snowflake 플랫폼은 데이터 클라우드를 지원합니다. 다음은 Snowflake 플랫폼의 주요 특징입니다:
- 클라우드 기반 확장성 및 성능 제공: Snowflake 플랫폼은 데이터 볼륨, 성능 및 동시 워크로드 수용에 대해 클라우드-규모 컴퓨팅 지원을 위해 설계되었습니다. 이 고유한 클라우드-기반 아키텍처는 데이터양 또는 동시 작업수와 상관없이 온-디맨드 방식으로 사용자가 요청한 새로운 워크로드 실행에 필요한 컴퓨팅 및 스토리지 리소스를 동적으로 프로비저닝할 수 있습니다. 워크로드 실행을 위한 히든 구성 요소가 존재하지 않으며, 워크로드 실행 시 다른 워크로드와 자원 경합에 의한 성능 저하 현상도 발생하지 않습니다.
- 월등한 경제적 가치 제공: Snowflake는 비용-효율적인 비용 모델을 제공하기 때문에 사용자는 사용한 시간 단위(1초)로 비용을 지불하면 됩니다. 스토리지 및 컴퓨팅 용량은 사용자가 정의한 임계 값 기준으로 자동으로 프로비저닝되기 때문에 사용자는 플랫폼 인프라에 대한 관리보다는 업무에 집중할 수 있습니다. 클라우드 리소스 사용 비용에 대한 추가 혜택은 Snowflake가 퍼블릭 클라우드 벤더와 대량의 용량에 대해 사전에 계약했기 때문에, 고객은 이 계약에 의한 가격 측면의 혜택을 바로 적용받을 수 있습니다.
- 사용 편의성: Snowflake 플랫폼은 다른 클라우드 데이터 플랫폼 또는 DaaS 제품보다 사용하기가 훨씬 더 간단합니다. 플랫폼 사용을 위해 별도의 전문 지식이 불필요하기 때문에 IT 운영 관리자의 구성 옵션 변경 및 튜닝 작업은 불필요하며, 데이터 기반의 분석 업무에 집중할 수 있습니다.
- 멀티-클라우드(Multi-cloud) 및 크로스-클라우드(cross-cloud)간의 유연성 제공 : Snowflake 데이터 클라우드는 AWS, MS Azure 및 GCP와 같은 주요 클라우드 벤더 환경을 모두 지원합니다. 사용자는 단일 클라우드 벤더를 표준 플랫폼으로 선정할 필요가 없습니다. 비즈니스 요구사항에 따라 멀티-리전 및 멀티-클라우드 환경을 사용할 수 있으며 이 환경 간의 데이터를 원활하게 공유할 수 있습니다. 예를 들어, 멀티-클라우드 전략을 사용하는 다국적 회사는 전 세계 고객들에게 원활한 서비스를 제공하고 재해 복구 전략을 개선하기 위해 멀티-클라우드 환경에 Snowflake 데이터 클라우드를 구축하여 사용할 수 있습니다. 이와 마찬가지로 데이터 공급자는 Snowflake의 글로벌 클라우드 인프라를 통해 여러 지역 및 멀티-클라우드 환경을 사용하는 다른 조직과 데이터를 공유할 수 있습니다. Snowflake는 퍼블릭 클라우드 플랫폼을 완벽하게 추상화하기 때문에 사용자와 관리자는 별도의 클라우드 전문 지식이 필요하지 않습니다. 사용자는 플랫폼 구축 및 활용을 위해 클라우드 벤더와 직접 작업할 필요가 없으며, 퍼블릭 클라우드 사용에 대해 별도의 청구서도 받지 않습니다. Snowflake는 클라우드-애그노스틱하도록 설계되었습니다. 즉, AWS, MS Azure 및 GCP 환경에서 동일하게 실행되도록 개발되었습니다. 통합된 단일 코드 기반의 구현은 주요 클라우드 벤더에 모두 적용되어 있으므로, 사용자는 데이터와 워크로드를 여러 클라우드 플랫폼에서 원할하게 이동 및 수행하면서도 논리적으로 여러 클라우드 환경에 대해서도 하나의 플랫폼으로 사용할 수 있음을 의미합니다. 특정 클라우드 벤더에게 종속적이지 않는 속성은 전 세계 사용자들에게 동일한 사용자 경험의 서비스를 제공하거나 글로벌 재해 복구 전략을 수립할 때 큰 이점을 제공합니다.
- 보안: 강력한 데이터 거버넌스 및 컴플라이언스 프레임워크는 데이터 분석 플랫폼에 매우 중요한 요소입니다. Snowflake 데이터 클라우드는 모든 데이터에 대해 일관된 거버넌스 및 안전한 데이터 접근을 제공합니다. 다단계(Multi-level) 보안은 데이터가 저장된 모든 시설의 물리적 보안, 데이터 암호화, 암호화 키 관리, 역할-기반 접근 통제 모델, 객체-수준 권한 및 강력한 데이터베이스 보안이 포함됩니다. Snowflake 데이터 클라우드는 규제 및 데이터 개인 정보 보호 정책을 준수함으로써 민감한 데이터를 안전하게 처리합니다. 많은 영역에서 새로운 개인 정보 보호 요구 사항이 계속해서 요청되지만 Snowflake는 사용자가 국가 및 산업별 규정을 준수하는데 많은 비용이 소요되는 규정을 준수하도록 지속해서 발전하고 있습니다.
- 고유한 협업 모델 : Snowflake의 고유한 아키텍처는 사용자가 기업 내/외부의 사용자들과 데이터를 기반으로 협업할 수 있는 새로운 비즈니스-모델을 제공합니다. Snowflake의 데이터 공유 기능을 사용하면, 기업 내/외부의 모든 사용자들은 라이브 데이터에 대해 데이터양, 성능 및 동시 사용자 제한 없이 데이터를 공유하여 사용할 수 있습니다. 이를 통해 기업 사용자는 데이터를 활용하는 방법을 변화할 수 있으며, 데이터 기반의 수익 모델로 전환할 수도 있습니다.
3. Data Cloud에서의 협업
데이터 플랫폼을 구축하는 데 있어 가장 큰 장애물 중 하나는 데이터 공유 어려움입니다. 기업 내에 존재하는 다양한 데이터 플랫폼은 기술적 또는 비즈니스적인 제약사항 때문에 제한된 데이터 공유만을 지원하고 있으며, 공유로 인한 아키텍처는 복잡해지고 관리하기도 어렵습니다. 또한, 기업 내에서 사용하는 데이터는 과거 정형 데이터에서 반정형 및 비정형으로 다양화되는 추세이며, 데이터의 증가량도 관리 및 예측하기 어려워졌습니다. 데이터 거버넌스 체계 및 보안 규정은 플랫폼마다 상이하기 때문에 비용을 증가하는 주요 원인이 되며, 외부 기간과 협업하기 위해서는 GDPR, CCPA와 같은 다양한 산업 데이터 개인 정보 보호 규정 준수로 인해 데이터 공유를 저해하고 있습니다. Snowflake의 데이터 클라우드는 다음 두 가지 기능을 통해 이와 같은 장애물을 해결할 수 있습니다:
» Snowflake Secure Data Sharing은 사용자가 데이터 이동 없이 안전하게 데이터를 기업 내/외부의 사용자들에게 공유할 수 있습니다.
»Snowflake Data Marketplace는 데이터 소비자에게 새로운 외부 데이터 및 데이터 서비스를 동일한 방식으로 사용하여 이전에 달성 불가능한 새로운 비즈니스 인사이트를 발굴하는 데 도움을 주고, 데이터 공급자에게는 데이터 기반의 수익 모델로 전환할 기회를 제공합니다.
3.1 데이터의 재귀 비율(Recursion Rate)에 대한 이해
오늘날 비즈니스에 영향을 미치는 중요 요소는 고유 데이터(새롭게 생성된 데이터)와 복제된 데이터(기존 데이터)의 비율입니다. IDC의 2020년 Global DataSphere 보고서에 따르면, 이 비율은 1:9에서 1:10으로 변화하고 있으며, 이는 새롭게 생성되는 데이터보다 기존 데이터를 더 많이 복사하여 사용함을 의미합니다. 이 현상을 데이터의 재귀 비율(기존 데이터를 반복해서 사용하는 비율)이라고 합니다. 복사되어 공유되는 데이터는 원본 데이터가 변경될 때마다 새롭게 동기화되어야 합니다. 이는 데이터의 재귀율을 높이는 주된 원인입니다. 대부분의 경우 데이터의 최신 상태를 유지하기 위해 한 번만 동기화되지 않고, 주기적으로 동기화 작업을 수행해야 합니다.
3.2 데이터를 공유하기 위한 최신 방식 소개
Snowflake의 Secure Data Sharing 기술은 기존 데이터 공유 방식에서 발생한 여러 가지 문제를 해결할 수 있습니다. 전통적인 데이터 공유 솔루션들은 공유를 위해 별도의 파이프라인을 생성하고 관리해야 합니다. Snowflake의 데이터 공유 방식은 공유를 위한 데이터-셋에 접근 제어 권한만 설정하면 공유하고자 하는 데이터를 안전하게 공유 할 수 있습니다. 데이터 공급자는 공유할 데이터의 복사, 이동 및 데이터 동기화를 위한 추가 작업 없이 데이터 소비자에게 공유하려는 데이터에 대한 접근 권한을 쉽게 설정하여 공유할 수 있습니다. 모든 데이터와 데이터베이스 객체들은 Snowflake 데이터 클라우드에서 중앙 집중식으로 관리됩니다. 쿼리 및 트랜잭션이 멀티-클라우드에 걸쳐 있는 경우에도 종단 간 보안, 거버넌스 및 메타데이터 관리 서비스가 체계적으로 적용되어 일관된 사용자 경험을 제공합니다. 공유를 위한 데이터 복사 및 이동이 발생하지 않기 때문에, 파이프라인 구축 및 관리할 필요가 없으며, 여러 시스템 간의 데이터 중복이 발생하지 않기 때문에 스토리지 비용을 최적화 할 수 있습니다. Snowflake 고객은 공유할 사용자의 계정이 다른 클라우드 환경 또는 다른 지역이라도 공유할 데이터-셋에 대해 해당 사용자에게 접근 권한만을 부여하여 공유할 수 있습니다. 공유받은 사용자는 데이터를 자신의 환경으로 이동할 필요 없이 단순하게 쿼리하여 사용할 수 있습니다. 이와 같은 Snowflake에서 제공하는 광범위한 거버넌스 및 보안 기능 때문에 데이터 공급자는 자신의 Snowflake 플랫폼에서 데이터 제어를 유지하면서 데이터를 외부 사용자들에게 공유할 수 있습니다. 데이터 공유 관계는 1:1, 1:n 및 n:n과 같이 다양화될 수 있습니다. 이 방식의 가장 큰 장점은 그림 3-1과 같이 데이터 공급자와 소비자 간의 데이터 동기화 시간이 필요 없이 항상 라이브 한 데이터를 실시간으로 공유할 수 있는 것입니다.
개선된 데이터 공유(DATA SHARING)
데이터 공유를 위해 데이터 클라우드를 사용해야 하는 이유는 무엇인가요?
- 공유 방식 단순화: 이메일, 엑셀 문서, 공유 네트워크 드라이버, API 방식 및 기타 전통적인 데이터 공유의 데이터 복사 및 이동을 제거
- 대기시간(Latency) 감소: 데이터 동기화 지연으로 야기되는 데이터 불일치를 제거
- 비즈니스 영역에 확대 적용: 비즈니스 전반에 걸쳐 데이터 공유를 통해 더 많은 업무로 확대 적용
Note: Snowflake Secure Data Sharing 기술은 기존 데이터 공유 방법과 달리 데이터 공유를 위한 추가 소프트웨어/하드웨어에 대한 구축 및 유지 보수가 불필요하며, 데이터를 물리적으로 전송할 필요가 없기 때문에 여러 부서에서 관리되는 라이브 데이터를 쉽게 공유하고 사용할 수 있습니다.
3.3 Snowflake Data Marketplace 활용
데이터 기반의 새로운 기회를 확장하고 달성하기 위해서 Snowflake는 Snowflake Data Maketpalce를 데이터 클라우드 플랫폼의 부분으로 제공하고 있습니다. 이 마켓플레이스에는 다양한 데이터 공급 업체가 등록되어 서비스를 공급하고 있습니다. 추가로 모든 Snowflake 고객들은 자신의 데이터를 Snowflake Data Marketplace에 등록하여 새로운 수익 모델을 창출할 수 있습니다. 데이터 소비자들은 데이터 마켓플레이스에 등록된 고품질의 외부 데이터를 자신의 데이터와 결합하여 새로운 비즈니스 인사이트를 발굴할 수 있습니다. 그림 3-2와 같이 다른 데이터 마켓플레이스와 달리 Snowflake에서 제공하는 고유한 데이터 클라우드 아키텍처는 데이터 복사나 이동 없이 마켓플레이스에 등록된 라이브 데이터에 직접 쿼리를 실행하여 분석 업무를 수행할 수 있습니다. 사용자는 Snowflake Data Marketplace를 사용하여 자신에게 필요한 데이터 또는 데이터 서비스만을 사용할 수 있으며, 때로는 자신의 데이터를 등록하여 새로운 수익 모델로 전환할 수 있습니다. 인구 통계, 마케팅, 날씨 및 COVID-19 데이터-세트는 Snowflake Data Marketplace의 전 세계에게 접근하여 상요할 수 있는 데이터의 예입니다. 마지막으로, Snowflake는 생산적인 방식으로 데이터를 검색, 관리, 모니터링 및 공유할 수 있는 기능이 포함되어 있습니다. 허가받은 데이터 소비자는 승인된 데이터에 대한 보안 접근 권한을 부여받습니다.
3.5 Snowflake Data Marketplace의 차별성
다른 데이터 마켓플레이스에서는 데이터 소비자가 데이터 파이프라인을 독자적으로 구축하고, 공유받을 데이터를 파일 기반으로 수집하여 온-프레미스나 퍼블릭 클라우드의 자신의 데이터 플랫폼에 로딩해서 사용해야 합니다. 이 방식에서 데이터 소비자는 데이터가 갱신될 때마다 데이터 동기화 프로세스를 수행해야 합니다. 일반적으로 이 데이터 파이프라인은 별도의 솔루션 사용 또는 유지 관리가 필요합니다. Snowflake의 Secure Data Sharing 기술을 사용하면, Snowflake Data Market place 사용자와 데이터 서비스 공급 업체가 몇 번의 클릭으로 라이드 데이터를 공유하여 사용할 수 있습니다. 데이터 복사 및 이동 없이 소비자의 Snowflake 계정에서 공유 데이터에 접근할 수 있습니다.
4. Snowflake 플랫폼 상세
Snowflake는 지난 30년간의 IT 혁신 기술을 검토하여, 거의 무제한에 가까운 성능, 규모, 데이터 거버넌스 및 보안이 가능한 데이터 플랫폼을 개발하기 위해 데이터 사용, 관리 및 운영에 관련된 모든 측면을 고려하였습니다. 이 노력의 결과로 데이터 클라우드를 지원하는 완전히 새로운 클라우드 기반의 데이터 플랫폼이 탄생되었습니다. 여기에서는 Snowflake 플랫폼에 대해서 자세하게 설명하도록 하겠습니다.
4.1 올바른 아키텍처로 새롭게 시작
Snowflake 플랫폼은 기존 레거시 기반의 데이터 플랫폼과 달리 클라우드용으로 새롭게 설계되었습니다. 그 결과 기존 데이터 플랫폼에서 공통으로 발생한 다양한 이슈를 자연스럽게 해결 할 수 있었습니다. 퍼블릭 클라우드의 가용성, 수용성 및 활용도를 기반으로 Snowflake는 멀티-리전 및 멀티-클라우드에 배포되지만, 단일 사용자 인터페이스를 통해 접근할 수 있으며, 다양한 분석 워크로드를 단일 플랫폼에서 지원하고 최소의 대기시간(latency)으로 거의 무제한에 가까운 데이터양과 다양한 데이터 유형을 처리할 수 있게 되었습니다.
클라우드-기반 아키텍처의 고유성
다음 네 가지 기술 혁신이 플랫폼의 독특한 기능 구현을 가능하게 해줬습니다:
- 클라우드 환경에서 제공하는 거의-무제한의 확장성, 동시 사용성 및 효율성을 지원하는 멀티-클러스터 공유 데이터 아키텍처
- 멀티-클라우드 실행 환경이 마치 하나처럼 작동하는 통합 코드 기반(unified code base) 구현
- 기업 수준의 데이터 보호를 보장하는 내장된 데이터 거버넌스 및 보안 기능 제공
- 데이터 복사나 이동 없이 실시간으로 라이브 데이터를 안전하게 공유할 수 있는 기능
Snowflake만이 제공하는 이 고유한 아키텍처로 인해 기업 내/외부의 많은 사용자들이 Snowflake 플랫폼 및 Snowflake Data Marketplace를 사용하여 데이터를 자유롭게 협업 할 수 있습니다.
4.2 역사적 교훈을 바탕으로 새로운 플랫폼 구축
기존 데이터 플랫폼은 온-프레미스 데이터 센터에 고정된 하드웨어 리소스를 기반으로 배포 및 동작 되도록 설계되었습니다. 때문에 데이터 웨어하우스, 데이터 레이크, 데이터 마트 및 기타 데이터 플랫폼을 구축할 때 올바른 시스템 사이징이 매우 중요했습니다. 일부의 경우 새로운 데이터 플랫폼이 얼마나 사용될지 예측하기 어렵기 때문에, 실제로 필요한 리소스 보다 더 많은 하드웨어 및 소프트웨어에 대한 투자가 이뤄졌습니다. 일부 데이터 플랫폼은 평소와 피크 시점의 사용량의 차이가 많은 경우, 어쩔 수 없이 피크 시점에 필요 리소스를 기반으로 플랫폼을 구축하였습니다. 데이터 분석가를 위한 분석 애플리케이션, 데이터 과학자를 위한 AI/ML 애플리케이션, 데이터 엔지니어가 생성한 데이터 파이프라인과 같은 데이터-기반 워크로드는 시간 경과에 따라 다양해지고 있으며 점점 더 중요해졌습니다, 기업이 활용하는 데이터의 양도 급증했으며, 종류도 다양화되었습니다. 그 결과 기존의 데이터 플랫폼은 오늘날 데이터에 대한 사용자 요구사항을 제대로 만족시키지 못하고 있습니다. 또한, 기존 데이터 플랫폼은 일반적으로 확장성이 좋지 않으며, 고정된 스토리지와 컴퓨팅 리소스로 인해 동시 처리할 수 있는 작업의 수는 제한됩니다. 단일 플랫폼에 여러 워크로드가 중복되는 경우, 동시 처리 작업의 제한으로 인해 리소스 경합으로 대기 시간은 길어질 수 밖에 없으며 이는 분석 업무의 성능 저하 현상으로 귀결됩니다. 퍼블릭 클라우드 등장으로 컴퓨팅 및 스토리지 용량은 무제한으로 프로비저닝하여 사용할 수 있게 되었습니다. 데이터 플랫폼은 이 특징으로 인해 이론적으로는 더 많은 사용자와 워크로드를 수용할 수 있지만, 전통적인 데이터 플랫폼은 클라우드의 이 특징을 지원하도록 설계되지 않았습니다. 일부 클라우드 데이터 플랫폼은 단순히 "Lift & Shift" 방식으로 마이그레이션 했기 때문에, 온-프레미스의 제약사항이 클라우드 환경에서 해결되지 않았습니다. 이러한 데이터 플랫폼은 대부분 특정 데이터 유형(정형 데이터용 데이터 웨어하우스, 반정형 데이터용 데이터 레이크)에만 적합하게 동작하기 때문에 위의 이유로 업무 또는 부서별 데이터 플랫폼이 사일로 된 환경으로 구축되어 운영중입니다.
- 성능 향상 및 비용 절감: Snowflake 플랫폼은 처음부터 클라우드의 고유한 특성을 최대한 활용하도록 설계되었습니다. 컴퓨팅 및 스토리지 리소스는 독립적으로 확장할 수 있습니다. 이 때문에 여러 사용자들은 데이터 수집, 가공, 쿼리 분석 및 AI/ML 모델 학습과 같은 다양한 워크로드를 동시에 성능 저하 현상 없이 실행할 수 있습니다. 1) 데이터가 저장되는 중앙 데이터 저장소, 2) 확장 가능한 독립적인 컴퓨팅 처리 환경 및 3) 보안, ID, 트랜잭션 및 기타 공통 서비스를 제공해 주는 클라우드 서비스 계층은 Snowflake를 위한 주요 구성 요소입니다.
- 올바른 아키텍처가 중요한 이유: 이와 같은 기술적 혁신이 중요한 이유는 무엇이며, 비즈니스에 어떤 영향을 줄까요? Snowflake 사용자는 기술적 제한 없이 다양한 데이터 워크로드를 필요한 시점에 필요한 만큼 온-디맨드로 프로비저닝하여 사용할 수 있습니다. 스토리지와 컴퓨팅 리소스는 독립적으로 확장되지만, 둘 다 사용한 만큼만 요금이 부과됩니다. 개별 워크로드는 그림 4-1과 같이 동일한 데이터를 사용하지만, 독립된 전용 실행환경을 제공 받습니다. 플랫폼은 Snowflake에서 특허받은 다중-클라스터 공유 데이터 아키텍처를 기반으로 다른 워크로드 성능에 영향을 주지 않고 거의 무제한에 가까운 동사 사용자 요청을 수행할 수 있습니다. 워크로드 수행을 위한 컴퓨팅 리소스는 특정 시점에 실행된 쿼리 수와 상관없이 사용자에게 일관된 성능을 제공하기 위해 즉시 또는 자동으로 확장될 수 있습니다. Snowflake 플랫폼은 개별 워크로드의 실행 환경은 동적으로 할당하며, 실행 중인 클러스터의 수는 제한되지 않기 때문에, 사실상 무제한의 확장성과 탄력성을 제공합니다. 이를 통해 필요 시점에 리소스를 사용하고 워크로드가 없는 시간 동안은 자동 중지되어 불필요한 비용을 지불할 필요가 없습니다.
4.3 멀티-리전 및 멀티 클라우드 서비스를 위한 단일 플랫폼 구축
데이터 클라우드는 그림 5-2와 같이 전 세개 4개 대륙에 주요 퍼블릭 클라우드 환경에서 실행됩니다. Snowflake 리전은 AWS, MS Azure 및 GCP의 퍼블릭 클라우드 인프라를 기반으로 구축되어 있습니다. 공유 메타데이터 계층은 여러-지역 및 클라우드 환경 간에 데이터와 워크로드를 관리 및 조정하기 위한 네트워크 서비스입니다. 모든 분석 워크로드는 Snowflake에서 일관되게 실행되며, 사용자의 위치나 클라우드 벤더와 관련 없이 동일한 사용자 경험을 제공합니다. Snowflake는 전 세계 모든 클라우드 환경의 모든 데이터에 대해 트랜잭션 무결성을 유지하며, 실행 중인 데이터베이스 작업이 중단되면, 데이터는 이전 상태로 "롤백"처리 됩니다.
4.4. 사용하기-쉬운(Easy-to-Use) 플랫폼 제공
Snowflake 플랫폼을 사용하면, 인프라를 프로비저닝하거나 복잡한 소프트웨어 환경을 관리하지 않고 데이터 분석에 대한 작업을 수행할 수 있습니다. 대부분의 경우 플랫폼은 Snowflake에 의해 자체적으로 관리됩니다. DBA는 인덱스나 파티션을 관리할 필요가 없고, 성능을 튜닝하거나 최적화할 필요가 없습니다. 플랫폼이 개별 워크로드를 자동으로 관리하여 성능을 최적화합니다. 사용자는 플랫폼 관리 업무에서 벗어나 실제 분석 작업에 집중할 수 있습니다. 초당 사용량-기반의 과금 정책을 통해 사용자들은 워크로드에 의해 사용된 스토리지 및 컴퓨팅 리소스에 대해서만 비용을 지불합니다. Snowflake는 별도의 관리 유지 작업이 불필요하기 때문에(Zero Management Platform), 데이터 플랫폼 구축과 같은 관리 작업보다는 데이터 분석 작업에 중점을 둘 수 있습니다.
- 사용량 예측 및 모니터링: 내장된 리소스 모니터링 및 관리 기능은 플랫폼 사용 및 비용 청구에 대해 투명성을 제공합니다. 개별 예산에 연결된 세분화된 사용량 기반의 Show-back 리포트와 Charge-back 기능도 지원합니다. Snowflake는 다음 두 가지 방식으로 전체 사용량을 모니터링, 관리 및 예측할 수 있도록 지원합니다: 1) 모니터링 컨트롤(Monitoring Control) 기능은 플랫폼이 예상대로 크레딧을 소비하는지를 확인하기 위해 플랫폼을 감시 및 2) 관리 컨트롤(Management Control) 기능은 소비량(consumption) 예측을 수행. 고객은 이 기능을 통해 워크로드 실행을 제어하고 과사용을 방지하기 위한 안전장치 역할을 수행할 수 있습니다. 예를 들어, 자동 일시 중단(auto-suspend) 및 자동 재개(auto-resume) 기능은 Snowflake가 워크로드 요청 패턴에 의해 리소스 계산을 자동으로 시작 및 중지합니다.
- 모든 유형의 데이터를 쉽게 사용: 데이터 클라우드에서 사용자는 표준 SQL을 사용해 정형 및 반정형 데이터를 저장, 관리 및 쿼리하여 사용할 수 있습니다. Snowflake는 향후 버전에서 오디오, 이미지, 비디오 및 PDF와 같은 비정형 데이터를 지원할 예정입니다. Snowflake는 GUI기반의 인터페이스를 제공하여, Snowflake에 데이터를 저장하든 퍼블릭 클라우드 벤더의 객체 저장소에 데이터를 저장하든 상관 없이 사용자는 이 인터페이스를 통해 데이터를 쿼리하여 사용할 수 있습니다. 다양한 유형의 데이터 및 워크로드에 대한 글로벌-수준의 클라우드 서비스 계층을 제공함으로써, 관리 작업을 단순화하고 사일로 현상을 제거할 수 있습니다. 이 공통 메타데이터 계층은 모든 사용자 및 워크로드에게 일관된 경험을 제공합니다. 단일 데이터 저장소를 통해 사용자는 작업을 수행하기 전에 데이터를 이동해야 하는 복잡한 파이프라인 작업을 제거할 수 있으며, 실시간 데이터를 여러 워크로드에서 사용함으로써 빠른 데이터 분석을 가능하게 해줍니다.
4.5 강력한 보안 및 거버넌스 시행
멀티-클라우드 환경에서 통합된 코드 기반(unified code base )의 제품을 제공하는 것은 강력한 데이터 보안을 강화하는 데 도움이 됩니다. Snowflake는 모든 퍼블릭 클라우드 환경에 동일한 보안 구성 및 관리 기술을 적용합니다. 단일 플랫폼을 활용함으로써 Snowflake의 사이버 보안 전문자는 여러 감사 로그와 이벤트 로그를 분석하고 데이터를 암호화하기 위해 여러 관리 시스템과 협업할 필요가 없습니다. Snowflake에서 데이터 암호화는 기본값으로 적용되어 있습니다. 데이터는 고객-관리 암호화 키에 따라 전송 및 저장 중에 암호화됩니다. Snowflake의 사이버 보안 팀은 보안 위협을 식별, 차단하고 문제를 해결하기 위해 지속적인 보안 관제 활동을 수행합니다. 역할-기반 접근 통제를 통해 사용자는 명시적으로 허가된 데이터에 대해서만 접근할 수 있습니다. 이 제어 방식은 테이블, 스키마 및 External Table을 포함한 모든 데이터베이스 객체에 적용되며, 여러 유형의 데이터, 여러 지역 및 멀티-클라우드 환경에서도 동일하게 동작합니다. 동적 데이터 마스킹 및 행-기반 접근 정책(row-access policy) 기능과 같은 정책-기반 보안 통제 기능은 데이터를 쿼리하여 사용하는 사용자들에게 부여된 권한에 따라 결과 값을 마스킹하거나 사용자의 역할에 따라 데이터의 가시성을 제한합니다. 보안 뷰(Secure VIEW)는 고객 민감 정보를 마스킹하거나 고객 개인 식별 정보(PII)를 보호하는 것과 동일하게 데이터 사용을 추가로 제한할 수 있습니다. 새로운 태깅 프레임워크를 통해 사용자는 데이터베이스 객체에 태그를 추가하여, 태그-기반의 보안 정책을 시행할 수 있습니다. 마지막으로 Snowflake 플랫폼을 사용하면, 행-기반 접근 정책(row-level access policy)를 쉽게 설정하여 데이터 접근 규칙을 정의할 수 있습니다. Snowflake의 쿼리 엔진은 이 정책을 동적으로 적용할 수 있습니다. 표준 SQL 문을 사용하여 이러한 접근 정책을 설정하기 때문에, 플랫폼 관리자는 이 보안 정책을 쉽게 정의하고 변경할 수 있습니다. Snowflake에 데이터를 통합하여 저장하면, 산업별 또는 지역별 데이터 주권(sovereignty) 요구사항을 쉽게 준수하고 민감한 기업 데이터와 개인 식별 정보(PII)를 보호할 수 있어 데이터 거버넌스를 간소화할 수 있습니다. Snowflake는 모든 데이터와 워크로드에 걸쳐 거버넌스와 보안 관행을 통합하고 외부 테이블에 저장된 데이터에 접근하는 경우에도 적절한 제어를 구현하는 데 도움이 됩니다. 공통으로 적용되는 데이터 접근 제어는 확장된 에코 시스템 전체에서 사용량을 모니터링하고 감사하는데 도움이 됩니다. 데이터가 서로 다른 클라우드 환경에 있고, 다양한 워크로드가 수행되며, 여러 개의 Snowflake 계정이 있는 경우에도 일관된 보안 및 데이터 거버넌스 체계를 적용할 수 있습니다.
5. 모든 워크로드를 위한 단일화된 데이터 플랫폼
Snowflake 플랫폼은 다양한 데이터 워크로드를 지원하도록 설계되었습니다. 여기에서는 데이터 웨어하우스, 데이터 레이크, 데이터 엔지니어링, 데이터 과학, 데이터 애플리케이션 및 데이터 공유와 같은 Snowflake에 배포되는 다양한 데이터 워크로드를 살펴볼 예정입니다.
5.1 데이터 웨어하우스 및 데이터 레이크 구축
데이터 웨어하우스는 주로 관계형 데이터베이스에서 정형 데이터를 저장 및 분석하는 용도로 설계되었습니다. 데이터 레이크는 대량의 원천 데이터의 반정형 데이터를 저장하기 위해 등장했습니다. 초기 데이터 레이크는 온-프레미스 환경에서 Hadoop으로 구축되었으며, 최근에는 AWS S3, MS Azure Blob 및 GCS와 같은 클라우드 객체 스토리지를 사용하여 데이터 레이크를 구축하기 시작했습니다. 이러한 클라우드 기반의 데이터 레이크는 IT 인프라 스택을 관리할 필요가 없지만, 여전히 소프트웨어 기반의 데이터 레이크 환경을 구축 및 관리해야 합니다. 여기에는 플랫폼 구축뿐만 아니라 데이터 분석을 위한 사용자, 데이터 암호화, 데이터 거버넌스 및 기타 데이터 레이크 관리 작업들이 포함되어 있습니다. 이와 대조적으로 Snowflake는 모든 데이터와 워크로드 처리를 위해 EDW, 현대화된 데이터 레이크 및 퍼블릭 클라우드의 최고의 기능들을 결합하여 모든 데이터 유형 및 워크로드를 처리하며, 완전 관리성 서비스로 제공됩니다.
5.2 핵심 워크로드 개선
데이터 웨어하우스 사용 사례는 데이터 분석을 현대화하기 위해 고객들이 Snowflake를 도입한 첫 번째 워크로드 유형이었습니다. Snowflake는 더 많은 워크로드를 수행하기 위해 기능을 지속해서 개선하여 왔습니다. 예를 들어, Snowflake는 이제 GEOGRAPHY 데이터 유형을 통해 지리 공간 데이터에 대한 분석을 지원하고 있습니다. 이는 지도에 점, 선 및 폴리곤과 같은 다양한 기능이 포함되어 있습니다. 데이터 웨어하우스 워크로드는 데이터 분석을 현대화하기 위해 고객들이 Snowflake를 도입한 첫 번째 사례였습니다. 또한, Snowflake는 데이터 레이크의 가치를 극대화하기 위해 웹로그, IoT 장비, 소셜 미디어 및 기타 반정형 데이터를 SQL에서 직접 사용할 수 있는 기능도 포함되어 있습니다. 고객들은 이와 같은 반정형 원천 데이터를 Snowflake에 저장하여 사용하거나 외부 저장소에 저장된 원천 데이터를 External table을 통해 사용할 수 있습니다. 추가로 Snowflake에서 제공하는 새로운 기능은 하이브리드 클라우드를 구축하고자 하는 고객을 위한 제어 기능을 제공하고 있습니다. 예를 들어, Snowflake를 사용하여 대용량 데이터를 가공한 뒤, Snowflake의 데이터 내보내기(Export) 기능을 사용하여 Snowflake에서 데이터를 플랫 파일 형식으로 생성하거나 외부 테이블에 푸시할 수 있습니다. Snowflake는 주기 기반으로 데이터를 Snowflake로 로드하거나, Snowflake에서 외부로 데이터를 언로드하는 프로세스를 지원함으로, 고객에게 다양한 스토리지 옵션을 혼합하여 사용할 수 있는 유연성을 제공하고 있습니다.
5.3 Data Cloud에서 기타 중요 워크로드 실행
데이터 웨어하우스 및 데이터 레이크를 위해 Snowflake를 사용하는 것 외에도 많은 고객들이 Snowflake에서 데이터 엔지니어링, 데이터 과학 및 데이터 애플리케이션에 대한 워크로드도 수행하고 있습니다. 즉, 데이터 클라우드는 단순 데이터 저장뿐만 아니라 데이터 처리를 위한 검증된 솔루션입니다. 즉, 데이터가 데이터 클라우드 플랫폼에 있으면, 데이터가 있는 곳에서 데이터를 처리하는 것이 합리적인 선택입니다.
- 데이터 엔지니어링 워크로드 - 데이터 파이프라인: 데이터 엔지니어링은 분석을 위해 데이터를 수집, 준비, 변환 및 전달을 처리하는 작업을 주로 수행합니다. 이는 종종 데이터 소스에서 타겟 시스템으로 데이터 전송을 자동화하고 분석을 위해 특정 파일 형식으로 데이터를 변경하는 데이터 파이프라인을 구현합니다. 데이터 클라우드는 데이터 형식 변경을 포함한 데이터를 사용 가능한 형태로 만드는 프로세스를 단순화시켜주기 때문에, 데이터 엔지니어가 데이터 파이프라인을 생성하여 데이터 수집 및 변환 작업을 간소화하는 데 도움이 됩니다. 또한, Snowflake는 스트리밍 데이터 수집을 위해 Snowpipe를 통해 배치 및 마이크로 배치 업로드를 자동화하여 사용자가 새로운 데이터를 바로 사용할 수 있게 해줍니다. 추가로 실시간 수집을 위한 Snowflake Kafka 커넥터도 제공하고 있습니다.개발자는 SQL, Java, Scala 및 Python을 사용해서 데이터 프레임의 형태로 Snowflake에서 코드를 작성하고 실행하여 데이터에 관련된 작업을 수행할 수 있습니다. 데이터 엔지니어는 Snowflake 환경에서 여러 개의 스트림 및 작업을 제어하는 데이터 수집 파이프라인을 구축할 수 있습니다. 2020년 11월에 처음 소개된 Snowflake의 Snowpark 서비스를 통해 데이터 엔지니어는 자신이 선호하는 개발 언어를 사용하여 데이터 파이프라인을 개발하여 Snowflake 내/외부의 데이터를 처리할 수 있습니다.
- Data science 워크로드 간소화: Snowflake 플랫폼은 AI, ML 및 Predictive 애플리케이션 개발에 관련된 전체 데이터 과학 라이프 사이클을 간소화해줍니다. Snowflake 데이터 플랫폼은 데이터 과학자에게 AI/ML 모델 개발을 신속하게 개발하고 관련 모델을 학습하는데 필요한 데이터를 간편하게 사용할 수 있도록 도와줍니다. 플랫폼 내에서 복잡한 AI/ML 알로리즘을 실행하고 Snowflake external function 프레임워크를 통해 3rd ML 서비스와 유연하게 통합시킬 수 있습니다. 예를 들어, Java, Python 또는 Scala로 개발된 AI/ML 애플리케이션은 Snowflake external function 프레임 워크를 통해 AI/ML 모델을 호출하여 Snowflake에 저장된 데이터와 상호작용 할 수 있습니다. 데이터 과학자와 데이터 엔지니어는 AI/ML 애플리케이션을 Snowflake 내에서 또는 외부에서 실행할 수 있기 때문에 데이터 과학 라이프 사이클 구축에 유연성을 제공하고 전체 프로세스를 단순화시켜 줍니다.
- 데이터 애플리케이션 작성: 30% 이상의 Snowflake 고객들은 클라우드-기반의 확장성과 비용 효율적인 종량제 비용 모델(Pay-As-You-Go) 모델 때문에 Snowflake를 데이터 애플리케이션 백엔드 시스템으로 사용하고 있습니다. Snowflake 플랫폼은 애플리케이션 개발 및 리소스-집약적인 워크로드 실행을 위해 리소스 제한이 없는 탄력적이고 유연한 실행 환경을 제공합니다. 클라우드 환경에서 모바일 앱 개발자와 SaaS 제공업체가 데이터 수집, 처리 및 분석에 중점을 둔 비즈니스를 시작함에 따라 이는 점점 더 중요해지고 있습니다. 데이터 과학자는 다음과 같은 두 가지 이유로 Snowflake 플랫폼을 선택하여 사용하고 있습니다:
- 모든 데이터 활용: 데이터 과학자는 AI/ML 모델을 개발하고 학습하기 위해 대용량 데이터가 필요합니다. Snowflake를 사용하면 보안 및 거버넌스된 환경에서 데이터 과학자가 필요한 모든 데이터를 단일 데이터 저장소에 저장하고, 다양한 데이터 과학자 도구(예: notebook 및 3rd AI/ML 또는 AutoML 도구)를 사용하여 플랫폼에 저장된 데이터를 쉽게 참조하여 AI/ML 프로세스를 단순화시켜줍니다.
- 데이터 프로그램 가능성(Programmability): Snowflake는 3rd ML 서비스와 통합을 지원하기 때문에, Java, Python, Scala 및 기타 개발 프레임워크를 지원하는 Snowflake 내에서 직접 고급 알고리즘을 실행할 수 있습니다. 이를 통해, 데이터 과학자는 자신이 선호하는 개발 언어를 선택하여 고급 분석을 수행할 수 있습니다.
리소스-집약적인 또는 데이터-집약적인 워크로드를 Snowflake로 마이그레이션함으로써, 데이터 엔지니어, 데이터 과학자, 데이터 애플리케이션 개발자 및 플랫폼 운영 관리자의 업무를 극적으로 단순화시켜줄 수 있습니다. Snowflake 멀티-클러스터 공유 데이터 아키텍처는 여러 사용자가 실행하는 다양한 워크로드 실행에 대한 모든 요구 사항을 충족하는 실행환경을 제공하면서 매년 그 처리 성능이 향상되고 있습니다. Snowflake는 Python, Node.js, Go, .NET, Java와 같은 개발 언어와 SQL을 포함하여 대다수의 개발자들이 사용하는 클라우드 네이티브 개발 도구를 지원하고 있습니다. 또한, Snowflake는 신규 데이터 웹 또는 애플리케이션 개발, 테스트 및 스테이징을 위해 운영과 동일한 데이터를 사용하면서 개별 환경을 별도로 관리할 필요가 없는 유연하고 확장 가능한 아키텍처를 제공하고 있습니다. 이 환경들은 필요한 시점에 온-디맨드로 사용할 수 있으며, 사용한 만큼만 비용을 지불하면 되기 때문에 고객에게 더 많은 가치를 제공하고 있습니다.
5.4 무제한 데이터 공유
데이터 클라우드는 데이터 기반의 공유 및 협업을 위한 사용자를 위한 고유한 기능을 제공합니다. Snowflake는 특정 기업 내/외부의 사용자를 위한 데이터 공유 또는 Snowflake Data Marketplace를 활용한 공개적 데이터 공유 기능을 제공합니다. 전체 데이터 세트 또는 선택한 일부 데이터-셋을 다른 Snowflake 계정과 공유할 수 있습니다. 이 공유 방식의 가장 큰 장점은 데이터 복사본을 유지 관리하거나 데이터 이동 없이 데이터를 통한 협업이 가능합니다. 물리적 데이터 교환이 불필요한 이 공유 방식은 일관된 데이터 거버넌스와 보안 기능을 적용하여 모든 사용자에게 동일한 사용자 경험을 제공해 줄 수 있습니다. 글로벌-수준으로 적용되는 보안 및 거버넌스는 컴플라이언스 준수를 단순화하고 보안 위험을 줄여줍니다. Snowflake를 사용하면 광범위한 또는 공개 에코시스템 내에서 데이터를 더 쉽게 공유할 수 있습니다. 즉, 다른 데이터 마켓플레이스에서 제공하는 "모든 경우에만 적용할 수 있는(One Size Fits All)"기반의 데이터 공유 대신, 데이터 공급자가 개별 클라이언트에 대해 동일한 테이블에 대해서도 개인화된 공유 데이터-셋을 구성할 수 있습니다. 또한 Snowflake 플랫폼은 기존의 파일 기반의 구독 서비스에서 제공하지 못하던, 공유 데이터에 행-수준(Row-level) 접근 통제와 같은 거버넌스 기능도 제공합니다. 공유를 위해 선택한 데이터베이스 객체에 실시간, 읽기-전용 접근 권한을 부여하여 데이터 복사나 이동 없이 Snowflake는 Snowflake 리전 간의 1:1, 1:n 및 n:n 공유 관계를 형성할 수 있습니다. 또한, 사용자는 타겟 계정의 데이터 동기화를 투명하게 유지하는 Snowflake 글로벌 복제 기술을 활용하여 지역과 클라우드 간에 데이터와 개체를 공유할 수 있습니다.
6. Snowflake Data Cloud를 시작하는 6단계
Data Cloud는 데이터에 안전하게 접속, 표준화, 통합, 분석 및 공유할 수 있는 데이터-연결 세계에 대한 Snowflake의 비전입니다. Snowflake 고객이라면, 이미 이 글로벌 네트워크의 일원입니다. 신규 고객인 경우 다음 단계에 따라 시작하세요:
- 신규 계정 생성: www.snowflake.com에 방문하여, 지리적 위치와 선호하는 클라우드 벤더를 고려하여 원하는 리전에서 신규 계정을 생성하십시오. 기업의 다른 구성원이 추가 계정을 생성하면, Snowflake가 자동으로 안전하게 계정을 연결하기 때문에, 지리적 위치와 관련 없이 계정 간에 쉽게 협업하고 데이터 복제를 할 수 있습니다. 신규 Snowflake 계정을 만드는 명령은 초기 계정에서 직접 실행되며, 관리자 역할(admin role)이 있는 모든 사용자가 사용할 수 있습니다.
- 데이터를 로드하고 통합하기: Snowflake에 로드할 데이터 소스를 식별합니다. 1) 기존 데이터 웨어하우스 또는 데이터 소스를 데이터 스테이징 용으로 계속 사용할 예정인가요? 2) 데이터 수집이 스트리밍 방식인가요 아닌 배치 방식인가요? 초기 데이터 마이그레이션 및 변경 분 반영에 대한 사항을 고려해야 합니다. 예를 들어, 과거 데이터의 경우 초기 데이터 마이그레이션으로 대량 데이터를 일회성으로 로드하면 됩니다. 이 데이터에 변경분이 발생하면, 데이터 파이프라인을 설정하여 관리해야 합니다. 데이터 수집 아키텍처 시, 사일로 된 데이터 플랫폼에서 Snowflake로 데이터를 통합하기 위한 3rd 솔루션들이 사용될 수 있습니다.
- 데이터 거버넌스 및 보안 적용: 데이터 기반의 비즈니스를 지원하기 위해서는 데이터 품질을 유지하고, 규제 지침을 준수하며 데이터를 안전하게 보호하기 위한 방안이 마련되어야 합니다. 초기 데이터 로드와 새로운 데이터가 수집될 때 지속해서 데이터를 관리하고 보호할 담당자를 지정합니다.
- 다른 리전으로 확대 적용: 사용자는 원래 계정에서 다른 Snowflake 리전에 쉽게 접속하여 데이터 클라우드를 글로벌로 확대 적용할 수 있습니다. 새로운 리전마다 Snowflake 계정을 추가할 필요는 없습니다. 여러 지역에서 Snowflake에 접속하는 것은 글로벌 보안 규정을 충족하거나 멀티-클라우드 전략을 구현하는 데 유용할 수 있습니다.
- 데이터 공유 기능 활용: 기업 내 다른 부서, 협력사 또는 고객과 데이터 공유가 필요한가요? 그렇다면 현재 데이터 공유 방식은 어떻게 하고 있나요? 기존 데이터 공유 방식을 식별하고, Snowflake의 Secure Data Sharing 기술로 대체할 수 있는지 평가해야 합니다.
- Snowflake Data Marketplace에 가입: Snowflake Data Marketplace의 데이터나 데이터 서비스를 사용하거나 다른 Snowflake 고객에게 데이터를 제공하여 수익화할 계획이 있나요? Snowflake Data Marketplace를 사용해 보세요.
'Snowflake - The Data Cloud' 카테고리의 다른 글
Cloud Data Warehousing (0) | 2021.12.08 |
---|---|
Cloud Data Platforms (0) | 2021.12.08 |
Cloud Data Lakes (0) | 2021.12.07 |
Snowflake – Partitioning (0) | 2021.11.30 |
Snowflake Elastic Data Warehouse (0) | 2021.11.21 |