Explicação dos custos de replicação¶
Os encargos baseados na replicação são divididos em duas categorias: transferência de dados e recursos de computação. Ambas as categorias são faturadas na conta de destino (ou seja, a conta que armazena o banco de dados secundário ou o grupo de replicação/failover secundário que é atualizado).
- Transferência de dados
A replicação inicial e as operações de sincronização posteriores transferem dados entre regiões. Os provedores de nuvem cobram pelos dados transferidos de uma região para outra dentro de sua própria rede.
A taxa de transferência de dados é determinada pela localização da conta de origem (ou seja, a conta que armazena o grupo de replicação ou failover primário). Para preços de transferência de dados, consulte o guia de preços (no site da Snowflake).
Para obter mais informações sobre faturamento por transferência de dados, consulte Explicação do custo de transferência de dados.
- Recursos de computação
As operações de replicação utilizam recursos computacionais fornecidos pelo Snowflake para copiar dados entre as contas em todas as regiões.
Nota
A conta de destino também incorre em custos de armazenamento padrão para os dados em cada banco de dados secundário na conta.
A conta de destino também incorre em custos para os processos automáticos em segundo plano que fazem a manutenção de exibições materializadas e otimização de pesquisa. Os custos de manutenção para objetos secundários são mais baixos do que para objetos primários. Para obter mais detalhes, consulte a “Tabela de crédito de recursos sem servidor” na tabela de consumo de serviços do Snowflake para obter os custos por hora de computação.
Se a replicação inicial ou uma operação de atualização subsequente falhar, a próxima tentativa (se realizada dentro de 14 dias) pode reutilizar os dados que já foram copiados; ou seja, os dados não são copiados novamente durante a próxima tentativa. Por isso são aplicadas taxas de replicação, mesmo que a replicação inicial do banco de dados ou uma operação de atualização subsequente falhe.
Neste tópico:
Estimativa e controle de custos¶
Em geral, a cobrança mensal da replicação é proporcional a:
Quantidade de dados da tabela no banco de dados primário ou bancos de dados em um grupo de replicação/failover que muda como resultado do carregamento de dados ou operações DML.
Frequência de atualizações do banco de dados secundário, ou grupo de replicação/failover, a partir do banco de dados primário ou grupo de replicação/failover.
Você pode controlar o custo da replicação escolhendo cuidadosamente quais bancos de dados ou objetos devem ser replicados e sua frequência de atualização. Você pode parar de incorrer em custos de replicação interrompendo as operações de atualização.
Visualização de custos reais¶
Os usuários com a função ACCOUNTADMIN podem usar SQL para visualizar a quantidade de dados de replicação transferidos (em bytes) para sua conta Snowflake dentro de um intervalo de datas especificado.
Para visualizar os valores de transferência de dados para sua conta:
- SQL
Consulte um dos seguintes:
Função de tabela REPLICATION_GROUP_USAGE_HISTORY (no Snowflake Information Schema). Esta função retorna a atividade de uso de replicação dos últimos 14 dias.
Exibição REPLICATION_GROUP_USAGE_HISTORY (em Account Usage). Esta exibição retorna a atividade de uso de replicação dos últimos 365 dias (1 ano).
Para obter exemplos, consulte Monitoramento dos custos de replicação.
Custos de replicação de banco de dados¶
Para bancos de dados individuais replicados usando a replicação de banco de dados, os usuários com a função ACCOUNTADMIN podem usar Snowsight, Classic Console ou SQL para visualizar a quantidade de dados de replicação transferidos (em bytes) para sua conta Snowflake dentro de um intervalo de datas especificado.
Para visualizar os valores de transferência de dados para sua conta:
- Snowsight
Select Admin » Usage
- Classic Console
Clique em Account
» Billing & Usage.
A utilização da replicação é mostrada como um warehouse especial fornecido pelo Snowflake chamado
REPLICATION. Clique no botão Data Transfer para visualizar os custos de transferência de dados. Observe que a interface da Web não detalha os custos de transferência de dados para replicação.
- SQL
Consulte um dos seguintes:
Função de tabela DATABASE_REPLICATION_USAGE_HISTORY (no Snowflake Information Schema). Esta função retorna a atividade de uso de replicação de banco de dados dos últimos 14 dias.
Exibição Exibição DATABASE_REPLICATION_USAGE_HISTORY (em Account Usage). Esta exibição retorna a atividade de uso de replicação de banco de dados dos últimos 365 dias (1 ano).
As seguintes consultas podem ser executadas na exibição DATABASE_REPLICATION_USAGE_HISTORY:
Consulta: Histórico de custos de replicação (por dia, por objeto)
Esta consulta fornece uma lista completa de bancos de dados replicados e o volume de créditos consumidos através do serviço de replicação nos últimos 30 dias, separados por dia. Qualquer irregularidade no consumo do crédito ou consumo consistentemente alto são sinais para investigações adicionais.
SELECT TO_DATE(start_time) AS date, database_name, SUM(credits_used) AS credits_used FROM snowflake.account_usage.database_replication_usage_history WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP()) GROUP BY 1,2 ORDER BY 3 DESC;Consulta: Histórico de replicação e média de m dias
Esta consulta mostra a média de créditos diários consumidos pela replicação agrupados por semana durante o último ano. Isto ajuda a identificar quaisquer anomalias na média diária, de maneira que você pode investigar quaisquer picos ou mudanças no consumo.
WITH credits_by_day AS ( SELECT TO_DATE(start_time) AS date, SUM(credits_used) AS credits_used FROM snowflake.account_usage.database_replication_usage_history WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP()) GROUP BY 1 ORDER BY 2 DESC ) SELECT DATE_TRUNC('week',date), AVG(credits_used) AS avg_daily_credits FROM credits_by_day GROUP BY 1 ORDER BY 1;