100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Cost Management and Credits

Explains how Snowflake's credit-based consumption pricing works across compute, storage, and cloud services, and the tools available to monitor and control spend.

Advanced SnowflakeIntermediate10 min readJul 10, 2026
Analogies

How Snowflake Credits Work

Snowflake bills primarily through credits, an abstract unit that converts to a dollar rate depending on your cloud provider, region, and edition (Standard, Enterprise, Business Critical). Virtual warehouse compute is the dominant cost driver for most accounts: a warehouse consumes credits per second it's running (with a 60-second minimum billing increment each time it resumes from suspension), and credit consumption scales linearly with warehouse size — an X-Small warehouse burns 1 credit per hour of continuous runtime, a Small burns 2, a Medium burns 4, and so on, doubling at each size up to 6X-Large. Storage is billed separately, per average terabyte per month, and cloud services compute (the layer that handles query parsing, metadata, and optimization) is only billed for the portion exceeding 10% of your daily compute spend, so light usage is effectively free.

🏏

Cricket analogy: Like renting a stadium's floodlights by the hour at a rate that doubles for each larger bank of lights switched on, mirroring how warehouse credit burn doubles from X-Small to Small to Medium.

Monitoring and Controlling Spend

Snowflake provides several native tools for cost visibility and control. Resource monitors let you set credit quotas at the account or warehouse-group level over a defined interval, with configurable actions when thresholds are crossed — NOTIFY to alert administrators, or SUSPEND / SUSPEND_IMMEDIATE to actually stop warehouses from consuming further credits once a limit is hit. Warehouses also have an AUTO_SUSPEND setting (commonly set to 60-300 seconds of inactivity) that automatically pauses compute when idle, since you're billed for wall-clock running time regardless of whether queries are actively executing, and AUTO_RESUME automatically wakes a warehouse the instant a new query arrives. The ACCOUNT_USAGE and ORGANIZATION_USAGE schemas expose views like WAREHOUSE_METERING_HISTORY and QUERY_HISTORY for granular, queryable cost attribution down to the warehouse, user, or query level.

🏏

Cricket analogy: Like a franchise setting a hard salary cap that automatically blocks further player signings once the spending threshold is crossed, similar to a resource monitor's SUSPEND action on a warehouse.

sql
-- Configure a warehouse to suspend quickly when idle and resume automatically
ALTER WAREHOUSE analytics_wh SET
  AUTO_SUSPEND = 60
  AUTO_RESUME = TRUE
  WAREHOUSE_SIZE = 'MEDIUM';

-- Create a resource monitor that suspends warehouses once 500 credits are used this month
CREATE OR REPLACE RESOURCE MONITOR monthly_cap
  WITH CREDIT_QUOTA = 500
  FREQUENCY = MONTHLY
  START_TIMESTAMP = IMMEDIATELY
  TRIGGERS
    ON 80 PERCENT DO NOTIFY
    ON 100 PERCENT DO SUSPEND
    ON 110 PERCENT DO SUSPEND_IMMEDIATE;

ALTER WAREHOUSE analytics_wh SET RESOURCE_MONITOR = monthly_cap;

-- Attribute credit consumption by warehouse over the last 7 days
SELECT warehouse_name, SUM(credits_used) AS total_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE start_time >= DATEADD('day', -7, CURRENT_TIMESTAMP())
GROUP BY warehouse_name
ORDER BY total_credits DESC;

Multi-cluster warehouses can automatically scale out additional clusters of the same size to handle queuing under concurrent load, and scale back in when demand drops — this controls query queueing latency but adds proportionally more credit consumption during scale-out periods, so pair it with a resource monitor if cost predictability matters.

Because billing is per-second with a 60-second minimum per warehouse resume, a pattern of many small, frequent queries that repeatedly wake a suspended warehouse can cost more than leaving it running, or than batching queries together. Review AUTO_SUSPEND settings against your actual query cadence rather than using a one-size-fits-all default.

  • Snowflake bills primarily in credits, with virtual warehouse compute typically the dominant cost driver.
  • Warehouse credit consumption doubles per size step (X-Small=1/hr, Small=2/hr, Medium=4/hr, etc.) and bills per second with a 60-second minimum per resume.
  • Storage is billed separately per average terabyte per month; cloud services compute is only billed above 10% of daily compute spend.
  • Resource monitors set credit quotas with NOTIFY, SUSPEND, or SUSPEND_IMMEDIATE actions at defined thresholds.
  • AUTO_SUSPEND and AUTO_RESUME automatically pause idle warehouses and wake them on new queries to avoid paying for idle time.
  • ACCOUNT_USAGE views like WAREHOUSE_METERING_HISTORY and QUERY_HISTORY give granular, queryable cost attribution.
  • Multi-cluster warehouses trade cost predictability for reduced query queueing under concurrent load.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#SnowflakeStudyNotes#CostManagementAndCredits#Cost#Management#Credits#Snowflake#StudyNotes#SkillVeris#ExamPrep