
의사결정 지원 시스템으로 데이터를 저장, 처리, 분석 하도록 설계된 클라우드 기반 데이터베이스 시스템이다. 데이터 웨어하우스는 비즈니스 인텔리전스(BI), 데이터 마이닝, 에측 분석 등 다영한 분석 작업을 수행하는 데 사용된다.
최근 경영, 마케팅, 판매, 고객서비스 등 다양한 분야에서 데이터 활용이 중요해 지고 있기 때문에 데이터 웨어하우스 도입 또한 빠르게 증가하고 있다.
현재 시장에서 가장 인기 있는 데이터 웨어하우스 서비스는 클라우드 기반의 구글 빅쿼리, 아마존 레드시프트, 스노우플레이크 등이 있다.
클라우드 기반의 데이터 웨어하우스 서비스로, 데이터를 저장, 처리, 분석하는 현대적인 방법을 제공한다. 전통적인 데이터 웨어하우스와 달리, Snowflake는 클라우드 인프라 위에 구축되어 있어, 사용자는 하드웨어 관리나 소프트 웨어 업데이트에 신경 쓸 필요 없이 데이터에 집중할 수 있다.

클라우드 기반 특성으로, 크기 조정을 쉽게 늘리거나 줄일 수 있다. 그래서 변동하는 데이터 필요성이 있는 비즈니스에 이상적이다. 즉, 비즈니스가 데이터 처리 요구사항이 변화함에 따라 필요한 리소스를 손쉽게 늘리거나 줄일 수 있도록 하는것을 말한다. 예를 들어, 사용자의 수가 증가하거나 데이터 처리 필요성이 늘어날 때, 기업들은 추가적인 서버 용량이나 컴퓨팅 파워를 쉽게 추가할 수 있다. 반대로, 요구 사항이 줄어들 때는 이러한 리소스를 줄여 비용을 절약한다.
큰 데이터셋에서도 매우 뛰어난 성능을 발휘하도록 만들어졌다. 그 결과로 기업들은 데이터에서 쉽고 빠르게 인사이트를 얻을 수 있다.
사용하지 않는 것에 대해 비용을 지불하지 않는다. 스노우플레이크의 사용량 기반 요금제를 사용하면 사용하지 않는 자원에 대한 거대한 비용 부담이 없다.
암호화 및 접근 제한과 같은 보안 기능을 통해 데이터를 보호한다.
어떤 산업, 비즈니스 크기든 사용할 수 있다. 거래 기록, 의료 데이터 또는 제품 재고 처리에 이르기까지, 어떤 데이터 유형의 특성에도 맞게 자동으로 구조를 수정한다. 이는 효율적인 데이터 저장, 처리, 분석을 보장한다.

| 구분 | 구글 빅쿼리 | 스노우 플레이크 | 아마존 레드 시프트 | 마이크로소프트 애저 시냅스 |
|---|---|---|---|---|
| 비용 | 최초 1TB/월 저장 비용 무료로 데이터 용량이 크지 않다면 가장 저렴 | 데이터 저장 고정비 $23-$50/월 + 분석-계산 비용 별도 청구 | 저장과 분석 비용이 가장 비쌈 | 일반적인 데이터 저장 및 처리 비용적용 |
| 데이터 형식 | JSON, XML 기반 반정형 데이터 및 SQL 정형 데이터 지원 | JSON, XML, Avro, Parquet등 가장 다양한 형식 지원 | PostgreSQL 기반의 관계성 데이터를 JSON으로 지원 | 다양한 데이터 형식 및 데이터베이스 지원 |
| 아키텍처 | 데이터 저장과 계산을 분리하여 빠른 속도 제공 | 데이터 저장과 계산이 분리되고, 병렬 계산이 가능해서 속도가 빠름 | 데이터 양이 많은 경우 처리 속도가 느려질 수 있음 | 고성능 분석 및 대규모 처리 지원 |
| 확장성 | 사용하는 만큼 자동으로 용량 조절하여 편리함 | 데이터가 매우 많을 때는 가장 적합하다는 평 | 데이터 적응성과 확장성에 제한 | 높은 확장성과 자동 스케일링 지원 |
| 사용 환경 | 구글 클라우드 내에서만 사용 가능 | 다양한 환경에서 사용 가능 | 아마존 웹서비스 내에서만 사용 가능 | 애저 클라우드 플랫폼 내에서 사용 가능 |
스노우플레이크의 총 비용은 데이터 전송, 저장소, 컴퓨팅 리소스를 사용하는 합계이다.

데이터를 로딩하고 쿼리를 실행하고 다른 DML 작업을 수행할 때 크레딧을 사용하는 사용자 관리 컴퓨팅 리소스이다. 초당 청구(웨어하우스가 시작될 때마다 최소 60초)를 사용하므로 웨어하우스는 능동적으로 작동할 때 실제로 소비하는 크레딧에 대해서만 요금이 청구된다.
- 회사가 매일 수행하는 대량의 변환 작업을 위해 큰 사이즈의 가상 웨어하우스를 사용하여, 짧은 시간 내에 작업을 완료할 수 있다.
가상 웨어하우스가 아닌 스노우플레이크 관리 컴퓨팅 리소스를 사용하는 검색 최적화 및 Snowpipe 와 같은 기능이 있다. 비용 최소화를 위해, 이러한 서버리스 컴퓨팅 리소스는 자동으로 크기가 조정되며, 필요한 경우 워크로드에 대하여 확장하거나 축소한다.
아키텍처의 클라우드 서비스 계층은 인증, 메타 데이터 관리, 액세스 제어와 같은 백그라운드 작업을 수행할 때 크레딧을 사용한다. 클라우드 서비스의 계층의 사용 요금은 클라우드 서비스 리소스의 일일 사용량이 일일 웨어하우스 사용량의 10%를 초과하는 경우에만 청구된다.(거의 발생x)
계정에서 매일 저장되는 평균 디스크 바이트 수를 기준으로 매월 계산됨
데이터를 계정으로 가져오기 위한 데이터 수신 요금을 청구하지 않지만 데이터 송신 요금은 청구된다.
스노우플레이크에서 같은 클라우드 플랫폼의 다른 리전이나 완전히 다른 클라우드 플랫폼으로 데이터를 전송할 때 바이트당 요금을 청구한다.
비용 관리 프레임워크를 사용하면 스노우플레이크에서 발생하는 비용을 효과적으로 관리 가능하다.
비용 패턴을 이해할 수 있고, 누가, 어떤 목적으로 비용을 발생시킨지 확인할 수 있다.
- Dashboard -> Admin -> Cost Management 에서 확인가능
예산의 한도와 가드레일을 설정하고 모니터링 할 수 있다.
Auto-Suspend & Auto-Resume duration 가이드
- 스노우플레이크는 모든 쿼리 결과 캐싱
- 반복적인 쿼리를 사용하는 쿼리 사용의 경우 캐시 사용시 성능 부분에 많은 혜택 제공
- BI 및 select 쿼리 사용의 경우 Auto-Suspend 10분 이내로 설정 권장
- DevOps, DataOps 및 DataScience 워크로드의 경우 약 5분 이내로 설정 권장
Auto-Suspend & Auto-Resume Check Query 가이드
-- Warehouse 목록 조회 SHOW WAREHOUSES; -- Resource Monitor를 사용하지 않는 웨어하우스 조회 SHOW WAREHOUSES; SELECT "name" AS WAREHOUSE_NAME, "size" AS WAREHOUSE_SIZE FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) WHERE "resource_monitor"=='null'; -- Auto suspend(자동중단)가 1시간 이상인 웨어하우스 조회 SHOW WAREHOUSES; SELECT "name" AS WAREHOUSE_NAME, "size" AS WAREHOUSE_SIZE FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) WHERE "auto_suspend" >= 3600; // 3600seconds=1hour -- Auto resume값이 False인 웨어하우스 조회 SHOW WAREHOUSES; SELECT "name" AS WAREHOUSE_NAME, "size" AS WAREHOUSE_SIZE FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) WHERE "auto_resume" = 'false';
적절한 Warehouse tpye 선택, 크기 조정에 따라 최적화 가능
가상 warehouse type : 일반형(standard), 대량메모리(snowpark optimized warehouse)
최근 가장 빠르게 확장되고 있는 서비스는 스노우플레이크이다. 다른 클라우드 서버와 연결이 가능하고, 다양한 분석 툴과 연계도 쉬운편이다. 또 구글, 아마존 생태계 내에 갇혀 있지 않아도 되는 것도 장점이다.
기업의 상황과 여건이 다르기 때문에 어느 시스템 하나가 정답이 될 수 없다. 데이터 웨어하우스를 새로 구축하고 이전한다면 여러가지 상황을 고려해야 한다는 점이다.
반대로 만약 회사에서 주로 쓰는 서비스가 GA4라면 굳이 다른 서비스를 연결하기 보다는 빅쿼리를 쓰는게 쉽고 빠르다. 이럴 경우 굳이 스노우플레이크를 사용해야할까? 그래서 데이터 웨어하우스를 고를 때 조직의 데이터 활용 기능과 시스템, 확장 가능성 등을 고려하여 신중히 결정하자
🔎 가상 웨어하우스
- 사용자가 직접 설정하고 관리하는 독립된 컴퓨팅 클러스터이다. 사용자는 웨어하우스의 크기를 선택하고, 실행 시간을 결정하며, 시용량을 기반으로 비용을 지불한다.
- 사용 방식 : 사용자는 특정 작업이나 프로젝트에 필요한 만큼 웨어하우스의 크기를 조절하고, 웨어하우스를 시작하거나 중지할 수 있다. 이러한 컨트롤은 성능 최적화와 비용 관리에 유리하게 작용할 수 있다.
- 종류 : 일반형(standard), 대량메모리(snowpark optimized warehouse)
- 비용 : 컴퓨팅 리소스의 사용에 따라 비용
- 예시 : 여러 부서에서 동시에 다양한 데이터 작업을 해야하는데, 각 부서는 독립적으로 작업을 수행할 수 있어야한다. 이때, 각 부서는 자신들의 '가상 웨어하우스'를 할당받아 사용할 수 있다. 실제 물리적인 무언가가 아니라 필요한 컴퓨팅 리소스(CPU, 메모리 등)를 클라우드에서 제공받는 것이다. 부서별로 각각의 가상 웨어하우스를 사용함으로써, 한 부서에서 데이터를 많이 처리하더라도 다른 부서의 작업에 영향을 주지 않고, 모두가 원활하게 자신들의 데이터를 작업할 수 잇다.
스노우플레이크에서 웨어하우스는 데이터를 저장하지 않는다. 대신 데이터를 처리하는 데 사용하는 작업 인력에 해당한다. 즉, 컴퓨팅 리소스 클러스터로 SELECT, DML 작업을 수행하기 위해 필요한 CPU, 메모리와 같은 컴퓨팅 리소스를 제공한다.
가상 웨어하우스는 필요에 따라 웨어하우스의 크기를 변경(Scaling Up/Down)하거나, 웨어하우스의 수를 변경(Scaling In/Out)할 수 있다)참고 자료
https://docs.snowflake.com/ko/user-guide/cost-understanding-compute
https://nutanxt.com/how-snowflake-is-reshaping-data-management-and-business-strategy/
https://medium.com/@fpatano/how-best-to-use-databricks-fabric-and-snowflake-4b2d1e48afe9