Compreensão dos custos de orçamento

Neste tópico:

O uso de orçamentos gera os seguintes custos:

  • Custos de computação: o Snowflake executa tarefas em segundo plano sem servidor (_MEASUREMENT_TASK e _BACKFILL_TASK) que coletam dados de uso de crédito para o orçamento da conta e os orçamentos personalizados em sua conta. Os recursos de computação usados para essas tarefas são cobrados em sua conta.

  • Custos de armazenamento: o Snowflake armazena metadados para os orçamentos em sua conta. O armazenamento desses metadados é cobrado em sua conta.

Análise dos custos de computação

Você pode visualizar os custos de tarefas sem servidor usando Snowsight ou Exibição SERVERLESS_TASK_HISTORY do Account Usage.

Nota

A tarefa _MEASUREMENT_TASK é executada quando você adiciona ou remove tags de objeto, o que gera custos referentes à computação sem servidor necessária para executar a tarefa.

Exemplo: custo de computação de todos os orçamentos

O exemplo a seguir soma o uso de crédito para a tarefa de medição dos 28 dias anteriores, o que ajuda você a entender o custo total de computação para o uso de orçamentos:

SELECT SUM(credits_used)
   FROM snowflake.account_usage.serverless_task_history
   WHERE task_name = '_MEASUREMENT_TASK'
     AND start_time >= DATEADD('day', -28, current_timestamp());
Copy
Exemplo: custo de computação de orçamentos individuais

O exemplo a seguir lista os orçamentos na conta junto com os custos de computação associados a cada orçamento no período especificado.

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;
Copy

Exploração dos custos de armazenamento

Os dados e metadados necessários para os orçamentos são armazenados nas seguintes tabelas internas:

  • _CONFIGURATION_TABLE

  • _MEASUREMENT_TABLE

  • _NOTIFICATION_TABLE

  • _BUDGET_HOT_USAGE_DATA

  • _BUDGET_COLD_USAGE_DATA

Para determinar os custos associados a essas tabelas, você pode consultar a exibição TABLES no esquema de uso da conta ou da organização para retornar a quantidade de armazenamento que está sendo usada para as tabelas.

Os exemplos a seguir retornam a soma do armazenamento que está sendo usado para as tabelas internas associadas aos orçamentos na conta atual:

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');
Copy