Diretrizes de desempenho do Synapse Data Warehouse no Microsoft Fabric
Aplica-se a:✅ Armazém no Microsoft Fabric
Estas são diretrizes para ajudá-lo a entender o desempenho do seu Warehouse no Microsoft Fabric. Neste artigo, você encontrará orientações e artigos importantes para se concentrar. O Warehouse in Microsoft Fabric é uma plataforma SaaS onde 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 desempenho em armazéns bem projetados.
Desempenho de execução a frio (cache frio)
O armazenamento em cache com SSD local e memória é automático. As primeiras 1-3 execuções de uma consulta têm um desempenho visivelmente mais lento do que as execuções subsequentes. Se você estiver enfrentando problemas de desempenho de execução a frio, aqui estão algumas coisas que você pode fazer para melhorar seu desempenho de execução a frio:
Se o desempenho da primeira execução for crucial, tente criar estatísticas manualmente. Consulte o artigo de estatísticas para compreender melhor o papel das estatísticas e para obter orientação sobre como criar estatísticas manuais para melhorar o desempenho da sua consulta. No entanto, se o desempenho da primeira execução não for crítico, você poderá confiar nas estatísticas automáticas que serão geradas na primeira consulta e continuarão a ser aproveitadas nas execuções subsequentes (desde que os dados subjacentes não sejam alterados 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 você escolher Data Warehouse, não poderá acessar o Hub de Monitoramento na barra de navegação.
Os administradores de malha poderão acessar o relatório de Utilização da Capacidade e Métricas para obter informações atualizadas sobre o acompanhamento da utilização da capacidade que inclui o Warehouse.
Usar exibições de gerenciamento dinâmico (DMVs) para monitorar a execução de consultas
Você pode usar modos de exibição de gerenciamento dinâmico (DMVs) para monitorar o status da conexão, da sessão e da solicitação no Depósito.
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 menos sobrecarga, o mecanismo precisa ser capaz de avaliar a quantidade de trabalho ou linhas que podem ser processadas por cada operador. Depois, com base no custo de cada plano, escolhe aquele com menor quantidade de trabalho estimado. As estatísticas são objetos que contêm informações relevantes sobre seus dados, para permitir que o otimizador de consulta estime esses custos.
Você também pode 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 informações sobre estatísticas e como você pode aumentar as estatísticas criadas automaticamente, consulte Estatísticas no data warehouse da malha.
Diretrizes de ingestão de dados
Há quatro opções para a ingestão de dados em um Warehouse:
- COPY (Transact-SQL)
- Pipelines de dados
- Fluxos de Dados
- Ingestão de armazéns cruzados
Para ajudar a determinar qual é a melhor opção para si e para rever algumas práticas recomendadas de ingestão de dados, reveja os dados de Ingestão.
Agrupar instruções INSERT em lotes (evitar inserções gota a gota)
Um carregamento único para uma tabela pequena com uma instrução INSERT, como mostrado no exemplo a seguir, pode ser a melhor abordagem, dependendo de suas necessidades. No entanto, se você precisar carregar milhares ou milhões de linhas ao longo do dia, as INSERÇÕES singleton não são ideais.
INSERT INTO MyLookup VALUES (1, 'Type 1')
Para obter orientação sobre como lidar com esses cenários de carregamento por gotejamento, consulte Práticas recomendadas para ingestão de dados.
Minimizar tamanhos de transação
As instruções INSERT, UPDATE e DELETE são executadas em uma transação. Quando falham, têm de ser revertidos. Para reduzir o potencial de uma longa reversão, minimize o tamanho das transações sempre que possível. A minimização dos tamanhos das transações pode ser feita dividindo as instruções INSERT, UPDATE e DELETE em partes. Por exemplo, se você tiver um INSERT que espera levar 1 hora, você pode dividir o INSERT em quatro partes. Cada corrida será então encurtada para 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, é mais seguro executá-lo, pois tem um registro mínimo de transações e pode ser cancelado rapidamente, se necessário.
Coloque aplicativos cliente e Microsoft Fabric
Se estiver a utilizar aplicações cliente, certifique-se de que está a utilizar o Microsoft Fabric numa região próxima do computador cliente. Os exemplos de aplicações cliente incluem o Power BI Desktop, o SQL Server Management Studio e o Azure Data Studio.
Utilize o design de dados do esquema em estrela
Um esquema em estrela organiza os dados em tabelas de fatos e tabelas de dimensões. Ele facilita o processamento analítico desnormalizando os dados de sistemas OLTP altamente normalizados, ingerindo dados transacionais e dados mestre corporativos em uma estrutura de dados comum, limpa e verificada que minimiza as junções no momento da consulta, reduz o número de linhas lidas e facilita o processamento de agregações e agrupamentos.
Para obter mais orientações sobre o projeto do armazém, consulte Tabelas no data warehouse.
Reduzir os tamanhos dos conjuntos de resultados da consulta
Reduzir os tamanhos dos conjuntos de resultados de consulta ajuda a evitar problemas do lado do cliente causados por grandes resultados de consulta. 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 desempenho
Ao definir suas tabelas, use o menor tipo de dados que ofereça suporte aos seus dados, pois isso melhorará o desempenho da consulta. Esta recomendação é importante para as colunas CHAR e VARCHAR. Se o maior valor numa coluna for de 25 carateres, defina a coluna como VARCHAR(25). Evite definir todas as colunas de caracteres com um grande comprimento padrão.
Use tipos de dados baseados em inteiros, se possível. As operações SORT, JOIN e GROUP BY são concluídas mais rapidamente em inteiros do que em dados de caracteres.
Para tipos de dados suportados e mais informações, consulte 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 da análise SQL, consulte Considerações sobre o desempenho do ponto de extremidade da análise SQL.
Compactação de Dados
A compactação de dados consolida arquivos Parquet menores em arquivos menores e maiores, o que otimiza as operações de leitura. Esse processo também ajuda no gerenciamento eficiente de linhas excluídas, eliminando-as de arquivos Parquet imutáveis. O processo de compactação de dados envolve a reescrita 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 realiza as avaliações necessárias. Não há uma maneira manual de acionar a compactação de dados.