Visão geral de warehouses

Warehouses são necessários para consultas, assim como todas as operações DML, incluindo o carregamento de dados em tabelas. Além de ser definido por tipo, sendo Padrão ou Otimizado para Snowpark, um warehouse é definido por seu tamanho, assim como as outras propriedades que podem ser definidas para ajudar a controlar e automatizar as atividades do warehouse.

Warehouses podem ser iniciados e interrompidos a qualquer momento. Eles também podem ser redimensionados a qualquer momento, mesmo em funcionamento, para acomodar a necessidade de mais ou menos recursos computacionais, com base no tipo de operações que estão sendo realizadas pelo warehouse.

Neste tópico:

Tamanho do warehouse

O tamanho especifica a quantidade de recursos computacionais disponíveis por cluster em um warehouse. O Snowflake oferece suporte para os seguintes tamanhos de warehouse:

Tamanho do warehouse

Créditos / Hora

Créditos / Segundo

Notas

X-Small

1

0,0003

Tamanho padrão para warehouses criados em Snowsight e usando CREATE WAREHOUSE.

Small

2

0,0006

Medium

4

0,0011

Large

8

0,0022

X-Large

16

0,0044

Tamanho padrão para warehouses criados usando Classic Console.

2X-Large

32

0,0089

3X-Large

64

0,0178

4X-Large

128

0,0356

5X-Large

256

0,0711

Geralmente disponível nas regiões do Amazon Web Services, e em versão preliminar nas regiões governamentais do US e regiões do Azure.

6X-Large

512

0,1422

Geralmente disponível nas regiões do Amazon Web Services, e em versão preliminar nas regiões governamentais do US e regiões do Azure.

Tamanhos maiores de warehouse

Os tamanhos de warehouses maiores 5X-Large e 6X-Large estão disponíveis em geral em todas as regiões do Amazon Web Services (AWS) e em versão preliminar nas seguintes regiões:

  • Regiões governamentais dos US (exige suporte de FIPS no ARM)

  • Regiões Azure

Impacto sobre o uso de crédito e a cobrança

Como mostrado na tabela acima, há uma duplicação do uso de crédito à medida que se aumenta o tamanho do warehouse para o próximo tamanho maior de warehouse para cada hora completa que o warehouse funciona; no entanto, observe que o Snowflake utiliza uma cobrança por segundo (com um mínimo de 60 segundos cada vez que o warehouse inicia), de modo que os warehouses são cobrados apenas pelos créditos que realmente consomem.

O número total de créditos faturados depende de quanto tempo o warehouse funciona continuamente. Para fins de comparação, a tabela a seguir mostra os totais de cobrança para três warehouses de tamanhos diferentes com base em seu tempo de funcionamento (totais arredondados para o milésimo de um crédito mais próximo):

Em funcionamento Hora

Créditos . (X-Small)

Créditos . (X-Large)

Créditos . (5X-Large)

0-60 segundos

0,017

0,267

4,268

61 segundos

0,017

0,271

4,336

2 minutos

0,033

0,533

8,532

10 minutos

0,167

2,667

42,668

1 hora

1,000

16,000

256,000

Nota

  • Para um warehouse multi-cluster, o número de créditos faturados é calculado com base no tamanho do warehouse e no número de clusters que funcionam dentro do período de tempo.

    Por exemplo, se um warehouse 3X-Large multicluster executar 1 cluster durante uma hora inteira e depois executar 2 clusters para a próxima hora inteira, o número total de créditos faturados seria 192 (ou seja, 64 + 128).

    Warehouses multicluster são um recurso da Enterprise Edition.

Impacto sobre o carregamento de dados

Aumentar o tamanho de um warehouse nem sempre melhora o desempenho do carregamento de dados. O desempenho do carregamento de dados é influenciado mais pelo número de arquivos sendo carregados (e o tamanho de cada arquivo) do que pelo tamanho do warehouse.

Dica

A menos que você esteja carregando um grande número de arquivos simultaneamente (ou seja, centenas ou milhares de arquivos), um warehouse menor (Small, Medium, Large) geralmente é suficiente. A utilização de um warehouse maior (X-Large, 2X-Large, etc.) consumirá mais créditos e poderá não resultar em nenhum aumento de desempenho.

Para obter mais dicas e orientações sobre o carregamento de dados, consulte Considerações sobre o carregamento de dados.

Impacto no processamento de consultas

O tamanho de um warehouse pode impactar o tempo necessário para executar as consultas enviadas ao warehouse, particularmente para consultas grandes e complexas. Em geral, o desempenho da consulta é proporcional ao tamanho do warehouse porque warehouses maiores têm mais recursos computacionais disponíveis para processar as consultas.

Se as consultas processadas por um warehouse estiverem funcionando lentamente, você sempre pode redimensionar o warehouse para fornecer mais recursos computacionais. Os recursos adicionais não têm impacto em nenhuma consulta que já esteja funcionando, mas uma vez totalmente provisionados, eles ficam disponíveis para uso por qualquer consulta que esteja em fila de espera ou seja enviada posteriormente.

Dica

Um warehouse maior não é necessariamente mais rápido para consultas pequenas e básicas.

Para mais dicas e diretrizes sobre warehouses, consulte Considerações sobre warehouses.

Autossuspensão e retomada automática

Um warehouse pode ser configurado para retomar ou suspender o funcionamento automaticamente, com base nas atividades:

  • A autossuspensão é ativada por padrão. O Snowflake suspende automaticamente o warehouse se ele estiver inativo pelo período de tempo especificado.

  • A retomada automática é ativada por padrão. O Snowflake retoma automaticamente o warehouse quando qualquer instruöäao que requeira um warehouse é apresentada e o warehouse é o warehouse atual para a sessão.

Essas propriedades podem ser usadas para simplificar e automatizar seu monitoramento e uso de warehouses para corresponder à sua carga de trabalho. A autossuspensão garante que você não deixe um warehouse funcionando (e consumindo créditos) quando não há novas consultas. Da mesma forma, a retomada automática garante que o warehouse recomece assim que for necessário.

Nota

A autossuspensão e a retomada automática se aplicam somente ao warehouse inteiro e não aos clusters individuais no warehouse. Para um warehouse multicluster:

  • A autossuspensão só ocorre quando o número mínimo de clusters está em funcionamento e não há atividade durante o período de tempo especificado. O mínimo é normalmente 1 (cluster), mas ele pode ser maior que 1.

  • A retomada automática só se aplica quando todo o warehouse está suspenso (ou seja, não há clusters em funcionamento).

Processamento de consultas e simultaneidade

O número de consultas que um warehouse pode processar simultaneamente é determinado pelo tamanho e complexidade de cada consulta. Conforme as consultas são apresentadas, o warehouse calcula e reserva os recursos computacionais necessários para processar cada consulta. Se o warehouse não tiver recursos restantes suficientes para processar uma consulta, a consulta é colocada em fila de espera, aguardando recursos que se tornam disponíveis à medida que outras consultas em andamento se completam.

O Snowflake fornece alguns parâmetros de nível de objeto que podem ser definidos para ajudar a controlar o processamento e a simultaneidade das consultas:

Nota

Se as consultas estiverem enfileiradas mais do que o desejado, outro warehouse pode ser criado e as consultas podem ser redirecionadas manualmente para o novo warehouse. Além disso, o redimensionamento de um warehouse pode permitir um escalonamento limitado para consulta e enfileiramento; no entanto, o redimensionamento do warehouse destina-se principalmente a melhorar o desempenho da consulta.

Para permitir o dimensionamento totalmente automatizado para simultaneidade, o Snowflake recomenda warehouses multicluster, que proporcionam essencialmente as mesmas vantagens que a criação de warehouses adicionais e o redirecionamento de consultas, mas sem exigir intervenção manual.

Warehouses multicluster são um recurso da Enterprise Edition.

Uso de warehouses em sessões

Quando uma sessão é iniciada no Snowflake, a sessão não tem, por padrão, um warehouse associado a ela. Até que uma sessão tenha um warehouse associado a ela, consultas não podem ser apresentadas dentro da sessão.

Warehouse padrão para usuários

Para facilitar a consulta imediatamente após o início de uma sessão, o Snowflake oferece suporte para a especificação de um warehouse padrão para cada usuário individual. O warehouse padrão para um usuário é usado como warehouse para todas as sessões iniciadas pelo usuário.

Um warehouse padrão pode ser especificado ao criar ou modificar o usuário, seja através da interface da web ou usando CREATE USER / ALTER USER.

Warehouse padrão para utilitários/drivers/conectores de clientes

Além dos warehouses padrão para usuários, qualquer um dos clientes Snowflake (SnowSQL, JDBC driver, ODBC driver, conector Python, etc.) pode ter um warehouse padrão:

  • O SnowSQL oferece suporte tanto para um arquivo de configuração quanto para uma opção de linha de comando para especificar um warehouse padrão.

  • Os drivers e conectores oferecem suporte para a especificação de um warehouse padrão como parâmetro de conexão ao iniciar uma sessão.

Para obter mais informações, consulte Conexão com o Snowflake.

Precedência para padrões de warehouses

Quando um usuário se conecta ao Snowflake e inicia uma sessão, o Snowflake determina o warehouse padrão para a sessão na seguinte ordem:

  1. Warehouse padrão para o usuário,

    » substitiído por…

  2. Warehouse padrão no arquivo de configuração do utilitário do cliente (SnowSQL, driver JDBC, etc.) usado para conectar ao Snowflake (se o cliente oferecer suporte para arquivos de configuração),

    » substitiído por…

  3. Warehouse padrão especificado na linha de comando do cliente ou através dos parâmetros do driver/conector passado para o Snowflake.

Nota

Além disso, o warehouse padrão para uma sessão pode ser alterado a qualquer momento executando o comando USE WAREHOUSE dentro da sessão.