Skip to main content
๐Ÿ“‹

Quick Reference

Cheat Sheets

Condensed, exam-ready reference material across all six COF-C02 domains. Bookmark this page for last-minute revision before your exam.

1

Architecture & Features (25%)

๐Ÿ“‹
Quick Reference

Snowflake Editions โ€” Feature Matrix

๐ŸŸฆ
Standard
Time Travel
Up to 1 day maximum
Warehouses
Single-cluster only
Security
Basic RBAC only
Compliance
SOC 2 Type II
๐ŸŸจ
Enterprise (adds on top of Standard)
Time Travel
Up to 90 days (configurable per object)
Warehouses
Multi-cluster warehousesโ€” For high concurrency
Security
Column-level Security + Row Access Policiesโ€” Dynamic Data Masking
Other
Search Optimisation, Database Replicationโ€” Periodic rekeying
๐ŸŸง
Business Critical (adds on top of Enterprise)
Compliance
HIPAA, PCI DSS, SOC 1 & 2, ISO 27001
Encryption
Tri-Secret Secure โ€” customer-managed keys
Network
Private Link (AWS / Azure / GCP)โ€” No public internet
DR
Business Continuity Failover & Fallback
๐ŸŸฅ
VPS โ€” Virtual Private Snowflake
Isolation
Dedicated single-tenant hardware
Use case
Government, defence, highest-security sectors
๐Ÿ“‹
Quick Reference

Virtual Warehouse Sizes & Credits

โšก
Credit Consumption (per hour)
X-Small
1 credit/hourโ€” Development & testing
Small
2 credits/hour
Medium
4 credits/hour
Large
8 credits/hour
X-Large
16 credits/hour
2X-Large
32 credits/hour
3X-Large
64 credits/hour
4X-Large
128 credits/hourโ€” Maximum size
๐Ÿ’ฐ
Billing Rules
Billing
Per second, 60-second minimum per resume
Suspended
Zero credits consumed when suspended
Auto-suspend
Default: 600 seconds (10 minutes) idle
Cloud Services
Free up to 10% of daily compute credits
๐Ÿ“‹
Quick Reference

Snowflake Object Hierarchy

๐Ÿ—‚๏ธ
Container Hierarchy (top to bottom)
Org
Organisation โ€” optional grouping of multiple accounts
Account
Tied to one cloud provider + one regionโ€” Cannot span clouds
Database
Top-level container for schemas
Schema
Container for all objects (tables, views, stages, etc.)
๐Ÿ“ฆ
Schema-Level Objects
Tables
Permanent, Transient, Temporary, External
Views
Standard, Secure, Materialized
Stages
User (@~), Table (@%), Named (internal/external)
Pipes
Snowpipe continuous loading definitions
Streams
Change Data Capture (CDC) tracking
Tasks
Scheduled SQL execution
Functions
UDFs, UDTFs (JavaScript, Python, SQL, Java)
Procedures
Stored Procedures (JavaScript, Python, Snowpark)
File Formats
CSV, JSON, Parquet, Avro, ORC, XML
Sequences
Auto-incrementing counter
๐Ÿ“‹
Quick Reference

Three-Layer Architecture

๐Ÿ—๏ธ
Layers
Storage
Cloud object storage (S3/Azure Blob/GCS) โ€” columnar, compressed micro-partitionsโ€” Managed by Snowflake
Compute
Virtual Warehouses โ€” independent MPP clustersโ€” Scale independently of storage
Services
Cloud Services Layer โ€” auth, metadata, query optimisation, access controlโ€” Free up to 10% daily compute
๐Ÿ—ƒ๏ธ
Micro-Partition Facts
Size
50โ€“500 MB compressed (typically 16โ€“160 MB uncompressed)
Format
Columnar โ€” each column stored separately within partition
Immutable
Never updated in place โ€” new micro-partitions created on changeโ€” Enables Time Travel
Metadata
Min/max, NDV, null count per column โ€” enables pruning
2

Account Access & Security (20%)

๐Ÿ“‹
Quick Reference

Snowflake System Roles

๐Ÿ‘ค
Built-in System Roles
ACCOUNTADMIN
Highest privilege โ€” manages entire account, billing, usersโ€” Restrict to โ‰ค2 users
SYSADMIN
Creates/manages databases, warehouses, schemas, tablesโ€” Most common admin role
SECURITYADMIN
Manages users, roles, network policies, grants/revokes
USERADMIN
Creates and manages users and roles onlyโ€” Subset of SECURITYADMIN
PUBLIC
Default role granted to every user automaticallyโ€” Lowest privilege
๐Ÿ”บ
Role Hierarchy Rule
Inherit
Roles inherit all privileges of roles GRANTED to them
GRANT
GRANT ROLE child_role TO ROLE parent_roleโ€” Parent inherits child's privileges
Best practice
Custom roles should roll up to SYSADMINโ€” So SYSADMIN can manage all objects
๐Ÿ“‹
Quick Reference

Key Privileges Reference

๐Ÿ›๏ธ
Account-Level Privileges
CREATE DATABASE
Create new databasesโ€” Grant to SYSADMIN
CREATE WAREHOUSE
Create virtual warehouses
CREATE ROLE
Create new rolesโ€” Granted to USERADMIN
CREATE USER
Create new users
MANAGE GRANTS
Grant any privilege to any roleโ€” SECURITYADMIN has this
๐Ÿ“‹
Object-Level Privileges
OWNERSHIP
Full control of an object (transfer, drop)โ€” One role per object
USAGE
Required to USE a database, schema, or warehouseโ€” Needed to access child objects
SELECT
Query table or view data
INSERT/UPDATE/DELETE
Modify table data
CREATE
Create objects within a schema or database
REFERENCES
Create foreign key constraints
๐Ÿ“‹
Quick Reference

Authentication Methods

๐Ÿ”‘
Methods
Password
Username + password โ€” default method
Key-pair
RSA private/public key โ€” programmatic access (CLI, connectors)
MFA
Duo Security โ€” time-based one-time passwordโ€” Recommended for ACCOUNTADMIN
SAML 2.0
Federated SSO via identity providers (Okta, ADFS, Azure AD)
OAuth 2.0
Delegated access โ€” Snowflake OAuth or External OAuth
3

Performance Concepts (15%)

๐Ÿ“‹
Quick Reference

Snowflake's Three Cache Layers

1๏ธโƒฃ
Result Cache
What
Stores the exact result set of a completed query
Duration
24 hours โ€” reset if underlying data changes
Cost
FREE โ€” no warehouse credits consumed
Condition
Same SQL text + same user privileges + data unchanged
2๏ธโƒฃ
Local Disk Cache (Data Cache)
What
Caches micro-partition data on warehouse SSD storage
Duration
Until warehouse is suspended (lost on suspend)
Cost
Credits consumed (warehouse must be running)
Best for
Repeated queries against same data โ€” warm cache
3๏ธโƒฃ
Metadata Cache (Cloud Services)
What
Stores metadata โ€” row counts, min/max, table structure
Duration
Persistent in Cloud Services layer
Cost
FREE (Cloud Services โ€” up to 10% of compute)
Best for
SHOW commands, COUNT(*) without WHERE, MIN/MAX
๐Ÿ“‹
Quick Reference

Query Performance โ€” Key Concepts

โœ‚๏ธ
Pruning & Optimisation
Pruning
Snowflake skips micro-partitions based on column min/max metadata
Effective
Predicates on low-cardinality columns benefit most from pruning
Clustering
Clustering keys improve pruning on frequently filtered columns
EXPLAIN
EXPLAIN <sql> โ€” shows logical execution plan
๐Ÿ’ฟ
Spilling to Disk
Local spill
Data spills to warehouse SSD when memory is exceededโ€” Slower than memory
Remote spill
Data spills to cloud storage (S3/Blob) when SSD is fullโ€” Much slower
Fix
Increase warehouse size or optimise query (reduce data volume)
๐Ÿ“ˆ
Multi-Cluster Scaling
Scale up
Larger warehouse size โ€” handles bigger individual queries
Scale out
More clusters โ€” handles more concurrent users/queries
Auto-scale
Clusters added/removed based on queue depthโ€” Enterprise+
Maximized
All clusters run simultaneously regardless of load
๐Ÿ“‹
Quick Reference

Search Optimisation Service (SOS)

๐Ÿ”
Key Facts
Purpose
Accelerates point lookup queries on large tables
Helps with
Equality predicates, IN lists, substring/ILIKE searches, geo
Enable
ALTER TABLE t ADD SEARCH OPTIMIZATION ON EQUALITY(col)
Cost
Additional serverless credits for maintenanceโ€” Enterprise+ required
vs Clustering
SOS: point lookups. Clustering: range scans, large table scans
4

Data Loading & Unloading (15%)

๐Ÿ“‹
Quick Reference

Stage Types Reference

๐Ÿ 
Internal Stages
@~
User stage โ€” private to each user, cannot be sharedโ€” PUT/GET only
@%<table>
Table stage โ€” one per table, accessible by table owners
@<name>
Named internal stage โ€” shared, schema-level object, most flexible
โ˜๏ธ
External Stages
S3
Amazon S3 โ€” URL: s3://bucket/path
Azure
Azure Blob Storage โ€” URL: azure://account.blob.core.windows.net/container
GCS
Google Cloud Storage โ€” URL: gcs://bucket/path
โŒจ๏ธ
Stage Commands
PUT
Upload file from local machine to internal stageโ€” SnowSQL only
GET
Download file from internal stage to local machineโ€” SnowSQL only
LIST
LIST @mystage โ€” shows files in a stage
REMOVE
REMOVE @mystage/file.csv โ€” delete from stage
๐Ÿ“‹
Quick Reference

COPY INTO Command Reference

๐Ÿ“ฅ
Key Options (Loading)
ON_ERROR
CONTINUE, SKIP_FILE, SKIP_FILE_n, ABORT_STATEMENT
PURGE
Delete staged files after successful load
FORCE
Re-load files already loaded (bypasses load metadata)
MATCH_BY_COLUMN_NAME
Map JSON/Parquet keys to column names automatically
FILES
Specify a list of files to load from the stage
PATTERN
Regex pattern to filter files: PATTERN='.*sales.*\.csv'
๐Ÿ“œ
Load History
64 days
Snowflake tracks loaded files for 64 days per table
COPY_HISTORY
INFORMATION_SCHEMA.LOAD_HISTORY โ€” per database
ACCOUNT_USAGE
SNOWFLAKE.ACCOUNT_USAGE.COPY_HISTORY โ€” all tablesโ€” 365-day history
๐Ÿ“‹
Quick Reference

Snowpipe Quick Reference

๐Ÿšฐ
Key Facts
What
Serverless continuous data loading โ€” triggered by file arrival
Auto-ingest
Cloud event notifications (SQS/Event Grid/Pub-Sub) trigger pipeโ€” Fully automatic
REST API
insertFiles() or insertReport() for manual triggering
Billing
Per-file serverless credit model โ€” no warehouse needed
Status
SYSTEM$PIPE_STATUS('pipe_name')
Latency
Near-real-time (minutes, not seconds)
5

Data Transformations (15%)

๐Ÿ“‹
Quick Reference

Semi-Structured Data (VARIANT)

{ }
Key Operators & Functions
:
Path access โ€” obj:key or obj:key:nestedโ€” e.g. src:address:city
::
Type cast โ€” obj:key::STRING
GET_PATH
GET_PATH(obj, 'key.nested') โ€” same as : notation
PARSE_JSON
PARSE_JSON('{}') โ€” convert JSON string to VARIANT
TO_VARIANT
Cast any type to VARIANT
TYPEOF
Returns data type of VARIANT value
FLATTEN
Flattens array/object to rows โ€” use with LATERAL
ARRAY_AGG
Aggregate rows into JSON array
OBJECT_CONSTRUCT
Build JSON object from key-value pairs
๐Ÿ“‹
Quick Reference

Streams & Tasks Reference

๐ŸŒŠ
Stream Types
Standard
Captures INSERT, UPDATE, DELETE โ€” all DML changes
Append-only
Captures INSERT only โ€” more efficient for append workloads
Insert-only
For external tables โ€” INSERT tracking only
๐Ÿ“Š
Stream Metadata Columns
METADATA$ACTION
INSERT or DELETEโ€” UPDATE = DELETE + INSERT pair
METADATA$ISUPDATE
TRUE if part of an UPDATE operation
METADATA$ROW_ID
Unique immutable row identifier
โฐ
Tasks
CRON
SCHEDULE = 'USING CRON 0 9 * * MON-FRI UTC'
Minutes
SCHEDULE = '5 MINUTE'
Tree
AFTER parent_task โ€” child tasks form a DAG
Enable
ALTER TASK mytask RESUME โ€” tasks start in suspended state
Serverless
USER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE โ€” no warehouse
6

Data Protection & Sharing (10%)

๐Ÿ“‹
Quick Reference

Time Travel & Fail-safe Reference

โฐ
Time Travel
Standard
Max 1 day Time Travel
Enterprise+
Max 90 days Time Travel
Transient/Temp
Max 1 day โ€” regardless of edition
AT OFFSET
AT(OFFSET => -3600) โ€” seconds from now
AT TIMESTAMP
AT(TIMESTAMP => '2024-01-01'::TIMESTAMP_TZ)
AT STATEMENT
AT(STATEMENT => '<query_id>')
UNDROP
UNDROP TABLE/SCHEMA/DATABASE name
๐Ÿ›ก๏ธ
Fail-safe
Duration
7 days โ€” fixed, non-configurable
Access
Snowflake Support ONLY โ€” no self-service
Applies to
Permanent tables only
Not for
Transient, temporary, or external tables
ยฉ๏ธ
Zero-Copy Cloning
Cost
Zero initial storage โ€” shares micro-partition metadata
Cloneable
Databases, schemas, tables, stages, streams, tasks
With TT
CLONE ... AT(OFFSET => ...) or BEFORE(STATEMENT => ...)
Privileges
Grantees of original do NOT auto-inherit clone access
๐Ÿ“‹
Quick Reference

Secure Data Sharing Reference

๐Ÿค
Share Concepts
Share
Metadata object created by provider โ€” no data copied
Provider
Account that creates and grants the share
Consumer
Account that creates a read-only DB FROM the share
Live
Consumer always sees provider's current data
โŒจ๏ธ
Key Commands
CREATE SHARE
CREATE SHARE my_share
GRANT
GRANT USAGE ON DATABASE db TO SHARE my_share
ADD ACCOUNT
ALTER SHARE my_share ADD ACCOUNTS = xy12345
Consumer DB
CREATE DATABASE from_share FROM SHARE provider.share
Marketplace
Snowflake Marketplace โ€” public/private data listings

๐ŸŽฏ Top Exam Tips

  • โœ“ Snowflake is SaaS โ€” not IaaS or PaaS
  • โœ“ Each account = one cloud + one region
  • โœ“ 60-second minimum per warehouse resume
  • โœ“ Cloud Services free up to 10% of daily compute
  • โœ“ Enterprise needed for 90-day TT + multi-cluster
  • โœ“ Business Critical needed for HIPAA/PCI
  • โœ“ Result cache = FREE (no warehouse needed)
  • โœ“ Local disk cache lost when warehouse suspends
  • โœ“ UNDROP only works within Time Travel window
  • โœ“ Fail-safe = 7 days, Snowflake access only
  • โœ“ Transient/Temporary tables = max 1 day TT, no Fail-safe
  • โœ“ Streams are consumed (offset advances) only after successful DML