Snowflake 아키텍처 개요 — 클라우드 네이티브 SaaS 데이터 웨어하우스
55 Snowflake Interview Questions Hiring DEs Actually Ask (2026) — 미상 (데이터 엔지니어 인터뷰 준비 블로그, 2026) Core Architecture & Fundamentals Q1, Q2, Q8, Q9 (pp.2-4); [보조] Snowflake vs BigQuery vs Redshift - How Cloud OLAP Systems Evolved / Snowflake Explained for Beginners (pp.1-5)
이 모듈을 다 읽으면
- Snowflake가 왜 '완전관리형 SaaS'로 분류되는지, 전통적 온프레미스 웨어하우스와 무엇이 다른지 설명할 수 있다
- 스토리지-컴퓨트-클라우드서비스 3계층 구조와 'shared-disk + shared-nothing 하이브리드'라는 표현이 각각 무엇을 가리키는지 구분할 수 있다
- 멀티클라우드(AWS/Azure/GCP) 지원이 실무 아키텍처 선택에 어떤 의미를 갖는지 설명할 수 있다
Snowflake는 하드웨어 프로비저닝이나 인덱싱·베큐밍 같은 '노브 튜닝'을 사용자에게 요구하지 않는 완전관리형 SaaS 데이터 웨어하우스다. 핵심은 스토리지(마이크로파티션을 클라우드 오브젝트 스토리지에 저장)·컴퓨트(가상 웨어하우스)·클라우드 서비스(인증·메타데이터·쿼리 최적화를 담당하는 '두뇌') 3계층 분리이며, 이 구조를 'shared-disk(모든 컴퓨트가 동일한 중앙 스토리지를 바라봄)와 shared-nothing(각 웨어하우스의 컴퓨트 자원은 서로 격리됨)의 하이브리드'라고 부른다. AWS/Azure/GCP 전역에서 동일하게 동작하는 멀티클라우드 특성 덕분에 조직은 클라우드 벤더에 종속되지 않고 데이터 전략을 유지할 수 있다.
완전관리형 SaaS로서의 Snowflake
전통적인 온프레미스 웨어하우스(Teradata, Netezza 등)는 스토리지와 컴퓨트가 하나의 하드웨어에 강하게 결합되어 있다. 스토리지가 더 필요하면 컴퓨트도 함께 사서 증설해야 하고, 반대의 경우도 마찬가지라서 결국 과잉 프로비저닝과 높은 고정비로 이어진다.
Snowflake는 클라우드 오브젝트 스토리지(S3/Azure Blob/GCS) 위에 컴퓨트 계층을 완전히 분리해 얹는 방식으로 이 결합을 끊는다. 페타바이트급 데이터를 저장하면서 컴퓨트는 꺼둘 수도 있고, 반대로 10분짜리 배치 작업을 위해 거대한 컴퓨트 클러스터를 순간적으로 띄웠다가 즉시 종료할 수도 있다. 사용자 입장에서는 인덱스를 만들거나, 베큐밍(vacuuming)을 스케줄링하거나, 하드웨어를 직접 관리하는 '노브 튜닝' 작업이 사라진다는 것이 핵심 가치다.
핵심 포인트
- 온프레미스 웨어하우스는 스토리지와 컴퓨트가 결합되어 있어 한쪽 증설이 다른 쪽 과잉 프로비저닝으로 이어진다
- Snowflake는 스토리지와 컴퓨트를 완전히 분리해 독립적으로 확장·축소할 수 있다
- 인덱싱·베큐밍·하드웨어 관리 같은 전통적 DBA 작업이 필요 없는 완전관리형(SaaS) 모델이다
3계층 아키텍처: 스토리지 / 컴퓨트 / 클라우드 서비스
Snowflake 아키텍처는 세 개의 논리적 계층으로 나뉜다.
첫째, 데이터베이스 스토리지 계층. 데이터가 적재되면 Snowflake는 이를 독자적인 컬럼형 포맷(마이크로파티션)으로 재구성해 클라우드 오브젝트 스토리지에 저장한다. 이 계층은 순수하게 영속성(persistence)만 책임진다.
둘째, 쿼리 프로세싱 계층. '가상 웨어하우스(Virtual Warehouse)'라 불리는 컴퓨트 클러스터들로 구성되며, 각 웨어하우스는 다른 웨어하우스와 컴퓨트 자원을 전혀 공유하지 않는다. 덕분에 서로 다른 워크로드 사이에 자원 경합이 발생하지 않는다.
셋째, 클라우드 서비스 계층. 흔히 Snowflake의 '두뇌'라고 불리며 사용자 세션 관리, 인증, 메타데이터 관리, 쿼리 파싱·최적화, 보안을 총괄한다.
이 구조는 흔히 'shared-disk와 shared-nothing의 하이브리드'라고 설명된다. 모든 가상 웨어하우스가 동일한 중앙 스토리지(마이크로파티션)를 바라본다는 점에서는 shared-disk이고, 각 웨어하우스의 컴퓨트 노드가 다른 웨어하우스와 CPU·메모리를 전혀 공유하지 않는다는 점에서는 shared-nothing이다.
핵심 포인트
- 데이터베이스 스토리지 계층은 마이크로파티션 형태로 데이터 영속성만 담당한다
- 쿼리 프로세싱 계층(가상 웨어하우스)은 서로 컴퓨트를 공유하지 않아 워크로드 간 자원 경합이 없다
- 클라우드 서비스 계층이 인증·메타데이터·쿼리 최적화·보안을 총괄하는 '두뇌' 역할을 한다
- 모든 컴퓨트가 동일 스토리지를 공유(shared-disk)하면서도 컴퓨트끼리는 격리(shared-nothing)된 하이브리드 구조다
멀티클라우드 지원과 실무적 의미
Snowflake는 AWS, Microsoft Azure, Google Cloud Platform(GCP) 세 클라우드에서 동일하게 제공되는 크로스클라우드 플랫폼이다. 이는 단순한 마케팅 포인트가 아니라, 서로 다른 사업부가 서로 다른 클라우드 벤더를 쓰는 조직에서도 하나의 일관된 데이터 전략을 유지할 수 있게 해준다는 실무적 의미를 갖는다. 또한 'Cross-Cloud Replication' 같은 기능을 통해 재해복구(DR) 목적으로 계정을 다른 클라우드/리전에 복제해둘 수도 있다.
다만 클라우드 선택은 여전히 중요한 판단 기준이다. 이미 AWS 중심 인프라를 가진 조직은 Redshift와의 통합 이점을 고려할 수 있고, GCP 중심 조직은 BigQuery의 서버리스 경험을 우선 검토할 수 있다. Snowflake는 오히려 '특정 클라우드에 묶이고 싶지 않은' 조직이나 SQL 중심 워크플로를 선호하는 팀에서 자주 선택된다(이 비교는 모듈 10에서 더 자세히 다룬다).
핵심 포인트
- Snowflake는 AWS/Azure/GCP 전역에서 동일하게 동작하는 크로스클라우드 플랫폼이다
- 멀티클라우드 지원은 서로 다른 클라우드를 쓰는 사업부 간에도 일관된 데이터 전략을 가능하게 한다
- Cross-Cloud Replication은 재해복구를 위해 계정을 다른 클라우드/리전에 복제하는 기능이다