O que é a gestão de cargas de trabalho?

A execução de cargas de trabalho mistas pode colocar desafios de recursos em sistemas ocupados. Os Arquitetos de Soluções procuram formas de separar as atividades clássicas de armazenamento de dados (como carregar, transformar e consultar dados) para garantir que existem recursos suficientes para atingir os SLAs.

O isolamento físico do servidor pode levar a bolsas de infraestrutura subutilizadas, sobrelinhadas ou num estado em que as caches estão constantemente a ser preparadas com hardware a iniciar e a parar. Um esquema de gestão de cargas de trabalho bem-sucedido gere recursos de forma eficaz, garante uma utilização de recursos altamente eficiente e maximiza o retorno do investimento (ROI).

Uma carga de trabalho do armazém de dados refere-se a todas as operações que ocorrem em relação a um armazém de dados. A profundidade e amplitude destes componentes dependem do nível de maturidade do armazém de dados. A carga de trabalho do armazém de dados abrange:

  • Todo o processo de carregamento de dados para o armazém
  • Efetuar a análise e relatórios do armazém de dados
  • Gerir dados no armazém de dados
  • Exportar dados do armazém de dados

A capacidade de desempenho de um armazém de dados é determinada pelas unidades do armazém de dados.

Conceitos de gestão de cargas de trabalho

No passado, para o SQL do Synapse no Azure Synapse geriu o desempenho da consulta através de classes de recursos. Classes de recursos permitidas para atribuir memória a uma consulta com base na associação a funções. O principal desafio com classes de recursos é que, uma vez configuradas, não havia governação ou capacidade para controlar a carga de trabalho.

Por exemplo, a concessão de uma associação a função de utilizador ad hoc a smallrc permitiu que esse utilizador consumisse 100% da memória no sistema. Com as classes de recursos, não há como reservar e garantir que os recursos estão disponíveis para cargas de trabalho críticas.

A gestão de cargas de trabalho de conjuntos de SQL dedicadas no Azure Synapse consiste em três conceitos de alto nível: Classificação da Carga de Trabalho, Importância da Carga de Trabalho e Isolamento da Carga de Trabalho. Estas capacidades dão-lhe mais controlo sobre a forma como a sua carga de trabalho utiliza os recursos do sistema.

A classificação de cargas de trabalho é o conceito de atribuir um pedido a um grupo de cargas de trabalho e definir níveis de importância. Historicamente, esta atribuição foi feita através da associação a funções com sp_addrolemember. Esta ação pode agora ser efetuada através da CLASSE CREATE WORKLOAD CLASSIFER. A capacidade de classificação fornece um conjunto mais avançado de opções, como etiqueta, sessão e tempo para classificar pedidos.

A importância da carga de trabalho influencia a ordem pela qual um pedido obtém acesso aos recursos. Num sistema ocupado, um pedido com maior importância tem primeiro acesso aos recursos. A importância também pode garantir o acesso ordenado aos bloqueios.

O isolamento da carga de trabalho reserva recursos para um grupo de cargas de trabalho. Os recursos reservados num grupo de cargas de trabalho são mantidos exclusivamente para esse grupo de cargas de trabalho para garantir a execução. Os grupos de cargas de trabalho também lhe permitem definir a quantidade de recursos atribuídos por pedido, tal como acontece com as classes de recursos. Os grupos de cargas de trabalho permitem-lhe reservar ou limitar a quantidade de recursos que um conjunto de pedidos pode consumir. Por fim, os grupos de cargas de trabalho são um mecanismo para aplicar regras, como o tempo limite da consulta, aos pedidos.

Passos seguintes