Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo explica como dimensionar, dimensionar e gerenciar filas de consulta para armazéns SQL 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 armazéns SQL sem servidor oferecem o melhor desempenho e eficiência gerenciando dinamicamente recursos para suas consultas.
Gerenciamento de SQL warehouse sem servidor
Os armazéns SQL 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 da carga de trabalho e dimensionamento automático
O IWM usa modelos de aprendizado de máquina para gerenciar dinamicamente recursos de computação:
- Quando uma nova consulta chega, o 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 é colocada em uma fila.
- O IWM monitora continuamente a fila. Se os tempos de espera aumentarem, o autoscaler provisiona rapidamente mais clusters para processar consultas em fila.
- Quando a demanda cai, o IWM reduz os recursos para reduzir custos e, ao mesmo tempo, mantém capacidade suficiente para lidar com picos de carga recentes.
Esta abordagem prevê:
- Escalonamento 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.
Dimensionamento de um SQL warehouse sem servidor
O tamanho do cluster (por exemplo, X-Pequeno, Médio, Grande) determina os recursos de computação disponíveis para um único cluster. O autoscaler adiciona ou remove clusters desse tamanho conforme necessário.
Use as seguintes diretrizes para ajudar a escolher o tamanho certo:
- Comece com um único armazém maior e permita que os recursos sem servidor gerenciem 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 derramadas para o 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 Peak Queued Queries na página de monitoramento do depósito.
Nota
Para SQL warehouses sem servidor, as dimensões de cluster podem, em alguns casos, usar tipos de instância diferentes dos listados na documentação para SQL warehouses profissionais e clássicos de tamanho equivalente. Em geral, a relação preço/desempenho dos tamanhos de cluster para armazéns SQL sem servidor é semelhante à dos armazéns SQL profissionais e clássicos.
Monitorando o desempenho do armazém
Você pode monitorar e dimensionar corretamente qualquer armazém SQL 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 monitorização: Na guia Monitoramento do SQL warehouse, marque Consultas de pico na fila. Um valor consistente acima de 0 indica que você pode precisar de um tamanho de cluster maior ou mais clusters.
- Histórico de consultas: Analise o desempenho da consulta histórica para identificar gargalos.
- Perfil de consulta: Inspecione os planos de execução em busca de métricas como Bytes derramados no disco, o que indica que o tamanho do depósito pode ser muito pequeno.
Armazéns SQL clássicos e profissionais
Armazéns clássicos e profissionais usam um modelo de dimensionamento manual onde você configura o número de clusters.
Dimensionamento e provisionamento de cluster
Ao criar um armazém clássico ou profissional, 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 a cada 10 consultas simultâneas.
| Tamanho do cluster | Tipo de instância do driver | Contagem de trabalhadores |
|---|---|---|
| 2X-Pequeno | Standard_E8ds_v4 | 1 x Standard_E8ds_v4 |
| X-Pequeno | Standard_E8ds_v4 | 2 x Standard_E8ds_v4 |
| Pequena | Modelo: 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 |
| X-Grande | Standard_E64ds_v4 | 32 x Standard_E8ds_v4 |
| 2X-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 trabalhadores é Standard_E8ds_v4.
Cada driver e trabalhador tem um disco gerenciado LRS SSD Premium de 256 GB conectado. Os discos anexados são cobrados por hora.
Quota de vCPU do Azure necessária para armazéns SQL clássicos e profissionais
Para iniciar um armazém SQL clássico ou profissional, tem de ter uma quota de vCPU do Azure adequada para Standard_E8ds_v4 instâncias na sua conta do Azure. Use as seguintes diretrizes para determinar a cota 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 a vCPU do Azure adequada para permitir o reprovisionamento do seu depósito, que acontece aproximadamente a cada 24 horas. Talvez seja necessário aumentar o multiplicador se os SQL warehouses usarem dimensionamento automático ou balanceamento de carga de vários clusters.
- À medida que o número de armazéns SQL aumenta, permita entre 4 e 8 vCPU do Azure para cada núcleo no cluster. A Databricks recomenda começar com um número maior e monitorar a estabilidade.
- As vCPUs do Azure usadas por armazéns SQL são adicionais às vCPUs do Azure usadas por clusters usados por Data Science & Engineering ou por cargas de trabalho que não são Databricks.
Para solicitar cota vCPU adicional do Azure, consulte Cota padrão: aumentar limites por série de VM na documentação do Azure.
Nota
As informações nesta tabela podem variar com base na disponibilidade do produto ou região e no tipo de espaço de trabalho.
Lógica de enfileiramento e dimensionamento automático
Para 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 enfileiradas:
- 2-6 minutos de carga de consulta: Adicione 1 cluster.
- 6-12 minutos: Adicione 2 clusters.
- 12-22 minutos: Adicione 3 clusters.
- Ao longo 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 depósito será ampliado.
- Se a carga permanecer baixa por 15 minutos consecutivos, o armazém será reduzido para o mínimo necessário para lidar com a carga de pico desse período.