Gerenciamento de carga de trabalho
Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric
Este artigo descreve a arquitetura e o gerenciamento de carga de trabalho por trás do data warehouse no Microsoft Fabric.
Processamento de dados
O Warehouse e o ponto de extremidade de análise do SQL compartilham a mesma arquitetura de processamento subjacente. À medida que os dados são recuperados ou ingeridos, eles aproveitam um mecanismo distribuído criado para dados pequenos e em grande escala e funções computacionais.
O sistema de processamento é sem servidor, pois a capacidade de computação de back-end aumenta e reduz de forma autônoma para atender às demandas de carga de trabalho.
Quando uma consulta é enviada, o SQL frontend (FE) executa a otimização da consulta para determinar o melhor plano com base no tamanho e na complexidade dos dados. Depois que o plano é gerado, ele é fornecido ao mecanismo DQP (Processamento de Consultas Distribuídas). O DQP orquestra a execução distribuída da consulta dividindo-a em consultas menores executadas em nós de computação de back-end. Cada consulta pequena é chamada de tarefa e representa a unidade de execução distribuída. Ele lê arquivos do OneLake, junta resultados de outras tarefas, grupos ou ordena dados recuperados de outras tarefas. Para trabalhos de ingestão, ele também grava dados nas tabelas de destino adequadas.
Quando os dados são processados, os resultados são retornados ao front-end do SQL para servir de volta ao usuário ou ao aplicativo de chamada.
Elasticidade e resiliência
A capacidade de computação de back-end se beneficia de uma arquitetura de provisionamento rápido. Embora não haja nenhum SLA na atribuição de recursos, normalmente novos nós são adquiridos em alguns segundos. À medida que a demanda por recursos aumenta, novas cargas de trabalho utilizam a capacidade de expansão. O dimensionamento é uma operação online e o processamento de consultas é ininterrupto.
O sistema é tolerante a falhas e, se um nó se tornar não íntegro, as operações em execução no nó serão redistribuídas para nós íntegros para conclusão.
O Warehouse e o ponto de extremidade de análise do SQL fornecem capacidade de intermitência que permite que as cargas de trabalho usem mais recursos para obter melhor desempenho e usem a suavização para oferecer alívio aos clientes que criam picos repentinos durante seus horários de pico, enquanto têm muita capacidade ociosa que não é utilizada. A suavização simplifica o gerenciamento de capacidade ao distribuir a avaliação da computação para garantir que os trabalhos do cliente sejam executados de forma tranquila e eficiente.
Agendamento e resourcing
O agendador de processamento de consulta distribuída opera em um nível de tarefa . As consultas são representadas ao agendador como um grafo direcionado acíclico (DAG) de tarefas. Esse conceito é familiar para os usuários do Spark. Um DAG permite paralelismo e simultaneidade, pois tarefas que não dependem umas das outras podem ser executadas simultaneamente ou fora de ordem.
À medida que as consultas chegam, suas tarefas são agendadas com base em princípios FIFO (primeiro a entrar em primeiro a sair). Se existir capacidade ociosa, o agendador poderá utilizar uma abordagem de "melhor ajuste" para otimizar a simultaneidade.
Quando o agendador identifica a pressão de resourcing, ele invoca uma operação de escala. O dimensionamento é gerenciado de forma autônoma e a topologia de back-end cresce à medida que a simultaneidade aumenta. Como leva alguns segundos para adquirir nós, o sistema não é otimizado para desempenho de subsecond consistente de consultas que exigem processamento distribuído.
Quando a pressão diminui, a topologia de back-end reduz verticalmente e libera o recurso de volta para a região.
Isolamento de ingestão
Aplica-se a:✅Warehouse no Microsoft Fabric
No pool de computação de back-end do Warehouse no Microsoft Fabric, as atividades de carregamento recebem isolamento de recursos de cargas de trabalho analíticas. Isso melhora o desempenho e a confiabilidade, pois os trabalhos de ingestão podem ser executados em nós dedicados que são otimizados para ETL e não competem com outras consultas ou aplicativos para recursos.
Sessões
O Warehouse e o ponto de extremidade de análise do SQL têm um limite de sessão de usuário de 724 por workspace. Quando esse limite for atingido, um erro será retornado: The user session limit for the workspace is 724 and has been reached
.
Observação
Como o Microsoft Fabric é uma plataforma SaaS, há muitas conexões de sistema que são executadas para otimizar o ambiente continuamente. As DMVs mostram as sessões do sistema e do usuário. Para obter mais informações, consulte Monitorar usando DMVs.
Práticas recomendadas
O workspace do Microsoft Fabric fornece um limite de isolamento natural do sistema de computação distribuído. As cargas de trabalho podem aproveitar esse limite para gerenciar o custo e o desempenho.
Os Atalhos do OneLake podem ser usados para criar réplicas somente leitura de tabelas em outros workspaces para distribuir a carga entre vários mecanismos SQL, criando um limite de isolamento. Isso pode aumentar efetivamente o número máximo de sessões que executam consultas somente leitura.