Entender o uso do warehouse para tabelas dinâmicas

Toda tabela dinâmica requer um warehouse para executar as atualizações. Você especifica esse warehouse ao criar a tabela dinâmica, e o Snowflake o utiliza automaticamente para todas as atualizações agendadas.

Para obter orientações sobre como configurar warehouses para suas tabelas dinâmicas, consulte Ajuste da configuração do warehouse.

Como o tamanho do warehouse afeta o desempenho da atualização

Um warehouse maior nem sempre resulta em custos mais altos. Em muitos casos, dobrar o tamanho do warehouse dobra o custo por segundo, mas reduz o tempo de execução pela metade. Isso resulta em um custo total semelhante, mas com atualizações mais rápidas. Warehouses maiores melhoram o desempenho de duas maneiras:

  • Memória: quando uma atualização precisa de mais memória do que o warehouse fornece, os dados vazam para o armazenamento local. Esse vazamento aumenta o trabalho computacional total e deixa o processo de atualização mais lento. Um warehouse maior tem mais memória e pode evitar vazamentos completamente.

  • Paralelismo: warehouses maiores executam mais tarefas simultaneamente. As atualizações que verificam grandes quantidades de dados em várias partições são as que mais se beneficiam. Conjuntos de dados pequenos e operações sequenciais apresentam retornos decrescentes quando se usa um warehouse maior.

Para obter mais informações sobre escalonamento de warehouses, consulte Tamanho do warehouse.

Suporte a dois warehouses

As tabelas dinâmicas são compatíveis com warehouses separados para diferentes tipos de atualização:

Essa separação permite usar um warehouse maior para inicializações que exigem muitos recursos, sem pagar por essa capacidade durante atualizações incrementais regulares. O suporte a dois warehouses é útil nos seguintes cenários comuns:

  • Você quer habilitar uma recuperação mais rápida ao promover uma tabela dinâmica secundária para primária e precisa reinicializar a tabela.

  • Você precisa atender a requisitos rigorosos de RTO/RPO, mas não quer aumentar os custos das operações diárias.

Quando você não define o parâmetro INITIALIZATION_WAREHOUSE, o Snowflake executa todas as atualizações no warehouse especificado por WAREHOUSE.