Immuta Snowflake Credit Cost
Most of the information regarding Snowflake credit costs is obtained directly from Snowflake's official site. For the latest details, please refer to Snowflake's most recent credit cost information.
Content List
Snowflake pricing, editions, and storage model
Virtual warehouses and credits
Snowflake Storage details
Virtual warehouse costs breakdown
Identify how many “CREDITS_USED_CLOUD_SERVICES” by the Immuta Application.
1. Snowflake pricing, editions, and storage model
Snowflake decouples compute and storage, and each has a different pricing model. Check Snowflake official site for latest updates.
Pricing depending on region for both credit on editions and storage usage type. More info here:
Pricing Options
There different editions Snowflake offers per/credit at the time of this write up:
Standard - introductory level
Enterprise (includes all features from Standard) - large-scale enterprise
Business Critical (includes all features from Enterprise)- higher level of data protection for very sensitive data
Virtual Private (includes all features from Business Critical)- highest level of security from Snowflake documentation
Storage has two different offers per/month:
Capacity Storage - pay upfront for defined capacity size
On-Demand Storage - pay only what you used
2. Virtual warehouses and credits
A snowflake credit is a unit of measure, and it is consumed for virtual warehouse(size) being active not the number of SQL executed.
Each credit is priced differently based on region and platform(AWS, Azure, GCP)
Snowflake credits are billed by the second with a one-minute minimum on active warehouse
Recommended to set auto-suspend and auto-resume for warehouse configuration
Warehouses consume credits depending on the size:
Overview of warehouses | Snowflake Documentation
There is a significant difference on credit consumption between an X-Small and 4X-Large.
3. Snowflake Storage details
Snowflake storage cost details can be found here:
Pricing Options
Storage is charged based on the daily average storage used for the month.
Using the
ACCOUNTADMIN
role, go to “Account” → “Billing & Usage” will have the average storage used.Storage is combined of database storage, stage objects, and fail safe.
Data transfer (i.e stage objects for loading data to snowflake) within the same region is free while cross-region incurs a cost.
Capacity Storage - pay upfront for defined capacity size
On-Demand Storage - pay only what you used
4. Virtual warehouse and storage cost breakdown
Each region and platform price Snowflake editions differently.
Virtual Private Edition pricing - contact Snowflake
More Snowflake pricing details here:
Pricing Options
5. Identify how many “CREDITS_USED_CLOUD_SERVICES” by the Immuta Application
The
"SNOWFLAKE"."ACCOUNT_USAGE"."QUERY_HISTORY"
table has a column“CREDITS_USED_CLOUD_SERVICES”
which shows how many credit each executed SQL statement used and this is based on the the“TOTAL_ELAPSED_TIME”
- and the time is calculated by the start_time and the end_time of the SQL execution.The
QUERY_HISTORY
table also holds theSESSION_ID
info on which session the SQL statement was executed by.
Use
ACCOUNTADMIN
and run the following to get a small sample of thisQUERY_HISTORY
table:
select * from "SNOWFLAKE"."ACCOUNT_USAGE"."QUERY_HISTORY" limit 10;
The "SNOWFLAKE"."ACCOUNT_USAGE"."SESSIONS" table holds detail of each session(SESSION_ID column) connected to Snowflake from which application. The application info is stored in the “CLIENT_ENVIRONMENT” column on this table; this column is a JSON object.
Use ACCOUNTADMIN and run the following to get a small sample of this SESSIONS table:
select * from "SNOWFLAKE"."ACCOUNT_USAGE"."SESSIONS" limit 10;
Review the
CLIENT_ENVIRONMENT
column(JSON Object) to find all “APPLICATION” connected and executed SQL on Snowflake.

By identifying which
session_id
executed SQL coming from the Immuta application, you can determine which SQL statements were run by Immuta, how long they executed, and the credits consumed. The following query provides these details by querying theQUERY_HISTORY
table and performing an INNER JOIN with theSESSIONS
table using theSESSION_ID
. It then filters for entries where theAPPLICATION
field in theCLIENT_ENVIRONMENT
JSON object equals IMMUTA.
SELECT h.* FROM "SNOWFLAKE"."ACCOUNT_USAGE"."QUERY_HISTORY" h
INNER JOIN "SNOWFLAKE"."ACCOUNT_USAGE"."SESSIONS" s
ON s.session_id = h.session_id
WHERE GET(parse_json(s.client_environment), 'APPLICATION') = 'IMMUTA' limit 25;
Outcome example:

With the above information, you can build your own query to determine how often, how long, and how much Snowflake credit Immuta incurs in Snowflake.
Last updated