Evaluate cost for hybrid tables¶
When using hybrid tables, your account is charged based on three modes of consumption.
Hybrid table storage: Cost for storage of hybrid tables depends on the amount of data that you are storing in hybrid tables. Storage cost is based on a flat monthly rate per gigabyte (GB). See Table 3(b) in the Snowflake Service Consumption Table, which covers unit pricing for hybrid table storage. Note that hybrid table storage is more expensive than traditional Snowflake storage.
Virtual warehouse compute: Queries against hybrid tables are executed through virtual warehouses. The consumption rate of a warehouse is the same for querying hybrid tables as it is for standard tables. See Virtual warehouse credit usage.
Hybrid table requests: Hybrid tables consume additional credits because they use serverless resources on the underlying row storage clusters. Consumption is measured based on the amount of data that is read from or written to these clusters. Credits are also consumed for compute resources used to perform background operations, such as compaction.
See Table 5 in the Snowflake Service Consumption Table, which covers serverless resource unit pricing for hybrid table requests. Because hybrid tables store data in pages, even small read or write operations incur a minimum 4 KB of hybrid table request usage. Snowflake may consolidate concurrent and batch write operations to optimize consumption for hybrid table requests.
Hybrid table storage for Time Travel data¶
Consumption for hybrid table storage takes into account the data that is retained by Time Travel. Data retained by Time Travel is included in the following storage metrics:
STORAGE_BYTES column in the STORAGE_USAGE view
AVERAGE_DATABASE_BYTES column in:
The Account Usage DATABASE_STORAGE_USAGE_HISTORY view
The Organization Usage DATABASE_STORAGE_USAGE_HISTORY view
The Information Schema DATABASE_STORAGE_USAGE_HISTORY function
Data retained by Time Travel is stored in object storage, not the row store, and is charged at the standard table rate, not the higher hybrid table rate.
Retrieve consumption metrics for hybrid tables¶
You can view storage usage for hybrid tables and monitor consumption of hybrid table storage credits by querying the following views and functions.
STORAGE_USAGE view (see the STORAGE_BYTES and HYBRID_TABLE_STORAGE_BYTES columns).
DATABASE_STORAGE_USAGE_HISTORY (see the AVERAGE_HYBRID_TABLE_STORAGE_BYTES and AVERAGE_DATABASE_BYTES columns):
Account Usage DATABASE_STORAGE_USAGE_HISTORY view
Organization Usage DATABASE_STORAGE_USAGE_HISTORY view
Information Schema DATABASE_STORAGE_USAGE_HISTORY function
HYBRID_TABLES view (data per specific hybrid table; see the BYTES column).
To monitor virtual warehouse compute resources used during specific queries that are executed against hybrid tables, use the AGGREGATE_QUERY_HISTORY view
(see, for example, the WAREHOUSE_SIZE
column) .
You can join the TABLE_STORAGE_METRICS view to the TABLES view to retrieve storage metrics for hybrid tables. The query joins the two views and filters on the TABLES.IS_HYBRID column:
SELECT metrics.*
FROM SNOWFLAKE.ACCOUNT_USAGE.TABLE_STORAGE_METRICS metrics
INNER JOIN SNOWFLAKE.ACCOUNT_USAGE.TABLES tables
ON (
metrics.id = tables.table_id
AND metrics.table_schema_id = tables.table_schema_id
AND metrics.table_catalog_id = tables.table_catalog_id
)
WHERE tables.is_hybrid='YES';
To monitor historical consumption of hybrid table request credits (serverless compute), use the HYBRID_TABLE_USAGE_HISTORY view.