Introdução à otimização de desempenho

Concluído

A otimização de desempenho, também conhecida como ajuste de desempenho, envolve fazer alterações no estado atual do modelo semântico para que ele seja executado com mais eficiência. Essencialmente, quando o seu modelo semântico é otimizado, seu desempenho fica melhor.

Você poderá descobrir que o relatório é bem executado em ambientes de teste e desenvolvimento, mas quando ele é implantado na produção para um consumo mais amplo, surgem problemas de desempenho. Da perspectiva do usuário do relatório, o mau desempenho é caracterizado por páginas de relatório que demoram mais para serem carregadas e visuais que demoram mais para serem atualizados. Esse mau desempenho leva a uma experiência de usuário negativa.

Como analista de dados, você passará cerca de 90% do seu tempo trabalhando com seus dados e, nove em cada dez vezes, um desempenho insatisfatório é o resultado direto de um modelo semântico inadequado, do mau uso de Expressões de Análises de Dados (DAX) ou de uma combinação de ambos. O processo de elaborar um modelo semântico de bom desempenho pode ser entediante e, geralmente, é subestimado. No entanto, se abordar os problemas de desempenho durante o desenvolvimento, você terá um modelo semântico do Power BI robusto que irá retornar um melhor desempenho de relatórios e uma experiência do usuário mais positiva. Por fim, você também será capaz de manter o desempenho otimizado. À medida que sua organização cresce, o tamanho dos dados aumenta e o modelo semântico se torna mais complexo. Se otimizar seu modelo semântico bem no início, você poderá atenuar o impacto negativo que esse crescimento poderá exercer sobre o desempenho do seu modelo.

Um modelo semântico menor usa menos recursos (memória) e atinge maior rapidez na atualização de dados, cálculos e renderização dos elementos visuais em relatórios. Portanto, o processo de otimização de desempenho envolve minimizar o tamanho do modelo semântico e usar os dados contidos nele da maneira mais eficiente possível, o que inclui o seguinte:

  • Garantir que os tipos de dados corretos sejam usados.

  • Excluir colunas e linhas desnecessárias.

  • Evitar valores repetidos.

  • Substituir colunas numéricas por medidas.

  • Reduzir cardinalidades.

  • Analisar metadados do modelo.

  • Resumir dados sempre que possível.

Neste módulo, você será apresentado às etapas, processos e conceitos necessários para otimizar um modelo semântico e obter um desempenho de nível empresarial. No entanto, tenha em mente que, embora as diretrizes básicas de desempenho e boas práticas no Power BI façam uma grande diferença, para otimizar um modelo semântico em termos de desempenho de consulta você provavelmente precisará trabalhar em parceria com um engenheiro de dados para otimizar o modelo semântico nas fontes de dados de origem.

Por exemplo, digamos que você trabalhe como desenvolvedor do Microsoft Power BI na Tailwind Traders. Você recebeu a tarefa de revisar um modelo semântico que foi criado há alguns anos por outro desenvolvedor, uma pessoa que já saiu da organização.

O modelo semântico produz um relatório que recebeu comentários negativos dos usuários. Os usuários estão satisfeitos com os resultados que veem no relatório, mas não com seu desempenho. O carregamento das páginas do relatório demora muito e as tabelas não são atualizadas com rapidez suficiente quando determinadas seleções são feitas. Além desses comentários, a equipe de TI destacou que o tamanho do arquivo desse modelo semântico específico é muito grande e está sobrecarregando os recursos da organização.

Você precisa examinar o modelo semântico para identificar a causa raiz dos problemas de desempenho e fazer alterações para otimizar o desempenho.

Ao final deste módulo, você será capaz de fazer o seguinte:

  • Examinar o desempenho de medidas, relações e visuais.

  • Usar variáveis para aprimorar o desempenho e solucionar problemas.

  • Aprimorar o desempenho reduzindo os níveis de cardinalidade.

  • Otimizar modelos do DirectQuery com o armazenamento no nível da tabela.

  • Criar e gerenciar agregações.