Recomendações do Azure Advisor para pool SQL dedicado no Azure Synapse Analytics
Este artigo descreve as recomendações do pool SQL dedicado disponíveis no Azure Advisor.
O pool SQL dedicado fornece recomendações para garantir que a carga de trabalho do data warehouse seja consistentemente otimizada para desempenho. As recomendações são totalmente integradas ao Azure Advisor para fornecer práticas recomendadas diretamente no portal do Azure. O pool SQL dedicado coleta telemetria e apresenta recomendações para sua carga de trabalho ativa em uma cadência diária. Os cenários de recomendação suportados são descritos abaixo, juntamente com como aplicar as ações recomendadas.
Você pode verificar suas recomendações hoje!
Distorção de dados
A distorção de dados pode causar movimentação de dados adicional ou gargalos de recursos ao executar sua carga de trabalho. A documentação a seguir descreve o show para identificar a distorção de dados e evitar que isso aconteça, selecionando uma chave de distribuição ideal.
Estatísticas inexistentes ou desatualizadas
Ter estatísticas subótimas pode afetar gravemente o desempenho da consulta, pois pode fazer com que o otimizador de consulta SQL gere planos de consulta subótimos. A documentação a seguir descreve as práticas recomendadas em torno da criação e atualização de estatísticas:
Para ver a lista de tabelas afetadas por essas recomendações, execute o seguinte script T-SQL. O Advisor executa continuamente o mesmo script T-SQL para gerar essas recomendações.
Replicar tabelas
Para recomendações de tabelas replicadas, o Advisor deteta candidatos a tabelas com base nas seguintes características físicas:
- Tamanho da tabela replicada
- Número de colunas
- Tipo de distribuição da tabela
- Número de partições
O Advisor aproveita continuamente a heurística baseada na carga de trabalho, como frequência de acesso à tabela, linhas retornadas em média e limites em torno do tamanho e da atividade do data warehouse para garantir que recomendações de alta qualidade sejam geradas.
A seção a seguir descreve a heurística baseada em carga de trabalho que você pode encontrar no portal do Azure para cada recomendação de tabela replicada:
- Scan avg- a percentagem média de linhas que foram devolvidas da tabela para cada acesso à tabela nos últimos sete dias
- Leitura frequente, sem atualização - indica que a tabela não foi atualizada nos últimos sete dias enquanto mostra a atividade de acesso
- Taxa de leitura/atualização - a proporção de quão freqüente a tabela foi acessada em relação a quando ela é atualizada nos últimos sete dias
- Atividade - mede o uso com base na atividade de acesso. Essa atividade compara a atividade de acesso à tabela em relação à atividade média de acesso à tabela no data warehouse nos últimos sete dias.
Atualmente, o Advisor mostrará apenas no máximo quatro candidatos a tabelas replicadas de uma só vez, com índices columnstore agrupados priorizando a atividade mais alta.
Importante
A recomendação da tabela replicada não é infalível e não leva em conta as operações de movimentação de dados. Estamos trabalhando para adicionar isso como uma heurística, mas, enquanto isso, você deve sempre validar sua carga de trabalho depois de aplicar a recomendação. Para saber mais sobre tabelas replicadas, visite a documentação a seguir.
Utilização de cache adaptável (Gen2)
Quando você tem um grande conjunto de trabalho, você pode experimentar uma baixa porcentagem de acerto de cache e alta utilização de cache. Para esse cenário, você deve aumentar a escala para aumentar a capacidade de cache e executar novamente sua carga de trabalho. Para obter mais informações, visite a seguinte documentação.
Disputa da tempdb
O desempenho da consulta pode ser degradado quando há alta contenção tempdb. A contenção de tempdb pode ocorrer por meio de tabelas temporárias definidas pelo usuário ou quando há uma grande quantidade de movimentação de dados. Para esse cenário, você pode dimensionar para mais alocação de tempdb e configurar classes de recursos e gerenciamento de carga de trabalho para fornecer mais memória para suas consultas.
Configuração incorreta do carregamento de dados
Você sempre deve carregar dados de uma conta de armazenamento na mesma região do pool SQL dedicado para minimizar a latência. Use a instrução COPY para ingestão de dados de alta taxa de transferência e divida seus arquivos em estágios em sua conta de armazenamento para maximizar a taxa de transferência. Se você não puder usar a instrução COPY, poderá usar a API SqlBulkCopy ou bcp com um tamanho de lote alto para uma melhor taxa de transferência. Consulte Práticas recomendadas para carregamento de dados para obter orientações adicionais sobre carregamento de dados.