[Snowflake] Cloud Services Layer

차지예·2026년 5월 6일

Snowflake

목록 보기
5/49
post-thumbnail

먼저 알아야 할 것 — Snowflake의 3계층 구조

Snowflake는 3개의 레이어로 나뉘어져 있어요.
각 레이어는 독립적으로 확장(scale) 이 가능한 것이 가장 큰 특징입니다.

┌──────────────────────────────────────────┐
│        ☁️ Cloud Services Layer       │  ← 오늘의 주제 (두뇌 역할)
├──────────────────────────────────────────┤
│        ⚡ Compute Layer              │  ← 실제 쿼리 실행 (Virtual Warehouse)
├──────────────────────────────────────────┤
│        💾 Database Storage Layer     │  ← 데이터 저장 (S3, Azure Blob 등)
└──────────────────────────────────────────┘

💡 핵심 설계 철학: Storage(저장)와 Compute(연산)를 분리해서,
저장 비용과 연산 비용을 따로 관리할 수 있습니다.


☁️ Cloud Services Layer란?

공식 문서 원문:

"The cloud services layer is a collection of services that coordinate activities across Snowflake. These services tie together all of the different components of Snowflake in order to process user requests, from sign-in to query dispatch."
docs.snowflake.com

한마디로 표현하면 → Snowflake의 두뇌(Brain) 🧠

  • 사용자의 로그인부터 쿼리 결과 반환까지 전 과정을 총괄
  • Snowflake의 모든 구성 요소를 하나로 연결하는 역할
  • Virtual Warehouse처럼 클라우드 공급자(AWS, Azure, GCP)의 컴퓨팅 인스턴스 위에서 실행됨
  • Snowflake가 직접 완전 관리 → 사용자가 유지보수할 필요 없음
  • 여러 가용 영역(Availability Zone)에 분산되어 고가용성(High Availability) 보장

🔧 Cloud Services Layer가 관리하는 서비스 6가지

1. Security, Authentication & Access Control (보안, 인증, 접근 제어)

모든 요청이 가장 먼저 통과하는 관문

  • Authentication(인증): "당신이 누구인지" 확인 → ID/PW, MFA, SSO 등
  • Access Control(접근 제어): "무엇을 할 수 있는지" 결정 → RBAC(역할 기반 접근 제어) 방식
  • 클라우드 공급자(AWS, Azure, GCP)의 ID 서비스와 통합되어 작동
예시:
사용자 A → ANALYST 역할 → SELECT만 가능
사용자 B → ADMIN 역할  → 모든 권한 가능

2. Infrastructure Management (인프라 관리)

클라우드 환경의 인프라를 자동으로 관리

  • 서버, 네트워크, 스토리지 자원을 Snowflake가 자동 관리
  • 소프트웨어 업그레이드, 패치, 설정 변경도 자동 처리
  • 사용자는 인프라를 신경 쓸 필요 없이 데이터 분석에만 집중 가능

3. Metadata Management (메타데이터 관리)

"데이터에 대한 데이터"를 저장하고 관리

포함 항목:

  • SNOWFLAKE 데이터베이스
  • Information Schema
  • 테이블 구조, 파일 위치, 통계, 파티션 정보 등

📌 왜 중요한가?
메타데이터가 있어야 Snowflake의 고유 기능들이 작동합니다.

기능설명
Zero-copy Cloning데이터를 실제로 복사하지 않고 메타데이터만 복사해서 클론 생성
Time Travel과거 특정 시점의 데이터 조회 가능
Data Sharing다른 Snowflake 계정과 데이터 공유

내부 구현: 공식 엔지니어링 블로그에 따르면 메타데이터 저장소는 FoundationDB를 기반으로 한 Stateless(상태 비저장) 서비스로 구성됩니다.


4. Query Parsing & Optimization (쿼리 파싱 & 최적화)

SQL 쿼리를 분석하고 가장 빠른 실행 계획을 자동으로 수립

처리 순서:

SQL 쿼리 입력
    ↓
파싱(Parsing) → 문법 분석, 오류 체크
    ↓
최적화(Optimization) → 비용 기반 최적화(Cost-based Optimizer)
    ↓
실행 계획(Execution Plan) 수립
    ↓
Virtual Warehouse(Compute Layer)로 전달
  • 사용자가 작성한 SQL을 가장 효율적인 방식으로 실행되도록 변환
  • 메타데이터의 통계 정보를 활용해 최적 경로 결정
  • 별도 인덱스 생성 없이도 빠른 성능 발휘

5. Snowflake Horizon Catalog (데이터 거버넌스)

데이터를 체계적으로 관리하고 신뢰할 수 있게 만드는 서비스

  • 데이터 카탈로그: 어떤 데이터가 어디에 있는지 탐색 가능
  • 데이터 거버넌스: 데이터 품질, 분류, 계보(lineage) 추적
  • 조직 내 데이터 자산을 중앙에서 관리

6. Regulatory Compliance (규정 준수)

법적·산업적 보안 규정을 충족

  • SOC 2, HIPAA, PCI DSS, GDPR 등 규정 준수
  • 데이터 암호화(전송 중 / 저장 중 모두)
  • 감사 로그(Audit Log) 관리

실제 요청 처리 흐름 (전체 그림)

👤 사용자
    │
    ▼
┌───────────────────────────────────────────────┐
│           Cloud Services Layer            │
│                                           │
│  1. 🔐 Authentication & Access Control    │  ← 로그인, 권한 확인
│              ↓                            │
│  2. 🔍 Query Parsing & Optimization       │  ← SQL 분석 및 최적화
│              ↓                            │  
│  3. 🗃️  Metadata 조회                     │  ← 실행 계획에 필요한 정보
└───────────────────────────────────────────────┘
                   │
                   ▼
        ┌─────────────────────┐
        │  Virtual Warehouse│  ← Compute Layer (실제 연산)
        │  [CPU] [CPU] [CPU]│
        └─────────────────────┘
                   │
                   ▼
        ┌─────────────────────┐
        │  Database Storage │  ← 데이터 읽기/쓰기
        └─────────────────────┘
                   │
                   ▼
              결과 반환 → 👤 사용자

핵심 특징 정리

특징설명
고가용성 (High Availability)여러 가용 영역에 분산 → 장애 발생해도 서비스 지속
완전 관리형 (Fully Managed)Snowflake가 모든 유지보수 담당 → 사용자 개입 불필요
클라우드 기반AWS, Azure, GCP 위에서 실행
독립적 확장Storage, Compute, Services 각 레이어를 독립 확장 가능
중앙 집중식모든 Snowflake 계정에 공통 적용

꼭 기억할 것

Cloud Services Layer = Snowflake의 두뇌(Brain)

관리 서비스 6가지
1. Security, Authentication & Access Control
2. Infrastructure Management
3. Metadata Management
4. Query Parsing & Optimization
5. Snowflake Horizon Catalog
6. Regulatory Compliance

처리 범위: 로그인(sign-in) → 쿼리 디스패치(query dispatch)
실행 환경: 클라우드 공급자의 컴퓨팅 인스턴스 위에서 실행

📚 참고 자료

0개의 댓글