Compartilhar via


Importância da carga de trabalho do Azure Synapse Analytics

Este artigo explica como a importância da carga de trabalho pode influenciar a ordem de execução para solicitações dedicadas do pool de SQL no Azure Synapse.

Importância

As necessidades comerciais podem exigir que as cargas de trabalho de armazenamento de dados sejam mais importantes do que outras. Considere um cenário em que os dados de vendas críticos da missão são carregados antes do fechamento do período fiscal. Cargas de dados para outras fontes, como dados meteorológicos, não têm SLAs rigorosas. Definir alta importância para uma solicitação para carregar dados de vendas e baixa importância para uma solicitação para carregar dados meteorológicos garante que a carga de dados de vendas obtenha o primeiro acesso aos recursos e seja concluída mais rapidamente.

Níveis de importância

Há cinco níveis de importância: baixo, abaixo do normal, normal, acima do normal e alto. As solicitações que não definem a importância recebem o nível padrão normal. As solicitações que têm o mesmo nível de importância têm o mesmo comportamento de agendamento que existe hoje.

Cenários de importância

Além do cenário de importância básica descrito acima com dados de vendas e clima, há outros cenários em que a importância da carga de trabalho ajuda a atender às necessidades de processamento e consulta de dados.

Bloqueio

O acesso a bloqueios para atividade de leitura e gravação é uma área de contenção natural. Atividades como troca de partição ou RENAME OBJECT exigem bloqueios elevados. Sem a importância de carga de trabalho, o pool de SQL dedicado no Azure Synapse faz otimizações visando a taxa de transferência. A otimização da taxa de transferência significa que, quando as solicitações em execução e enfileiradas têm as mesmas necessidades de bloqueio e os recursos estão disponíveis, as solicitações enfileiradas podem ignorar solicitações com necessidades de bloqueio mais altas que chegaram à fila de solicitações anteriormente. Quando a importância da carga de trabalho é aplicada a solicitações com mais necessidades de bloqueio. A solicitação com maior importância será executada antes da solicitação com menor importância.

Considere o seguinte exemplo:

  • Q1 está sendo executado ativamente e selecionando dados de SalesFact.
  • Q2 está na fila aguardando a conclusão de Q1. Ele foi enviado às 9h e está tentando particionar novos dados no SalesFact.
  • Q3 é enviado às 9h01 e deseja selecionar dados de SalesFact.

Se o 2º e o 3º trimestre tiverem a mesma importância e o 1º trimestre ainda estiver em execução, o 3º trimestre começará a ser executado. Q2 continuará aguardando um bloqueio exclusivo em SalesFact. Se o 2º trimestre tiver maior importância do que o 3º trimestre, o 3º trimestre aguardará até que o segundo trimestre seja concluído antes de começar a execução.

Solicitações não uniformes

Outro cenário em que a importância pode ajudar a atender às demandas de consulta é quando solicitações com classes de recursos diferentes são enviadas. Como mencionado anteriormente, com a mesma importância, o pool de SQL dedicado no Azure Synapse faz otimizações visando a taxa de transferência. Quando solicitações de tamanho misto (como smallrc ou mediumrc) são enfileiradas, o pool de SQL dedicado escolherá a primeira solicitação de chegada que corresponde aos recursos disponíveis. Se a importância da carga de trabalho for aplicada, a solicitação de maior importância será agendada em seguida.

Considere o seguinte exemplo em DW500c:

  • Q1, Q2, Q3 e Q4 estão executando consultas smallrc.
  • Q5 é enviado com a classe de recurso mediumrc às 9h.
  • Q6 é enviado com a classe de recurso smallrc às 9h01.

Como o Q5 é mediumrc, ele requer dois slots de simultaneidade. O Q5 precisa aguardar a conclusão de duas das consultas em execução. No entanto, quando uma das consultas em execução (Q1-Q4) for concluída, o Q6 será agendado imediatamente porque os recursos existem para executar a consulta. Se o 5º trimestre tiver maior importância do que o 6º trimestre, o Q6 aguardará até que o 5º trimestre esteja em execução antes de começar a ser executado.

Próximas etapas