Diretrizes de desempenho do Synapse Data Warehouse no Microsoft Fabric
Aplica-se a:✅ warehouse no Microsoft Fabric
Estas são as diretrizes para ajudá-lo a entender o desempenho do seu Warehouse no Microsoft Fabric. Neste artigo, você encontrará diretrizes e artigos importantes nos quais se concentrar. O Warehouse no Microsoft Fabric é uma plataforma de SaaS em que atividades como gerenciamento de carga de trabalho, simultaneidade e gerenciamento de armazenamento são gerenciadas internamente pela plataforma. Além desse gerenciamento de desempenho interno, você ainda pode melhorar seu desempenho desenvolvendo consultas de alto desempenho em warehouses bem projetados.
Desempenho de execução a frio (cache frio)
O armazenamento em cache com SSD e memória locais é automático. As primeiras 1 a 3 execuções de uma consulta executam execuções visivelmente mais lentas do que as execuções subsequentes. Caso esteja enfrentando problemas de desempenho de execução a frio, aqui estão algumas coisas que é possível fazer que podem melhorar seu desempenho de execução a frio:
Se o desempenho da primeira execução for essencial, tente criar estatísticas manualmente. Examine o artigo de estatísticas para entender melhor a função das estatísticas e para obter diretrizes sobre como criar estatísticas manuais para melhorar o desempenho da consulta. No entanto, se o desempenho da primeira execução não for essencial, você poderá confiar em estatísticas automáticas que serão geradas na primeira consulta e continuarão a ser utilizadas nas execuções seguintes (desde que os dados básicos não mudem significativamente).
Se estiver usando o Power BI, use o modo Direct Lake sempre que possível.
Métricas para monitorar o desempenho
Atualmente, o Hub de Monitoramento não inclui o warehouse. Se escolher o Data Warehouse, você não poderá acessar o Hub de Monitoramento na barra de navegação.
Os administradores do Fabric poderão acessar o relatório Utilização e métricas de capacidade para obter informações atualizadas de acompanhamento de utilização de capacidade incluindo o warehouse.
Usar exibições de gerenciamento dinâmico (DMVs) para monitorar a execução da consulta
Você pode usar exibições de gerenciamento dinâmico (DMVs) para monitorar o status de conexão, sessão e solicitação no Warehouse.
Estatísticas
O Warehouse usa um mecanismo de consulta para criar um plano de execução para uma determinada consulta SQL. Quando você envia uma consulta, o otimizador de consulta tenta enumerar todos os planos possíveis e escolher o candidato mais eficiente. Para determinar qual plano exigiria a menor sobrecarga, o mecanismo precisa ser capaz de avaliar a quantidade de trabalho ou as linhas que podem ser processadas por cada operador. Em seguida, com base no custo de cada plano, ele escolhe aquele com a menor quantidade de trabalho estimado. Estatísticas são objetos que contêm informações relevantes sobre seus dados, para permitir que o otimizador de consulta estime esses custos.
Também poderá atualizar manualmente as estatísticas após cada carregamento de dados ou atualização de dados para garantir que o melhor plano de consulta possa ser criado.
Para obter mais estatísticas de informações e como você pode aumentar as estatísticas criadas automaticamente, confira Estatísticas no armazenamento de dados do Fabric.
Diretrizes de ingestão de dados
Há quatro opções para ingestão de dados em um warehouse:
- COPY (Transact-SQL)
- Pipelines de dados
- Fluxos de dados
- Ingestão entre depósitos
Para ajudar a determinar qual opção é melhor para você e examinar algumas práticas recomendadas de ingestão de dados, examine Ingerir dados.
Agrupar instruções INSERT em lotes (evitar inserções de fluxo)
Um carregamento único em uma tabela pequena com uma instrução INSERT, como mostrado no exemplo a seguir, poderá ser a melhor abordagem, dependendo de suas necessidades. No entanto, se você precisar carregar milhares ou milhões de linhas durante um dia, as instruções INSERTS singleton não são as melhores opções.
INSERT INTO MyLookup VALUES (1, 'Type 1')
Para obter diretrizes sobre como lidar com esses cenários de carregamento de fluxo, confira Práticas recomendadas para ingerir dados.
Minimizar os tamanhos das transações
As instruções INSERT, UPDATE e DELETE são executadas em uma transação. Em caso de falha, elas devem ser revertidas. Para reduzir possibilidade de uma reversão longa, minimize os tamanhos das transações sempre que possível. Isso pode ser feito dividindo as instruções INSERT, UPDATE e DELETE em partes. Por exemplo, se você prevê que uma instrução INSERT seja executada em uma hora, divida-a em quatro partes. Assim, cada execução levará apenas 15 minutos.
Considere usar CTAS (Transact-SQL) para gravar os dados que você deseja manter em uma tabela em vez de usar DELETE. Se um CTAS demorar a mesma quantidade de tempo, será mais seguro executá-lo quando ele tiver um log de transação mínimo e puder ser cancelado rapidamente, se necessário.
Agrupar aplicativos cliente e o Microsoft Fabric
Se você estiver usando aplicativos cliente, verifique se está usando o Microsoft Fabric em uma região próxima ao computador cliente. Exemplos de aplicativo cliente incluem Power BI Desktop, SQL Server Management Studio e Azure Data Studio.
Utilizar o design de dados do esquema em estrela
Um esquema em estrela organiza dados em tabelas de fatos e tabelas de dimensões. Isso facilita o processamento analítico desnormalizando os dados de sistemas OLTP altamente normalizados, ingerindo dados transacionais e dados mestres empresariais em uma estrutura de dados comum, limpa e verificada que minimiza ingressos no momento da consulta, reduz o número de linhas lidas e facilita agregações e processamento de agrupamento.
Para obter mais diretrizes de design do warehouse, confira Tabelas no data warehouse.
Reduzir tamanhos de conjunto de resultados da consulta
Reduzir os tamanhos dos conjuntos de resultados de consultas ajuda a evitar problemas do lado do cliente causados por resultados de consulta grandes. Os conjuntos de resultados do editor de Consultas SQL são limitados às primeiras 10.000 linhas para evitar esses problemas nessa interface do usuário baseada em navegador. Se você precisar retornar mais de 10.000 linhas, use o SQL Server Management Studio (SSMS) ou o Azure Data Studio.
Escolha o melhor tipo de dados para o desempenho
Para melhorar o desempenho da consulta, use o menor tipo de dados compatível com seus dados quando definir uma tabela. Essa recomendação é importante para colunas CHAR e VARCHAR. Se o maior valor em uma coluna for 25 caracteres, então, defina a coluna como VARCHAR(25). Evite definir todas as colunas de caractere com um tamanho padrão grande.
Use tipos de dados baseados em inteiro, se possível. As operações SORT, JOIN e GROUP são concluídas mais rapidamente em dados do tipo inteiro do que em dados de caracteres.
Para obter tipos de dados com suporte e mais informações, confira tipos de dados.
Desempenho do ponto de extremidade de análise SQL
Para obter informações e recomendações sobre o desempenho do ponto de extremidade de análise SQL, confira Considerações sobre o desempenho do ponto de extremidade de análise SQL.
Compactação de dados
A compactação de dados consolida arquivos Parquet menores em menos arquivos maiores, o que otimiza as operações de leitura. Esse processo também ajuda a gerenciar com eficiência as linhas excluídas, eliminando-as dos arquivos Parquet imutáveis. O processo de compactação de dados envolve a regravação de tabelas ou segmentos de tabelas em novos arquivos Parquet otimizados para desempenho. Para obter mais informações, consulte Blog: Compactação automática de dados para o Fabric Warehouse.
O processo de compactação de dados é perfeitamente integrado ao armazém. À medida que as consultas são executadas, o sistema identifica tabelas que podem se beneficiar da compactação e executa as avaliações necessárias. Não há uma maneira manual de disparar a compactação de dados.