이미지 출처 : snowflake 홈페이지

1. SnowFlake

클라우드 기반의 데이터 웨어하우스 서비스로, 데이터를 저장하고 분석하는 데 사용됩니다. 기존의 데이터 웨어하우스와 달리, 스토리지, 컴퓨팅클라우드 서비스가 분리되어 있어 효율적인 스케일링과 리소스 관리를 제공합니다.

주요 특징

  • 클라우드 기반:
    Snowflake는 AWS, Google Cloud, Microsoft Azure 등 다양한 클라우드 환경에서 실행됩니다.
  • 분리된 스토리지 및 컴퓨팅:
    컴퓨팅과 스토리지를 분리하여, 각각 독립적으로 확장하거나 사용량에 따라 조정할 수 있습니다.
  • 자동화:
    사용자가 설정한 대로 자동으로 쿼리 최적화와 성능 조정이 이루어집니다.
  • 다양한 데이터 포맷 지원:
    CSV, JSON, Parquet 등 다양한 데이터 포맷을 지원하여 유연한 데이터 저장이 가능합니다.
  • 멀티 클라우드 지원:
    여러 클라우드 플랫폼 간의 데이터 공유가 가능하여, 다양한 클라우드 환경을 사용하는 기업에 적합합니다.

2. SnowFlake 계층구조

1. Cloud-Service Layer (클라우드 서비스 계층)

이 계층은 Snowflake의 관리 및 사용자 상호작용을 담당하며, 메타데이터, 보안, 인증, 쿼리 최적화 등을 처리합니다.

  • 사용자 인증 및 권한 부여
  • 쿼리 처리 및 최적화
  • 데이터 및 메타데이터 관리
  • 서비스 모니터링과 오류 처리

2. Computing Layer (컴퓨팅 계층)

쿼리 처리와 계산을 담당하는 계층으로, Virtual Warehouse를 통해 데이터 처리 및 분석을 수행합니다.

  • 데이터 쿼리 처리 및 분석 수행
  • 병렬 처리로 성능 극대화 : 워크로드 별 실행 환경으로 실행
  • 사용자 요구에 맞는 컴퓨팅 리소스 할당

3. Storage Layer (스토리지 계층)

실제 데이터를 저장하는 계층으로, 클라우드 스토리지에 데이터를 안전하게 저장하고 효율적으로 관리합니다.

  • 데이터 압축 및 저장(데이터 압축률 : 평균 70~80%)
  • 여러 데이터(반정형 데이터 형식) 포맷 지원 (CSV, JSON, Parquet 등)
  • 중복 제거 및 최적화
  • 컬럼형 스토리지

+ Recent posts