Gestão de cargas de trabalho
Aplica-se a:✅ ponto de extremidade de análise SQL e Warehouse no Microsoft Fabric
Este artigo descreve a arquitetura e o gerenciamento de carga de trabalho por trás do armazenamento de dados no Microsoft Fabric.
Processamento de dados
O ponto de extremidade de análise Warehouse e SQL compartilham a mesma arquitetura de processamento subjacente. À medida que os dados são recuperados ou ingeridos, ele aproveita um mecanismo distribuído construído para dados de pequena e grande escala e funções computacionais.
O sistema de processamento é sem servidor, pois a capacidade de computação de back-end é dimensionada para cima e para baixo de forma autônoma para atender às demandas de carga de trabalho.
Quando uma consulta é enviada, o frontend SQL (FE) executa a otimização da consulta para determinar o melhor plano com base no tamanho e na complexidade dos dados. Uma vez que o plano é gerado, ele é dado ao mecanismo de processamento de consultas distribuídas (DQP). O DQP orquestra a execução distribuída da consulta dividindo-a em consultas menores que são executadas em nós de computação de back-end. Cada pequena consulta é chamada de tarefa e representa uma unidade de execução distribuída. Ele lê arquivo(s) do OneLake, une 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 frontend SQL para servir de volta ao usuário ou aplicativo de chamada.
Elasticidade e resiliência
A capacidade de computação de back-end se beneficia de uma arquitetura de provisionamento rápida. Embora não haja SLA na atribuição de recursos, normalmente novos nós são adquiridos em poucos segundos. À medida que a demanda de recursos aumenta, novas cargas de trabalho usam a capacidade dimensionada. O dimensionamento é uma operação online e o processamento de consultas não é interrompido.
O sistema é tolerante a falhas e, se um nó não estiver íntegro, as operações executadas no nó serão redistribuídas para nós íntegros para conclusão.
O armazém e o ponto de extremidade de análise SQL fornecem capacidade burstable que permite que as cargas de trabalho usem mais recursos para obter um melhor desempenho e usem a suavização para oferecer alívio aos clientes que criam picos repentinos durante seus horários de pico, enquanto eles têm muita capacidade ociosa que não é usada. A suavização simplifica o gerenciamento de capacidade, espalhando a avaliação da computação para garantir que os trabalhos do cliente sejam executados sem problemas e com eficiência.
Agendamento e recursos
O agendador de processamento de consultas distribuído opera em um nível de tarefa . As consultas são representadas para o agendador como um gráfico acíclico direcionado (DAG) de tarefas. Este 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 nos princípios FIFO (first-in-first-out). Se houver capacidade ociosa, o agendador pode usar uma abordagem de "melhor ajuste" para otimizar a simultaneidade.
Quando o agendador identifica a pressão de recursos, 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 um desempenho consistente de subsegundos de consultas que exigem processamento distribuído.
Quando a pressão diminui, a topologia de back-end diminui e libera recursos de volta para a região.
Isolamento por ingestão
Aplica-se a:✅ Armazém no Microsoft Fabric
No pool de computação de back-end do Warehouse no Microsoft Fabric, as atividades de carregamento são fornecidas isolamento de recursos de cargas de trabalho analíticas. Isso melhora o desempenho e a confiabilidade, já que os trabalhos de ingestão podem ser executados em nós dedicados otimizados para ETL e não competem com outras consultas ou aplicativos por recursos.
Sessões
O ponto de extremidade de análise Warehouse e SQL tem um limite de sessão de usuário de 724 por espaço de trabalho. Quando este limite for atingido, um erro será retornado: The user session limit for the workspace is 724 and has been reached
.
Nota
Como o Microsoft Fabric é uma plataforma SaaS, há muitas conexões de sistema que são executadas para otimizar continuamente o ambiente. Os DMVs mostram sessões do sistema e do usuário. Para obter mais informações, consulte Monitorar usando DMVs.
Melhores práticas
O espaço de trabalho 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 espaços de trabalho para distribuir a carga entre vários mecanismos SQL, criando um limite de isolamento. Isso pode efetivamente aumentar o número máximo de sessões que executam consultas somente leitura.