Snowflake

Snowflake Architecture

LeeJaeJun 2025. 6. 14. 16:49
728x90
728x90

전통적 아키텍처와 한계점

  • Share Disk Architecture
    • 모든 compute node가 하나의 공유 스토리지 참조
    • 장점
      • 간단한 메타데이터 관리
    • 단점
      • 단일 장애 지점(SPOF): 스토리지가 죽으면 전체 다운
      • 수직 확장만 가능 -> 고비용
      • 여러 쿼리와 작업이 몰릴 경우 I/O 병목 발생
      • ETL/BI 작업 동시 처리에 매우 불리
  • Shared Nothing Architecture
    • 각 노드가 자체 스토리지 + compute 보유
    • 장점
      • 수평 확장 (노드 추가만으로 처리량 증가)
      • SPOF 없음
    • 단점
      • 스토리지/컴퓨트 독립 확장 불가
      • 데이터 재분배/재배치 복잡
      • Eventually Consistent (일관성 보장 어려움)

 

Snowflake 혁신적 아키텍처

Multi-Cluster Shared Data Archtiecture -> Shared Nothing의 확장성과 Shared Disk의 접근성 결합한 구조

계층 설명 기술적 역할
Storage Layer 클라우드에 데이터 저장 압축, 암호화, 열 기반 포맷
Compute Layer Virtual Warehouse 쿼리 실행, 병렬 처리
Service Layer 클라우드 서비스 계층 인증/인가, 최적화, 메타데이터 관리

Storage Layer

  • 클라우드 스토리지 사용
    • AWS -> S3
    • Azure -> Blob Storage
    • GCP -> GCS Bucket
  • 데이터는 자동으로 압축 & 암호화 (AES-256)
  • 열 기반 포맷(Columnar Format)으로 저장 -> 빠른 쿼리 성능
  • 저장된 데이터는 Snowflake를 통해서만 접근 가능
    • 직접 접근 불가 (S3 접근 X) -> 보안성 확보
  • 지원 포맷: CSV, JSON, Avro, Parquet, ORC, XML 등
  • 일일 평균 저장량(바이트 단위) 기준 과금
  • Time Travel & Fail-safe 데이터도 저장 비용에 포함

 Compute Layer

  • Virtual Warehouse들이 여기에 해당
    • Snowflake 사용자 단위로 쿼리 전용 컴퓨트 인스턴스 생성 가능
    • 크기 조절 가능: XS - 4XL (1노드 ~ 128 노드)
    • Auto-suspend / Auto-resume 지원 -> 비용 효율성 극대화
    • 수평/수직 확장 모두 가능
작업 종류 권장 워크로드
소규모 ETL XS warehouse
대형 ML 모델 학습 8노드 이상의 L~4XL
BI 도구 대량 접속 Multi-cluster warehouse
개발 환경 별도 Dev warehouse 분리

Service Layer

  • 인증/인가: MFA, SSO, IP 제어 등
  • 사용자 세션 관리: 사용자별 권한, 설정, 세션 제어
  • 쿼리 최적화: 파싱, 논리 계획 수립, 실행 계획 생성
  • 캐싱 처리: 쿼리 결과/메타데이터 캐싱
  • 트랜잭션 관리: ACID 보장, 스냅샷 격리
  • Life of a Query
    1. 유저 -> Snowflake 접속 요청
    2. Cloud Service Layer
      • 인증 -> 권한 확인 -> 세션 생성
      • 쿼리 파싱 및 최적화
      • compute warehouse 할당
      • 결과 반환

 

Snowflake feature

관리 SaaS 기반, 무중단 자동 업그레이드
보안 Role-Based Access, IP 제어, Data Mining
쿼리 ANSI SQL, JS 기반 UDF, SP 지원
저장소 모든 포맷 지원 (CSV, JSON, ORC 등)
확장성 무한 스케일, 스토리지/컴퓨트 완전 분리
비용 사용량 기반 과금 (Storage와 Compute 분리)
성능 자동 최적화 + Cluster Key, Search Optimization 지원
고가용성 멀티 AZ 배치, 자동 장애 복구
데이터 공유 Secure Data Sharing, Reader Account 제공
버전 관리 Time Travel (최대 90일), Fail-safe (7일)
자동화 모든 작업을 SQL로 자동화 가능

 

728x90
300x250