Pular para o conteúdo principal

Comportamento de dimensionamento, escala e enfileiramento do SQL warehouse

Este artigo explica como dimensionar, escalonar e gerenciar filas de consulta para Databricks SQL warehouses para otimizar o desempenho e o custo. Databricks recomenda o uso de um serverless SQL warehouse para a maioria das cargas de trabalho. O armazém sem servidor SQL oferece o melhor desempenho e eficiência ao gerenciar dinamicamente o recurso para suas consultas.

sem servidor SQL warehouse management

O armazém sem servidor SQL usa o Intelligent Workload Management (IWM) para gerenciar automaticamente as cargas de trabalho de consulta. O IWM é um conjunto de recursos com tecnologia AIque processa consultas de forma rápida e econômica sem exigir que o senhor gerencie a infraestrutura.

Gerenciamento inteligente de carga de trabalho e dimensionamento automático

O IWM usa o modelo de aprendizado de máquina para gerenciar dinamicamente o recurso compute:

  • Quando uma nova consulta chega, o IWM prevê seus requisitos de recurso e verifica a capacidade disponível.

    • Se houver capacidade, a consulta começará imediatamente.
    • Caso contrário, a consulta será colocada em uma fila.
  • O IWM monitora continuamente a fila. Se o tempo de espera aumentar, o autoscaler provisionará rapidamente mais clustering para processar as consultas em fila.

  • Quando a demanda cai, a IWM reduz o recurso para reduzir os custos, mantendo a capacidade suficiente para lidar com os picos de carga recentes.

Essa abordagem fornece:

  • Aumento rápido de escala para manter a baixa latência de consulta.
  • Alta taxa de transferência, admitindo consultas assim que o hardware estiver disponível.
  • Redução rápida de escala para economizar custos durante a baixa demanda.

Dimensionando um serverless SQL warehouse

tamanho do clustering (por exemplo, X-Small, Medium, Large) determina o compute recurso disponível para um único clustering. O autoscaler adiciona ou remove o clustering desse tamanho conforme necessário.

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

  • começar com um único depósito maior e deixar que o serverless recurso gerencie a simultaneidade e o desempenho. Geralmente, é mais eficiente reduzir o tamanho, se necessário, do que começar pequeno e aumentar a escala.
  • Se as consultas estiverem sendo transferidas para o disco, aumente o tamanho do clustering. Verifique se há vazamentos no perfil de consulta.
  • Para cargas de trabalho com muitas consultas concorrentes, configure um número máximo suficiente de clustering para lidar com cargas de pico. Monitore as métricas de Peak Queued Queries na página de monitoramento do warehouse.
nota

Para serverless SQL warehouse, os tamanhos de clustering podem, em alguns casos, usar tipos de instância diferentes dos listados na documentação para pro e classic SQL warehouse para tamanho de clustering equivalente. Em geral, a relação preço/desempenho dos tamanhos de clustering para o serverless SQL warehouse é semelhante à do pro e do classic SQL warehouse.

monitoramento warehouse desempenho

O senhor pode monitorar e dimensionar corretamente qualquer SQL warehouse usando essas ferramentas. O número máximo de consultas em uma fila para todos os tipos de depósito é 1.000.

  • página de monitoramento: Na página SQL warehouse monitoramento tab, verifique Peak Queued Queries (Consultas de pico enfileiradas ). Um valor consistente acima de 0 indica que o senhor pode precisar de um tamanho maior de clustering ou de mais clustering.
  • Histórico de consultas: Analise o desempenho histórico da consulta para identificar gargalos.
  • Perfil da consulta: Inspecionar os planos de execução em busca de métricas como Bytes spilled to disk , o que indica que o tamanho do warehouse pode ser muito pequeno.

Armazém clássico e profissional SQL

Os depósitos clássicos e profissionais usam um modelo de dimensionamento manual em que o usuário configura o número de clusters.

Dimensionamento e provisionamento de clustering

Ao criar um depósito clássico ou profissional, escolha um tamanho de cluster e defina o número mínimo e máximo de cluster. Essas SKUs têm um limite fixo de um clustering para cada 10 consultas concorrentes.

A tabela a seguir mostra os tamanhos de clustering com as respectivas contagens de driver e worker. Todos os trabalhadores usam instâncias do i3.2xlarge.

Tamanho do cluster

Tipo de instância do driver

contagem de trabalhadores

XXS

i3.2 x large

1

XS

i3.2 x large

2

Pequeno

i3.4xlarge

4

Médio

i3.8x large

8

Grande

i3.8x large

16

X-Large

i3.16x large

32

XXL

i3.16x large

64

XXXL

i3.16x large

128

XXXXL

i3.16x large

256

Zonas de disponibilidade (AZ) para o armazém pro e classic SQL

Para o depósito SQL, as zonas de disponibilidade AWS são definidas como automáticas (Auto-AZ), em que a AZ é selecionada automaticamente com base nos IPs disponíveis nas sub-redes workspace. O Auto-AZ tenta novamente em outras zonas de disponibilidade se o AWS retornar erros de capacidade insuficiente. Para obter mais informações sobre zonas de disponibilidade, consulte a documentação do siteAWS.

nota

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

Lógica de enfileiramento e autoescala

Para armazéns clássicos e profissionais, o autoscale adiciona clustering com base no tempo estimado para processar todas as consultas em execução e em fila:

  • 2 a 6 minutos de carga de consulta: Adicionar 1 clustering.
  • 6-12 minutos: Adicionar 2 agrupamentos.
  • 12 a 22 minutos: Adicionar 3 agrupamentos.
  • Mais de 22 minutos: Adicione 3 clusters e mais 1 para cada 15 minutos adicionais de carga.

Regras adicionais:

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