Azure Synapse Analytics importância da carga de trabalhoAzure Synapse Analytics workload importance

Este artigo explica como a importância da carga de trabalho pode influenciar a ordem de execução para pedidos dedicados de piscina SQL em Azure Synapse.This article explains how workload importance can influence the order of execution for dedicated SQL pool requests in Azure Synapse.

ImportânciaImportance

As necessidades empresariais podem exigir que as cargas de trabalho de armazenamento de dados sejam mais importantes do que outras.Business needs can require data warehousing workloads to be more important than others. Considere um cenário em que os dados críticos de vendas da missão são carregados antes do fecho do período fiscal.Consider a scenario where mission critical sales data is loaded before the fiscal period close. As cargas de dados para outras fontes, como os dados meteorológicos, não têm SLAs rígidos.Data loads for other sources such as weather data don't have strict SLAs. Definir uma grande importância para um pedido de carregamento de dados de vendas e baixa importância para um pedido de carga de dados meteorológicos garante que a carga de dados de vendas obtém primeiro acesso aos recursos e completa mais rapidamente.Setting high importance for a request to load sales data and low importance to a request to load weather data ensures the sales data load gets first access to resources and completes quicker.

Níveis de importânciaImportance levels

Há cinco níveis de importância: baixo, below_normal, normal, above_normal e alto.There are five levels of importance: low, below_normal, normal, above_normal, and high. Pedidos que não definem importância são atribuídos o nível padrão do normal.Requests that don't set importance are assigned the default level of normal. Os pedidos que têm o mesmo nível de importância têm o mesmo comportamento de agendamento que existe hoje.Requests that have the same importance level have the same scheduling behavior that exists today.

Cenários de importânciaImportance scenarios

Para além do cenário de importância básica acima descrito com dados de vendas e meteorologia, existem outros cenários em que a importância da carga de trabalho ajuda a satisfazer as necessidades de processamento e consulta de dados.Beyond the basic importance scenario described above with sales and weather data, there are other scenarios where workload importance helps meet data processing and querying needs.

BloquearLocking

O acesso a fechaduras para atividade de leitura e escrita é uma área de contenção natural.Access to locks for read and write activity is one area of natural contention. Atividades como comutação de divisórias ou OBJECT RENAME requerem fechaduras elevadas.Activities such as partition switching or RENAME OBJECT require elevated locks. Sem importância de carga de trabalho, a piscina SQL dedicada em Azure Synapse otimiza para produção.Without workload importance, dedicated SQL pool in Azure Synapse optimizes for throughput. Otimizar para a produção significa que quando os pedidos de execução e fila têm as mesmas necessidades de bloqueio e recursos estão disponíveis, os pedidos em fila podem contornar pedidos com necessidades de bloqueio mais elevadas que chegaram na fila de pedidos mais cedo.Optimizing for throughput means that when running and queued requests have the same locking needs and resources are available, the queued requests can bypass requests with higher locking needs that arrived in the request queue earlier. Uma vez que a importância da carga de trabalho é aplicada a pedidos com necessidades de bloqueio mais elevadas.Once workload importance is applied to requests with higher locking needs. O pedido com maior importância será executado antes do pedido com menor importância.Request with higher importance will be run before request with lower importance.

Considere o exemplo seguinte:Consider the following example:

  • O Q1 está a executar e selecionar ativamente dados do SalesFact.Q1 is actively running and selecting data from SalesFact.
  • Q2 está na fila à espera que a Q1 esteja completa.Q2 is queued waiting for Q1 to complete. Foi submetida às 9h e está a tentar trocar novos dados para o SalesFact.It was submitted at 9am and is attempting to partition switch new data into SalesFact.
  • O Q3 é submetido às 9h01 e quer selecionar dados do SalesFact.Q3 is submitted at 9:01am and wants to select data from SalesFact.

Se o Q2 e o Q3 tiverem a mesma importância e o Q1 ainda estiver a ser executado, o Q3 começará a ser executado.If Q2 and Q3 have the same importance and Q1 is still executing, Q3 will begin executing. O Q2 continuará a aguardar um bloqueio exclusivo no SalesFact.Q2 will continue to wait for an exclusive lock on SalesFact. Se o Q2 tiver maior importância do que o Q3, o Q3 esperará até que o Q2 esteja terminado antes de poder iniciar a execução.If Q2 has higher importance than Q3, Q3 will wait until Q2 is finished before it can begin execution.

Pedidos não uniformesNon-uniform requests

Outro cenário em que a importância pode ajudar a satisfazer as exigências de consulta é quando são apresentados pedidos com diferentes classes de recursos.Another scenario where importance can help meet querying demands is when requests with different resource classes are submitted. Como já foi mencionado, sob a mesma importância, a piscina SQL dedicada em Azure Synapse otimiza para a produção.As was previously mentioned, under the same importance, dedicated SQL pool in Azure Synapse optimizes for throughput. Quando os pedidos de tamanho misto (como o smallrc ou o mediumrc) forem em fila, a piscina de SQL dedicada escolherá o pedido de chegada mais precoce que se enquadra nos recursos disponíveis.When mixed size requests (such as smallrc or mediumrc) are queued, dedicated SQL pool will choose the earliest arriving request that fits within the available resources. Se a importância da carga de trabalho for aplicada, o pedido de maior importância é agendado a seguir.If workload importance is applied, the highest importance request is scheduled next.

Considere o seguinte exemplo no DW500c:Consider the following example on DW500c:

  • Q1, Q2, Q3 e Q4 estão a fazer consultas de pequeno porção.Q1, Q2, Q3, and Q4 are running smallrc queries.
  • O Q5 é submetido com a classe de recursos mediumrc às 9h.Q5 is submitted with the mediumrc resource class at 9am.
  • O Q6 é submetido com classe de recursos smallrc às 9:01 da manhã.Q6 is submitted with smallrc resource class at 9:01am.

Como o Q5 é médio, requer duas ranhuras de concordância.Because Q5 is mediumrc, it requires two concurrency slots. O Q5 precisa esperar que duas das consultas de corrida completem.Q5 needs to wait for two of the running queries to complete. No entanto, quando uma das consultas em execução (Q1-Q4) termina, o Q6 é agendado imediatamente porque existem recursos para executar a consulta.However, when one of the running queries (Q1-Q4) completes, Q6 is scheduled immediately because the resources exist to execute the query. Se o Q5 tiver maior importância do que o Q6, o Q6 espera até que o Q5 esteja em execução antes de poder começar a executar.If Q5 has higher importance than Q6, Q6 waits until Q5 is running before it can begin executing.

Passos seguintesNext steps