Compartilhar via


Dimensionamento, colocação em escala e comportamento de enfileiramento do SQL Warehouse

Este artigo explica como dimensionar, dimensionar e gerenciar filas de consulta para os armazéns SQL do Databricks para otimizar o desempenho e o custo. O Databricks recomenda o uso de um SQL Warehouse sem servidor para a maioria das cargas de trabalho. Os sql warehouses sem servidor oferecem o melhor desempenho e eficiência gerenciando dinamicamente os recursos para suas consultas.

Gerenciamento de sql warehouse sem servidor

Os sql warehouses sem servidor usam o Gerenciamento Inteligente de Carga de Trabalho (IWM) para gerenciar automaticamente cargas de trabalho de consulta. O IWM é um conjunto de recursos alimentados por IA que processam consultas de forma rápida e econômica sem exigir que você gerencie a infraestrutura.

Gerenciamento inteligente de carga de trabalho e dimensionamento automático

O IWM usa modelos de machine learning para gerenciar dinamicamente os recursos de computação:

  • Quando uma nova consulta chega, a IWM prevê seus requisitos de recursos e verifica a capacidade disponível.
    • Se houver capacidade, a consulta será iniciada imediatamente.
    • Caso contrário, a consulta será colocada em uma fila.
  • O IWM monitora continuamente a fila. Se os tempos de espera aumentarem, o dimensionador automático provisionará rapidamente mais clusters para processar consultas enfileiradas.
  • Quando a demanda cai, o IWM reduz os recursos para reduzir os custos, mantendo capacidade suficiente para lidar com cargas de pico recentes.

Essa abordagem fornece:

  • Dimensionamento rápido para manter baixa latência de consulta.
  • Alta taxa de transferência admitindo consultas assim que o hardware estiver disponível.
  • Downscaling rápido para economizar custos durante a baixa demanda.

Dimensionar um SQL Warehouse sem servidor

O tamanho do cluster (por exemplo, X-Small, Médio, Grande) determina os recursos de computação disponíveis para um único cluster. O dimensionador automático adiciona ou remove clusters desse tamanho conforme necessário.

Use as seguintes diretrizes para ajudar a escolher o tamanho certo:

  • Comece com um único warehouse maior e permita que os recursos sem servidor gerenciem simultaneidade e desempenho. Geralmente, é mais eficiente dimensionar para baixo, se necessário, do que iniciar pequeno e escalar verticalmente.
  • Se as consultas estiverem sendo derramadas em disco, aumente o tamanho do cluster. Verifique se há derramamentos no perfil de consulta.
  • Para cargas de trabalho com muitas consultas simultâneas, configure um número máximo suficiente de clusters para lidar com cargas de pico. Monitore a métrica pico de consultas enfileiradas na página de monitoramento do warehouse.

Observação

Para armazéns SQL sem servidor, os tamanhos de cluster podem, em alguns casos, usar tipos de instância diferentes daqueles listados na documentação para armazéns SQL profissionais e clássicos de tamanho de cluster equivalente. Em geral, a taxa de preço/desempenho dos tamanhos de cluster para SQL warehouses sem servidor é semelhante àquelas dos SQL warehouses pro e clássicos.

Monitorando o desempenho do warehouse

Você pode monitorar e dimensionar com o tamanho certo qualquer sql warehouse usando essas ferramentas. O número máximo de consultas em uma fila para todos os tipos de warehouse é de 1.000.

  • Página de monitoramento: Na guia monitoramento do SQL Warehouse, verifique as Consultas de Pico enfileiradas. Um valor consistente acima de 0 indica que você pode precisar de um tamanho de cluster maior ou mais clusters.
  • Histórico de consultas: Examine o desempenho da consulta histórica para identificar gargalos.
  • Perfil de consulta: Inspecione os planos de execução para métricas como Bytes derramados em disco, o que indica que o tamanho do armazém pode ser muito pequeno.

SqL warehouses clássicos e profissionais

Os armazéns clássicos e profissionais usam um modelo de dimensionamento manual em que você configura o número de clusters.

Dimensionamento e provisionamento de cluster

Ao criar um warehouse clássico ou pro, escolha um tamanho de cluster e defina o número mínimo e máximo de clusters. Essas SKUs têm um limite fixo de um cluster por 10 consultas simultâneas.

Tamanho do cluster Tipo de instância do driver Contagem de trabalho
2X-Muito Pequeno Standard_E8ds_v4 1 x Standard_E8ds_v4
X-Small Standard_E8ds_v4 2 x Standard_E8ds_v4
Pequena Standard_E16ds_v4 4 x Standard_E8ds_v4
Médio Standard_E32ds_v4 8 x Standard_E8ds_v4
grande Standard_E32ds_v4 16 x Standard_E8ds_v4
Extragrande Standard_E64ds_v4 32 x Standard_E8ds_v4
2X-Extra Grande Standard_E64ds_v4 64 x Standard_E8ds_v4
3X-Grande Standard_E64ds_v4 128 x Standard_E8ds_v4
4X-Grande Standard_E64ds_v4 256 x Standard_E8ds_v4

O tamanho da instância de todos os trabalhos é Standard_E8ds_v4.

A cada driver e trabalho, são anexados 8 discos gerenciados LRS Standard de 128 GB. Os discos anexados são cobrados por hora.

Cota de vCPU do Azure necessária para SQL warehouses clássicos e profissionais

Para iniciar um SQL warehouse clássico ou profissional, você precisa ter cota de vCPU do Azure suficiente para instâncias Standard_E8ds_v4 em sua conta do Azure. Use as seguintes diretrizes para determinar a cota de vCPU necessária:

Se você tiver apenas um ou dois sql warehouses, verifique se você tem 8 vCPU do Azure disponíveis para cada núcleo no cluster. Isso garante que você tenha uma vCPU adequada do Azure para permitir o reprovisionamento do seu armazém, o que acontece aproximadamente a cada 24 horas. Talvez seja necessário aumentar o multiplicador se os sql warehouses usarem o dimensionamento automático ou o balanceamento de carga de vários clusters.

  • À medida que o número de SQL warehouses aumenta, permita entre 4 e 8 vCPUs do Azure para cada núcleo no cluster. O Databricks recomenda começar com um número maior e monitorar a estabilidade.
  • As vCPUs do Azure usadas por SQL warehouses se referem a outras, além das vCPUs do Azure usadas por clusters usados pela Ciência de Dados e Engenharia ou por cargas de trabalho que não são do Databricks.

Para solicitar cota adicional de vCPU do Azure, confira Cota Standard: aumentar limites por série de VM na documentação do Azure.

Observação

As informações nesta tabela podem variar de acordo com a disponibilidade do produto ou região e o tipo de workspace.

Lógica de enfileiramento e dimensionamento automático

Para os armazéns clássicos e profissionais, o dimensionamento automático adiciona clusters com base no tempo estimado para processar todas as consultas em execução e na fila:

  • 2 a 6 minutos de carga de consulta: Adicionar 1 cluster.
  • 6 a 12 minutos: Adicionar 2 clusters.
  • 12 a 22 minutos: Adicionar 3 clusters.
  • Mais de 22 minutos: adicione 3 clusters mais 1 para cada 15 minutos adicionais de carga.

Regras adicionais:

  • Se uma consulta aguardar na fila por 5 minutos, o armazém aumentará.
  • Se a carga permanecer baixa por 15 minutos consecutivos, o armazém reduzirá para o mínimo necessário para lidar com a carga de pico desse período.