Immersion In Data

Snowflake/Snowflake - The Complete Masterclass

[Snowflake] Snowflake Architecture

sungjunminn 2023. 1. 27. 15:43

 

1. Data warehouse

  • 서로 다른 형식의 데이터들(database, csv, parquet..)을 ETL(Extract, Transform, Load) 과정을 통해 생성하는 하나의 공간
  • 목적 : 서로 다른 데이터 소스를 보고와 분석을 위해 통합하여 사용하기 위해
  • Raw data(Staging area) → Data integration(Data Transformation) → Access layer
     

 


2. Cloud Computing


Cloud 공급자인 AWS, Azure, GCP가 제공하는 물리적 서버들과 가상 머신, 물리적 스토리지를 이용하고, 데이터 스토리와 가상 웨어하우스, 메타데이터 관리를 SaaS(Software-as-a-Service)형태로 제공한다. 
따라서 SaaS형태로 제공하는 기능들로 인해 많은 책임들이 처리되기 때문에 사용자는 Application 단의 Databases, tables 등만 집중할 수 있게 하고, 이는 필요에 따라 데이터 웨어하우스를 생성하고 구현할 수 있다는 것을 의미한다.

 


3. Snowflake Editions

  • Standard : 기본적으로 입문용 버전, 모든 표준 기능 포함 ($2 / 1 credit)
  • Enterprise : 큰 규모의 기업용 버전 ($3 / 1 credit)
  • Business Critical : 높은 수준의 데이터 보안을 위한 버전 ($4 / 1 credit)
  • Virtual Private : 직접 Snowflake에 연락해야 이용 가능한 가장 높은 수준의 보안을 제공하는 버전 (Snowflake에게 개별 연락 요구)

 


4. Snowflake Pricing


일반적으로 필요한 만큼만 비용을 지불하면 확장 가능한 스토리지 용량도 제공된다. 

  • Storage(Cloud 공급자가 제공) : 한 달에 사용된 평균 스토리지를 기준으로 월별 스토리지 요금 청구. 하이브리드 컬럼이 압축된 이후에 계산됨. On-Demand Storage(사용할때마다 청구)/Capacity Storage(용량을 정하고 비용을 미리 지불)로 나뉨
  • Compute : 시간당 실행중인 활성 웨어하우스에 대해서만 비용 청구. 최소 1분, 초 단위 계산. 웨어하우스 크기에 따라 달라짐. Snowflake credit으로 계산

 


5. Monitor Usage


www.snowflake.com/pricing/  

 

Snowflake Pricing & Cost Structure

Snowflake usage-based pricing lets you pay for the storage and compute you actually use, and scale storage and compute independently. Learn how here.

www.snowflake.com

 에 접속하여 Platform과 Region을 선택하면 각 Edition별 credit 당 가격을 알 수 있음.


Snowflake app에서 모니터링 하는 방법 

  • ACCOUNTADMIN 역할로 이동 
  • Admin - Usage - 웨어하우스 선택 

 


6. Roles in Snowflake

  • ACCOUNTADMIN : 모든 보안 role을 결합한 최상위 role. 제한된 수의 사용자에게만 부여되어야 함.
  • SECURITYADMIN : USERADMIN role이 SECURITYADMIN에게 부여됨. 사용자 및 role을 관리할 수 있음.
    개체 부여를 전체적으로 관리할 수 있음.
  • SYSADMIN : 웨어하우스 및 데이터베이스를 만들 수 있음. 모든 사용자 지정 role을 할당.
  • USERADMIN : 사용자 및 role 관리 전용. 사용자 및 role 생성 가능.
  • PUBLIC : 모든 사용자에게 자동으로 부여됨. 다른 모든 role과 마찬가지로 자체 개체를 만들 수 있음
    (다른 모든 사용자/role에서 사용가능)
    포함 관계 : PUBLIC → USERADMIN → SECURITYADMIN → ACCOUNTADMIN ← SYSADMIN

 

 

 

Udemy의 'Snowflake - The Complete Masterclass (2023 Edition)'를 공부한 내용을 바탕으로 작성하였습니다.