了解预算成本¶
本主题内容:
使用预算会产生以下成本:
计算成本 – Snowflake 将运行无服务器后台任务(_MEASUREMENT_TASK 和 _BACKFILL_TASK),以收集账户预算和账户中自定义预算的 Credit 使用量数据。这些任务使用的计算资源将计入您的账户费用。
存储成本 – Snowflake 将预算的元数据存储在您的账户中。此元数据的存储将计入您的账户费用。
了解计算成本¶
You can view costs for serverless tasks using Snowsight or the Account Usage SERVERLESS_TASK_HISTORY 视图.
备注
_MEASUREMENT_TASK 任务会在添加或移除对象标签时运行,这会产生运行任务所需的无服务器计算成本。
- Example: Compute cost of all budgets
The following example sums the credit usage for the measure task for the previous 28 days, which helps you understand the total compute cost of using budgets:
SELECT SUM(credits_used) FROM snowflake.account_usage.serverless_task_history WHERE task_name = '_MEASUREMENT_TASK' AND start_time >= DATEADD('day', -28, current_timestamp());
- 示例:计算单个预算的成本
The following example lists the budgets in the account along with the compute costs associated with each budget within the specified time period.
WITH costs AS ( SELECT instance_id, SUM(credits_used) AS sum_credits FROM snowflake.account_usage.serverless_task_history WHERE start_time >= DATE_TRUNC('month', CURRENT_TIMESTAMP()) AND instance_id IS NOT NULL GROUP BY 1) SELECT ci.name, ci.schema_name, ci.database_name, costs.sum_credits FROM snowflake.account_usage.class_instances ci JOIN costs ON costs.instance_id = ci.id WHERE class_name = 'BUDGET' AND class_database_name = 'SNOWFLAKE' AND deleted IS NULL;
了解存储成本¶
预算所需的数据和元数据存储在以下内部表中:
_CONFIGURATION_TABLE
_MEASUREMENT_TABLE
_NOTIFICATION_TABLE
_BUDGET_HOT_USAGE_DATA
_BUDGET_COLD_USAGE_DATA
要确定与这些表相关的成本,您可以在“Account Usage”或“Organization Usage”架构中查询 TABLES 视图,以返回用于这些表的存储量。
以下示例返回与当前账户中预算相关的内部表所使用的存储空间总和:
SELECT SUM(bytes)
FROM snowflake.account_usage.tables
WHERE table_name IN (
'_CONFIGURATION_TABLE',
'_MEASUREMENT_TABLE',
'_NOTIFICATION_TABLE',
'_BUDGET_HOT_USAGE_DATA',
'_BUDGET_COLD_USAGE_DATA');