
상명대학교 / 서광규 교수
실리콘밸리에서 최근 핫한 기업 중 하나는 바로 ‘스노우플레이크(Snowflake)'다. 2012년 설립한 스노우플레이크는 클라우드 기반의 데이터 저장업체로 기업들에 신개념 통합 클라우드 데이터 관리 시스템을 제공하면서 미국 실리콘밸리에서 가장 빠르게 성장하는 스타트업으로 자리 잡았다. 스노우플레이크의 비즈니스 모델은 데이터 스토리지와 컴퓨팅 사용량을 기반으로 비용을 책정한다. 사용자가 많아지고 데이터 연결이 증가할수록 매출 증대 효과가 높아지며 고객사가 많아지면 많아질수록 수익성이 좋아진다. 본 고에서는 스노우플레이크 데이터 플랫폼을 소개하고 스노우플레이크를 이용한 엔터프라이즈 데이터 웨어하우스를 구축 전략을 기술하기로 한다.
1. 스노우플레이크 데이터 플랫폼
데이터는 현대 기업의 핵심 자산이지만 기술의 확장 능력으로 인해 빅데이터가 급증했다. 해당 데이터를 관리하고 저장하는 것은 현대 비즈니스 운영에 중요한 기능이 되었다. 사용 편의성은 말할 것도 없고 방대한 양의 빅데이터, 고속 및 안정성을 처리할 수 있는 데이터 플랫폼을 선택하는 것이 가장 중요하다. 대부분의 기업은 이미 클라우드 데이터 플랫폼을 사용하고 있지만 많은 기업이 경쟁력을 유지하기 위해 데이터 마이그레이션이 필요한지 여부를 평가하고 있다. 가장 인기 있는 데이터 플랫폼 중 하나는 스노우플레이크로 클라우드 데이터 웨어하우스로 작동하며 다중 클라우드 인프라 환경을 지원할 수 있다. Snowflake는 Amazon Web Services 또는 Microsoft Azure 또는 Google Cloud Platform 클라우드 인프라를 기반으로 구축된 데이터 웨어하우스이며 스토리지와 컴퓨팅을 독립적으로 확장할 수 있다.
2012년에 개발된 스노우플레이크는 데이터 웨어하우징, 데이터 레이크, 데이터 엔지니어링, 데이터 과학, 데이터 애플리케이션 개발, 실시간/공유 데이터의 안전한 공유 및 소비를 위한 단일 플랫폼을 제공하는 완전관리형 SaaS이다. 스노우플레이크는 성장하는 기업의 까다로운 요구 사항을 처리하기 위해 스토리지 및 컴퓨팅 분리, 즉시 확장 가능한 컴퓨팅, 데이터 공유, 데이터 복제 및 타사 도구 지원과 같은 즉시 사용 가능한 기능을 제공한다.

[그림1. 스노우플레이크 데이터 플랫폼]
1.1 스노우플레이크 플랫폼 구성요소
스노우플레이크의 설계 방법은 세 가지 주요 구성 요소를 통해 이루어진다. 스노우플레이크 클라우드 데이터 플랫폼의 기반은 다음과 같습니다.
- 클라우드 서비스: 스노우플레이크는 클라우드 서비스에 ANSI SQL을 사용하여 사용자가 데이터를 최적화하고 인프라를 관리할 수 있도록 지원한다. 스노우플레이크는 저장된 데이터의 보안 및 암호화를 처리한다. PCI DSS 및 HIPAA와 같은 강력한 데이터 웨어하우징 인증을 유지하고 서비스에는 인증, 인프라스트럭처 관리, 쿼리 해석 및 최적화, 메타데이터 관리 및 액세스 제어가 포함된다.
- 쿼리 처리: 스노우플레이크의 컴퓨팅 계층은 요청을 통해 데이터를 분석할 수 있는 가상 클라우드 데이터 웨어하우스로 구성된다. 각 스노우플레이크의 가상 웨어하우스는 독립된 클러스터로 컴퓨팅 자원을 확보하기 위해 경쟁하거나 서로의 퍼포먼스에 영향을 주지 않는다. 따라서 워크로드의 동시성은 문제가 되지 않는다.
- 데이터베이스 스토리지: 스노우플레이크 데이터베이스는 조직의 업로드된 구조화 및 반구조화 데이터 세트를 처리 및 분석하기 위해 보관하는 곳이다. 스노우플레이크는 조직, 구조, 메타데이터, 파일 크기, 압축 및 통계를 포함한 데이터 스토리지 프로세스의 모든 부분을 자동으로 관리한다.
1.2 스노우플레이크 이점
스노우플레이크를 선택하면 다음과 같은 여러 가지 이점이 있습니다.
- 거의 무제한에 가까운 즉각적인 확장성: 스노우플레이크 아키텍처는 고속과 확장성을 제공하는 단일 탄력적인 성능 엔진을 사용한다. 스노우플레이크는 인터랙티브에서 배치에 이르기까지 가능한 한 많은 동시 사용자와 워크로드를 지원한다. 이 강력한 기능은 멀티 클러스터 리소스 격리에서 찾을 수 있다. 이 제품은 고성능으로 강력하며 모든 데이터 워크로드를 처리할 수 있다는 확신을 기업에 제공한다. 스노우플레이크의 단일 엔진은 복잡한 데이터 파이프라인, 분석, 기능 엔지니어링, 인터랙티브 애플리케이션 등 필수 데이터 워크로드에 이르기까지 모든 것을 지원한다. SQL 쿼리 지원과 Java 및 Scala 액세스를 위한 Snowpark 개발자 프레임워크를 통해 스노우플레이크는 모든 기술 수준을 가진 사용자가 데이터를 쉽게 활용할 수 있도록 지원한다.
- 자동화를 간단하게: 기업은 더 이상 수동 데이터 관리 및 유지보수를 할 시간이 없다. 기업은 빠르고 정확하게 이동해야 하는데, 자동화는 이를 가능하게 한다. 스노우플레이크를 통해 기업은 데이터 관리, 보안, 거버넌스, 가용성 및 데이터 복원력을 자동화할 수 있다. 이를 통해 확장성을 높이고 비용을 최적화하며 다운타임을 줄이고 운영 효율성을 개선할 수 있다. 높은 신뢰성과 가용성을 위해 구축되었으며 데이터 복제를 자동화하여 빠른 복구를 지원한다.
- 어디서나 안전하게 공유할 수 있는 단일 데이터 복사본: 스노우플레이크는 클라우드 간 및 지역 간 원활한 연결과 데이터 공유를 통해 ETL 및 데이터 사일로를 제거한다. 공유 보안 데이터에 액세스해야 하는 모든 사용자는 데이터 클라우드를 통해 단일 복사본을 얻을 수 있으며 거버넌스 및 컴플라이언스 정책을 확실히 적용할 수 있다. 단일 공유 데이터 소스를 통해 기업 및 비즈니스 생태계 전반의 팀은 단일 정보 소스에서 작업하고 있는지 확인할 수 있으며, 원격 협업과 의사결정을 빠르고 쉽게 수행할 수 있다.
- 서드파티 데이터 통합: 또한 스노우플레이크 데이터 마켓플레이스는 타사 데이터를 제공하며, 스노우플레이크 고객과 연결하여 데이터 서비스 및 타사 애플리케이션으로 워크플로우를 확장할 수 있다. SnapLogic과 같은 서비스형 통합 플랫폼(iPaaS)을 사용하면 타사 데이터 소스를 쉽고 자동으로 통합할 수 있다. SnapLogic의 사전 구축된 스노우플레이크 커넥터를 사용하면 누구나 쉽게 데이터 파이프라인을 생성하여 기업 전체의 워크플로우를 자동화할 수 있다.
1.3 스노우플레이크 가격 모델
기존 데이터 웨어하우스 소프트웨어는 기존 사내 데이터베이스 또는 소프트웨어 플랫폼을 기반으로 구축된다. 스노우플레이크는 대용량 클라우드 데이터 스토리지의 기회를 활용하도록 설계되었으며 Amazon s3를 기반으로 구축되었다. 실제 사용하는 컴퓨팅 및 클라우드 스토리지에 대한 비용을 지불하는 유연한 가격 모델을 제공한다. 이들은 스노우플레이크 계정에 대해 장기 약정이 없는 초당 주문형 가격 설정 또는 미리 구입한 스노우플레이크 용량 옵션 등 여러 가지 가격 옵션을 제공한다. 계산 사용량은 최소 60초 단위로 초당 과금된다.
2. 엔터프라이즈 데이터 웨어하우스 구축 전략
스노우플레이크의 클라우드 데이터 웨어하우스 솔루션이 빠르게 인기를 끌고 있는 이유와 이를 최대한 활용할 수 있는 방법을 알아야 스노우플레이크를 이용하여 엔터프라이즈 데이터 웨어하우스를 성공적으로 구축할 수 있다. 이를 위해서, 먼저 스노우플레이크가 클라우드 데이터 웨어하우징 솔루션으로서 각광받는 이유를 알아야 하는데 세부적인 내용은 다음과 같다.
- 스토리지와 컴퓨팅의 분리, 즉시 확장 가능한 컴퓨팅, 데이터 공유, 데이터 클로닝 및 타사 툴 지원과 같은 기본 제공 기능을 제공한다.
- 데이터 통합, 비즈니스 인텔리전스, 고급 분석, 보안 및 거버넌스 등 광범위한 기술 분야에 서비스를 제공한다.
- Go, Java, .NET, Python, C, Node.js 등의 프로그래밍 언어를 지원한다.
- 일반 사용자의 경우 스노우플레이크는 일상적인 작업을 관리하기 위한 완벽한 ANSI SQL 언어 지원을 제공한다.
- 클라우드에 구애받지 않고 Amazon Web Services(AWS) 및 Microsoft Azure, 그리고 Google Cloud Platform 전반에 걸쳐 무제한적이고 원활한 확장성을 제공한다.
- 클라우드 인프라스트럭처를 제공할 뿐만 아니라 최신 아키텍처를 설계할 수 있는 선택지가 많아 신속한 변화를 위한 방법론과 동적 사용 경향에 특히 적합하다.
- 스노우플레이크는 원시 데이터가 있는 데이터 호수, 단계별 데이터가 있는 ODS, 표시 가능하고 모델링된 데이터가 있는 데이터 웨어하우스/데이터 마트 등 다양한 사용 사례에 적합하도록 사용할 수 있다.
- 데이터 처리의 심플화할 수 있다; 즉, 사용자는 단일 언어인 SQL을 사용하여 다양한 유형의 데이터 구조에 대해 데이터 블렌딩, 분석 및 변환을 수행할 수 있다.
- 스노우플레이크는 순전히 사용량에 따라 요금을 부과하는 동적이고 확장 가능한 컴퓨팅 파워를 제공한다.
- 스노우플레이크의 방대한 원시 데이터 처리 능력은 통찰력 있는 데이터 분석을 강화했다. 예를 들어, "Schema on Read"는 먼저 모델링하지 않고도 구조화 및 반구조화 형식의 데이터에 액세스할 수 있다.
- CSV, JSON, XML, Parquet, Avro를 비롯한 다양한 데이터 구조를 분석하고 SQL 언어를 사용하여 동시에 혼합할 수 있다.
다음으로는 스노우플레이크를 통해 지속 가능하고 적응력이 뛰어난 엔터프라이즈 데이터 웨어하우스를 구축하기 위한 4가지 핵심 전략을 기술하기로 한다.
1) 재구축 필요
많은 고객이 "데이터베이스 및 사용자 관리, 보안, DevOps와 같은 현재 인프라 표준 및 모범 사례를 활용할 수 있습니까?"라고 질문한다. 이로 인해 처음부터 정책 구축에 대한 우려가 제기되지만, 새로운 기술과 새로운 비즈니스 기회에 적응하는 것이 중요하다. 그리고 그것은 사실 약간의 재구축이 필요할지도 모른다. 즉, "당사가 항상 해왔던 방식"이 아니라 새로운 기술을 채택하고 민첩성을 확보하며 비즈니스 애플리케이션 및 프로세스를 강화하는 데 도움이 되기 때문에 선택을 하는 것이 중요하다. 검토해야 할 주요 영역에는 정책, 사용자 관리, 샌드박스 설정, 데이터 로딩 관행, ETL 프레임워크, 도구 및 코드 베이스가 포함된다.
2) 올바른 데이터 모델링 얻기
스노우플레이크는 데이터 레이크, 데이터마트, 데이터 웨어하우스, ODS 및 데이터베이스 등 다양한 용도로 사용된다. Star, Snowflake, Data Vault 및 BEAM과 같은 다양한 모델링 기법도 지원한다. Snowflake는 심지어 "읽는 스키마"와 "쓰기 스키마"를 지원할 수 있다. 이로 인해 Snowflake를 적절히 배치하는 방법에 혼란이 생길 수 있다.
솔루션은 사용 패턴이 데이터 모델을 예측하도록 하는 것이다. 스노우플레이크의 데이터 자산을 활용하는 데이터 소비자 및 비즈니스 애플리케이션을 어떻게 예측하는지 생각해 보면 스노우플레이크에서 최상의 결과를 얻기 위한 조직 및 리소스를 명확히 할 수 있다.
여기에는 다음과 같은 사례가 있는데, 복잡한 사용 사례에서는 일반적으로 다음을 포함하는 복합 솔루션을 개발하는 것이 좋다.
- 레이어 1은 모든 원시 구조화 및 반구조화 데이터를 수집하기 위한 데이터 레이크로 사용된다.
- 레이어 2를 ODS로 하여 스테이징 및 검증된 데이터를 저장한다.
- 데이터 웨어하우스로서의 레이어 3은 정리, 분류, 정규화 및 변환된 데이터를 저장한다.
- 레이어 4는 데이터 마트로 최종 소비자 및 애플리케이션에 타깃 데이터 자산을 제공한다.
3) 수집 및 통합 파악
스노우플레이크는 배치(예: 고정 일정), 거의 실시간(예: 이벤트 기반) 및 실시간(예: 스트리밍)을 포함한 다양한 데이터 통합 ??패턴을 원활하게 채택한다. 고정된 일정으로 수신된 데이터는 정적 배치 프로세스를 거치고 유연하게 전달되는 데이터는 동적 패턴을 사용하는 이러한 모든 패턴을 결합할 수 있다. 데이터 소싱 요구 사항 및 제공 SLA를 평가하여 적절한 수집 패턴으로 추적한다. 그리고 동향파악을 위해서는 가능한 한 많은 시나리오를 고려하는 것이 필요하다. 통합 패턴이 식별되면 ETL 도구가 그 다음이다. 스노우플레이크는 Talend, Informatica, Matillion, Snaplogic, Dell Boomi 및 Alteryx와 같은 많은 통합 도구 및 파트너를 지원한다. 이들 중 다수는 Snowflake와 함께 기본 커넥터도 개발되었다. 그리고 스노우플레이크는 Python과 같은 오픈 소스 언어를 사용하여 도구가 필요 없는 통합을 지원한다.
올바른 통합 플랫폼을 선택하려면 데이터 볼륨, 처리 요구 사항 및 사용 요구 사항에 대해 이러한 도구를 평가하는 것이 필요하다. 또한 메모리에서 처리할 수 있는지 및/또는 SQL 푸시다운을 수행할 수 있는지 고려해야 한다. 푸시다운 기술은 도구 메모리의 병목 현상을 제거하므로 빅데이터 사용 사례에 큰 도움이 된다.
4) 스노우플레이크 관리
다음은 스노우플레이크를 실행한 후 고려해야 할 몇 가지 사항입니다.
- 보안 관행: 조직을 위한 강력한 보안 관행을 수립하십시오. DAC(Discretionary Access Control)를 통해 스노우플레이크의 RBAC(role-based access control)를 활용한다. 스노우플레이크는 또한 Oakta 및 Active Directory와 같은 타사 서비스와 통합하여 연합 인증 및 SSO를 지원한다.
- 액세스 관리: 사용자 그룹, 필요한 역할 및 권한을 식별하여 사용자 및 애플리케이션의 계층 구조를 정의한다.
- 리소스 모니터: 스노우플레이크는 무한히 확장 가능한 스토리지 및 컴퓨팅을 제공한다. 트레이드오프는 운영 예산을 통제할 수 있도록 모니터링 및 제어 프로토콜을 설정해야 한다. 여기에서 두 가지 주요 고려 사항은 다음과 같다.
- 스노우플레이크 웨어하우스 구성: 일반적으로 각 사용자 그룹, 비즈니스 영역 또는 응용 프로그램에 대해 서로 다른 스노우플레이크 웨어하우스를 만드는 것이 가장 좋다. 이는 필요할 때 분리된 청구 및 차지백을 관리하는 데 도움이 된다. 추가로 관리하려면 설계된 사용자만 웨어하우스를 변경하거나 생성할 수 있도록 웨어하우스 작업(액세스, 모니터/업데이트/생성)과 관련된 역할을 할당한다.
- 결제 알림은 모니터링하고 적시에 적절한 조치를 취하는 데 도움이 된다. 리소스 모니터를 정의하여 비용을 모니터링하고 초과 청구를 방지하는 것이 필요하다. 다양한 임계값 시나리오를 기반으로 이러한 경고 및 작업을 사용자 지정할 수 있다. 조치는 간단한 이메일 경고에서 창고 일시 중지에 이르기까지 다양하다.
3. 결언
현재 많은 기업이 추진하고 있는 디지털전환에는 데이터 관리가 필수인데 데이터 관리가 쉬운 플랫폼 등장은 필수적이라 하겠다. 또한 데이터를 토대로 개발되는 인공지능(AI) 분야도 마찬가지다. 머신러닝에서 딥러닝으로 갈수록 학습해야 할 데이터 수는 급증하고 있다. AI를 도입하고자 하는 기업은 회사에서 이용하는 데이터에 대해 정확히 분석하고 있어야 한다. 데이터를 알고 있어야 필요한 AI 기능을 개발할 수 있고, 도입할 수 있어서다.
데이터 지역성, 글로벌 규모, 조직의 다양해지고 있는 상황에서 특정 플랫폼에 종속되지 않는 멀티 클라우드 환경도 확대되고 있는 비즈니스 환경은 스노우플레이크의 데이터 플랫폼에 적합하다. 특정 벤더에 종속될 필요 없이 데이터 수집 저장에서부터 분석까지 모든 것을 클라우드에서 처리가 가능하기 때문이다. 스노우플레이크 데이터 클라우드에 연결되면 누구든지 데이터에 접근하고 비즈니스에 활용 가능하다. 이 때문에 클라우드와 외부기업 간 데이터 교환, 기술협력이 늘어나는 현 상황에 유리하다.
본 고에서는 스노우플레이크 데이터 플랫폼을 소개하였고 스노우플레이크를 이용한 엔터프라이즈 데이터 웨어하우스를 구축 전략을 살펴보았는데, 스노우플레이크가 한국에 상륙한만큼 지속적인 관심을 가지고 어떻게 비즈니스가 이루어지는지를 살펴볼 필요가 있다.
참 고 문 헌
- https://www.snowflake.com
- https://en.wikipedia.org/wiki/Snowflake_Inc.
- https://www.snowflake.com/snowflakes-security-compliance-reports/?lang=ko
- "Snowflake Reports Financial Results for the Fourth Quarter and Full Year of Fiscal 2022". www.businesswire.com. March 2, 2022. Retrieved March 3, 2022.
- "Snowflake Reports Financial Results for the First Quarter of Fiscal 2022" (Press release). Snowflake Inc. May 26, 2021.
저작권정책
K-ICT 클라우드혁신센터의 저작물인 『스노우플레이크 데이터 플랫폼과 엔터프라이즈 데이터 웨어하우스 구축 전략』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, 클라우드 지원포털의 저작권 정책에 따라 이용할 수 있습니다. 다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.