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:
WAREHOUSE: executa atualizações incrementais regulares.
INITIALIZATION_WAREHOUSE: executa inicializações e atualizações completas, que realizam verificações completas de dados e geralmente consomem mais recursos.
Importante
Quando você atualiza manualmente executando ALTER DYNAMIC TABLE REFRESH COPY SESSION, o comando usa o warehouse da sessão atual. O Snowflake ignora o INITIALIZATION_WAREHOUSE nesses cenários, mesmo para inicializações.
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.