๐
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 TravelUp to 1 day maximum
WarehousesSingle-cluster only
SecurityBasic RBAC only
ComplianceSOC 2 Type II
๐จ
Enterprise (adds on top of Standard)
Time TravelUp to 90 days (configurable per object)
WarehousesMulti-cluster warehousesโ For high concurrency
SecurityColumn-level Security + Row Access Policiesโ Dynamic Data Masking
OtherSearch Optimisation, Database Replicationโ Periodic rekeying
๐ง
Business Critical (adds on top of Enterprise)
ComplianceHIPAA, PCI DSS, SOC 1 & 2, ISO 27001
EncryptionTri-Secret Secure โ customer-managed keys
NetworkPrivate Link (AWS / Azure / GCP)โ No public internet
DRBusiness Continuity Failover & Fallback
๐ฅ
VPS โ Virtual Private Snowflake
IsolationDedicated single-tenant hardware
Use caseGovernment, defence, highest-security sectors
๐
Quick Reference
Virtual Warehouse Sizes & Credits
โก
Credit Consumption (per hour)
X-Small1 credit/hourโ Development & testing
Small2 credits/hour
Medium4 credits/hour
Large8 credits/hour
X-Large16 credits/hour
2X-Large32 credits/hour
3X-Large64 credits/hour
4X-Large128 credits/hourโ Maximum size
๐ฐ
Billing Rules
BillingPer second, 60-second minimum per resume
SuspendedZero credits consumed when suspended
Auto-suspendDefault: 600 seconds (10 minutes) idle
Cloud ServicesFree up to 10% of daily compute credits
๐
Quick Reference
Snowflake Object Hierarchy
๐๏ธ
Container Hierarchy (top to bottom)
OrgOrganisation โ optional grouping of multiple accounts
AccountTied to one cloud provider + one regionโ Cannot span clouds
DatabaseTop-level container for schemas
SchemaContainer for all objects (tables, views, stages, etc.)
๐ฆ
Schema-Level Objects
TablesPermanent, Transient, Temporary, External
ViewsStandard, Secure, Materialized
StagesUser (@~), Table (@%), Named (internal/external)
PipesSnowpipe continuous loading definitions
StreamsChange Data Capture (CDC) tracking
TasksScheduled SQL execution
FunctionsUDFs, UDTFs (JavaScript, Python, SQL, Java)
ProceduresStored Procedures (JavaScript, Python, Snowpark)
File FormatsCSV, JSON, Parquet, Avro, ORC, XML
SequencesAuto-incrementing counter
๐
Quick Reference
Three-Layer Architecture
๐๏ธ
Layers
StorageCloud object storage (S3/Azure Blob/GCS) โ columnar, compressed micro-partitionsโ Managed by Snowflake
ComputeVirtual Warehouses โ independent MPP clustersโ Scale independently of storage
ServicesCloud Services Layer โ auth, metadata, query optimisation, access controlโ Free up to 10% daily compute
๐๏ธ
Micro-Partition Facts
Size50โ500 MB compressed (typically 16โ160 MB uncompressed)
FormatColumnar โ each column stored separately within partition
ImmutableNever updated in place โ new micro-partitions created on changeโ Enables Time Travel
MetadataMin/max, NDV, null count per column โ enables pruning
2
Account Access & Security (20%)
๐
Quick Reference
Snowflake System Roles
๐ค
Built-in System Roles
ACCOUNTADMINHighest privilege โ manages entire account, billing, usersโ Restrict to โค2 users
SYSADMINCreates/manages databases, warehouses, schemas, tablesโ Most common admin role
SECURITYADMINManages users, roles, network policies, grants/revokes
USERADMINCreates and manages users and roles onlyโ Subset of SECURITYADMIN
PUBLICDefault role granted to every user automaticallyโ Lowest privilege
๐บ
Role Hierarchy Rule
InheritRoles inherit all privileges of roles GRANTED to them
GRANTGRANT ROLE child_role TO ROLE parent_roleโ Parent inherits child's privileges
Best practiceCustom roles should roll up to SYSADMINโ So SYSADMIN can manage all objects
๐
Quick Reference
Key Privileges Reference
๐๏ธ
Account-Level Privileges
CREATE DATABASECreate new databasesโ Grant to SYSADMIN
CREATE WAREHOUSECreate virtual warehouses
CREATE ROLECreate new rolesโ Granted to USERADMIN
CREATE USERCreate new users
MANAGE GRANTSGrant any privilege to any roleโ SECURITYADMIN has this
๐
Object-Level Privileges
OWNERSHIPFull control of an object (transfer, drop)โ One role per object
USAGERequired to USE a database, schema, or warehouseโ Needed to access child objects
SELECTQuery table or view data
INSERT/UPDATE/DELETEModify table data
CREATECreate objects within a schema or database
REFERENCESCreate foreign key constraints
๐
Quick Reference
Authentication Methods
๐
Methods
PasswordUsername + password โ default method
Key-pairRSA private/public key โ programmatic access (CLI, connectors)
MFADuo Security โ time-based one-time passwordโ Recommended for ACCOUNTADMIN
SAML 2.0Federated SSO via identity providers (Okta, ADFS, Azure AD)
OAuth 2.0Delegated access โ Snowflake OAuth or External OAuth
3
Performance Concepts (15%)
๐
Quick Reference
Snowflake's Three Cache Layers
1๏ธโฃ
Result Cache
WhatStores the exact result set of a completed query
Duration24 hours โ reset if underlying data changes
CostFREE โ no warehouse credits consumed
ConditionSame SQL text + same user privileges + data unchanged
2๏ธโฃ
Local Disk Cache (Data Cache)
WhatCaches micro-partition data on warehouse SSD storage
DurationUntil warehouse is suspended (lost on suspend)
CostCredits consumed (warehouse must be running)
Best forRepeated queries against same data โ warm cache
3๏ธโฃ
Metadata Cache (Cloud Services)
WhatStores metadata โ row counts, min/max, table structure
DurationPersistent in Cloud Services layer
CostFREE (Cloud Services โ up to 10% of compute)
Best forSHOW commands, COUNT(*) without WHERE, MIN/MAX
๐
Quick Reference
Query Performance โ Key Concepts
โ๏ธ
Pruning & Optimisation
PruningSnowflake skips micro-partitions based on column min/max metadata
EffectivePredicates on low-cardinality columns benefit most from pruning
ClusteringClustering keys improve pruning on frequently filtered columns
EXPLAINEXPLAIN <sql> โ shows logical execution plan
๐ฟ
Spilling to Disk
Local spillData spills to warehouse SSD when memory is exceededโ Slower than memory
Remote spillData spills to cloud storage (S3/Blob) when SSD is fullโ Much slower
FixIncrease warehouse size or optimise query (reduce data volume)
๐
Multi-Cluster Scaling
Scale upLarger warehouse size โ handles bigger individual queries
Scale outMore clusters โ handles more concurrent users/queries
Auto-scaleClusters added/removed based on queue depthโ Enterprise+
MaximizedAll clusters run simultaneously regardless of load
๐
Quick Reference
Search Optimisation Service (SOS)
๐
Key Facts
PurposeAccelerates point lookup queries on large tables
Helps withEquality predicates, IN lists, substring/ILIKE searches, geo
EnableALTER TABLE t ADD SEARCH OPTIMIZATION ON EQUALITY(col)
CostAdditional serverless credits for maintenanceโ Enterprise+ required
vs ClusteringSOS: 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
S3Amazon S3 โ URL: s3://bucket/path
AzureAzure Blob Storage โ URL: azure://account.blob.core.windows.net/container
GCSGoogle Cloud Storage โ URL: gcs://bucket/path
โจ๏ธ
Stage Commands
PUTUpload file from local machine to internal stageโ SnowSQL only
GETDownload file from internal stage to local machineโ SnowSQL only
LISTLIST @mystage โ shows files in a stage
REMOVEREMOVE @mystage/file.csv โ delete from stage
๐
Quick Reference
COPY INTO Command Reference
๐ฅ
Key Options (Loading)
ON_ERRORCONTINUE, SKIP_FILE, SKIP_FILE_n, ABORT_STATEMENT
PURGEDelete staged files after successful load
FORCERe-load files already loaded (bypasses load metadata)
MATCH_BY_COLUMN_NAMEMap JSON/Parquet keys to column names automatically
FILESSpecify a list of files to load from the stage
PATTERNRegex pattern to filter files: PATTERN='.*sales.*\.csv'
๐
Load History
64 daysSnowflake tracks loaded files for 64 days per table
COPY_HISTORYINFORMATION_SCHEMA.LOAD_HISTORY โ per database
ACCOUNT_USAGESNOWFLAKE.ACCOUNT_USAGE.COPY_HISTORY โ all tablesโ 365-day history
๐
Quick Reference
Snowpipe Quick Reference
๐ฐ
Key Facts
WhatServerless continuous data loading โ triggered by file arrival
Auto-ingestCloud event notifications (SQS/Event Grid/Pub-Sub) trigger pipeโ Fully automatic
REST APIinsertFiles() or insertReport() for manual triggering
BillingPer-file serverless credit model โ no warehouse needed
StatusSYSTEM$PIPE_STATUS('pipe_name')
LatencyNear-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_PATHGET_PATH(obj, 'key.nested') โ same as : notation
PARSE_JSONPARSE_JSON('{}') โ convert JSON string to VARIANT
TO_VARIANTCast any type to VARIANT
TYPEOFReturns data type of VARIANT value
FLATTENFlattens array/object to rows โ use with LATERAL
ARRAY_AGGAggregate rows into JSON array
OBJECT_CONSTRUCTBuild JSON object from key-value pairs
๐
Quick Reference
Streams & Tasks Reference
๐
Stream Types
StandardCaptures INSERT, UPDATE, DELETE โ all DML changes
Append-onlyCaptures INSERT only โ more efficient for append workloads
Insert-onlyFor external tables โ INSERT tracking only
๐
Stream Metadata Columns
METADATA$ACTIONINSERT or DELETEโ UPDATE = DELETE + INSERT pair
METADATA$ISUPDATETRUE if part of an UPDATE operation
METADATA$ROW_IDUnique immutable row identifier
โฐ
Tasks
CRONSCHEDULE = 'USING CRON 0 9 * * MON-FRI UTC'
MinutesSCHEDULE = '5 MINUTE'
TreeAFTER parent_task โ child tasks form a DAG
EnableALTER TASK mytask RESUME โ tasks start in suspended state
ServerlessUSER_TASK_MANAGED_INITIAL_WAREHOUSE_SIZE โ no warehouse
6
Data Protection & Sharing (10%)
๐
Quick Reference
Time Travel & Fail-safe Reference
โฐ
Time Travel
StandardMax 1 day Time Travel
Enterprise+Max 90 days Time Travel
Transient/TempMax 1 day โ regardless of edition
AT OFFSETAT(OFFSET => -3600) โ seconds from now
AT TIMESTAMPAT(TIMESTAMP => '2024-01-01'::TIMESTAMP_TZ)
AT STATEMENTAT(STATEMENT => '<query_id>')
UNDROPUNDROP TABLE/SCHEMA/DATABASE name
๐ก๏ธ
Fail-safe
Duration7 days โ fixed, non-configurable
AccessSnowflake Support ONLY โ no self-service
Applies toPermanent tables only
Not forTransient, temporary, or external tables
ยฉ๏ธ
Zero-Copy Cloning
CostZero initial storage โ shares micro-partition metadata
CloneableDatabases, schemas, tables, stages, streams, tasks
With TTCLONE ... AT(OFFSET => ...) or BEFORE(STATEMENT => ...)
PrivilegesGrantees of original do NOT auto-inherit clone access
๐
Quick Reference
Secure Data Sharing Reference
๐ค
Share Concepts
ShareMetadata object created by provider โ no data copied
ProviderAccount that creates and grants the share
ConsumerAccount that creates a read-only DB FROM the share
LiveConsumer always sees provider's current data
โจ๏ธ
Key Commands
CREATE SHARECREATE SHARE my_share
GRANTGRANT USAGE ON DATABASE db TO SHARE my_share
ADD ACCOUNTALTER SHARE my_share ADD ACCOUNTS = xy12345
Consumer DBCREATE DATABASE from_share FROM SHARE provider.share
MarketplaceSnowflake 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