Skip to content

Snowflake

  • Hierarchy: Organization -> Account -> Database -> schema -> table/view
  • Layers:
    • Service: manages metadata, infrastructure, query parsing+optimization, access control
    • Compute: (Virtual Warehouse) runs queries and data manipulation
    • Storage: (Database) Compressed data in columnar format. S3 or Azure blob
  • Client communication channels: URLs available via SYSTEM$ALLOWLIST
    1. Account URL (HTTPS): Used for creating sessions, authentication, sending SQLs, and sending back small results etc.
    2. OCSP URL: Public HTTP URL to authenticate certificate validity
    3. Internal stage: (Customer connecting to Snowflake's S3) used for internal stages, returning large results, and serves as result cache
    4. Bulk data copy from external storage: (Snowflake connecting to customer's S3) Used by Snowflake VPC to access data belonging to the customer
  • Account name consists of <org>-<account>; legacy account locator <locator>.<region>
    • Org name can be changed by Snowflake support; org admin can change account name; account locators cannot be changed
    • <org>-<account> can contain connection object in place of <account> (example)
  • Reader accounts:
    • cannot run DML: INSERT, UPDATE, MERGE, DELETE, COPY INTO <table> and certain DDLs: CREATE {PIPE, ROW ACCESS POLICY, SHARE, STAGE}
    • can use get/put on user stage

Releases

  • Weekly
    • Full release: new features and fixes; released in 3 stages:
      1. early-access Enterprise accounts
      2. standard accounts
      3. remaining Enterprise accounts
    • Patch release: fixes only
  • Monthly: Behavior changes, two-month release period,
    1. first month disabled by default
    2. second month enabled by default (can opt-out)
    3. after two months only the new behavior (can request extension)
  • Availability of features: PrPr (by invitation only), PuPr Request (customer can request), PuPr Open (available to all), GA

Editions

Feature Std Enterprise BC
time-travel 1 <=90 <=90
Multi-cluster X x
Materialized Views X x
CAP, RAP, Tagging X X
Periodic Rekey X X
Session Policies X X
Network Encryption Public Public All
PrivateLink X
Tri-Secret Secure X
Database Replication and Groups x x x
Account Replication and Failover X
HPI, PCI, FedRAMP X
  • VPS Edition = BC + VPS - Data Sharing

Billing

  • storage: daily average Terabytes per month
    • temporary table that span 24 hours will be included
  • compute: minimum 1 minute, then per second
  • cloud service compute: charged only if it exceeds 10% of compute costs; calculated daily
  • storage credit usage: calculated monthly by average number of on-disk bytes stored each day
    • includes stages, time-travel and fail-safe
  • serverless features have a premium
    • serverless features are billed by compute-hours, not the actual time spent. Consequently, they can use more or less than XS WH
  • Billing information (account_usage view and information_schema function)
    • daily account level history: METERING_DAILY_HISTORY
    • hourly account level history: METERING_HISTORY (no information_schema function available)
    • Warehouse level history: WAREHOUSE_METERING_HISTORY
    • Query level history: QUERY_HISTORY
    • DATABASE_STORAGE_USAGE_HISTORY and STAGE_STORAGE_USAGE_HISTORY
  • No data egress cost to customers when using Snowflake drivers