Otimização e cache do conjunto de dados
Os painéis são ferramentas valiosas de análise de dados e de tomada de decisão e tempos de carga eficientes podem melhorar significativamente a experiência do usuário. Este artigo explica como o cache e as otimizações de conjunto de dados tornam os painéis mais eficientes e com desempenho.
Desempenho de consulta
Você pode inspecionar as consultas e o desempenho delas no histórico de consultas do workspace. O histórico de consultas mostra as consultas de SQL executadas usando SQL warehouses. Clique em Histórico de consultas na barra lateral para ver o histórico de consultas. Consulte Histórico de consultas.
Para conjuntos de dados de painel, o Azure Databricks aplica otimizações de desempenho dependendo do tamanho do resultado do conjunto de dados.
Otimizações de conjuntos de dados
Os conjuntos de dados do painel de IA/BI incluem as seguintes otimizações de desempenho:
- Se o tamanho do resultado do conjunto de dados for pequeno (menor ou igual a 100 mil linhas ou 100 MB, o que for menor), o resultado do conjunto de dados será transferido para o cliente e a filtragem e a agregação específicas da visualização serão realizadas no navegador. A filtragem e a agregação de dados para conjuntos de dados pequenos são muito rápidas, e assegurar que seu conjunto de dados seja pequeno pode ajudar você a otimizar o desempenho do painel. Com conjuntos de dados pequenos, apenas a consulta do conjunto de dados aparece no histórico de consultas.
- Se o tamanho do resultado do conjunto de dados for grande (maior que 100 mil linhas ou 100 MB), o texto da consulta do conjunto de dados é encapsulado em uma cláusula SQL
WITH
, e a filtragem e agregação específicas da visualização são realizadas em uma consulta no back-end e não no navegador. Com grandes conjuntos de dados, a consulta de visualização aparece no histórico de consultas. - Para consultas de visualização enviadas ao back-end, consultas de visualização separadas em relação ao mesmo conjunto de dados que compartilham as mesmas cláusulas
GROUP BY
e predicados de filtro são combinadas em uma única consulta para processamento. Nesse caso, os usuários podem ver uma consulta combinada no histórico de consultas que está buscando resultados para várias visualizações.
Cache e atualização de dados
Os painéis mantêm um cache de resultados de 24 horas para otimizar os tempos iniciais de carregamento, operando com o melhor esforço. Isso significa que, embora o sistema sempre tente usar resultados históricos de consulta vinculados às credenciais do painel para melhorar o desempenho, há alguns casos em que os resultados armazenados em cache não podem ser criados ou mantidos. Os dados armazenados em cache não têm limite de memória específico ou contagem de consultas fixa.
Para painéis de várias páginas, o seguinte se aplica:
- A edição de um painel de rascunho carrega e armazena em cache todos os conjuntos de dados.
- Quando os visualizadores abrem um painel publicado, somente os conjuntos de dados que suportam a página ativa são executados e armazenados em cache.
- Se um agendamento for definido, todos os conjuntos de dados serão atualizados de acordo com o agendamento e esses resultados serão armazenados em cache.
A tabela a seguir explica como o cache varia de acordo com o status e as credenciais do painel:
Tipo de painel | Tipo de cache |
---|---|
Painel publicado com credenciais incorporadas | Cache compartilhado. Os mesmos resultados são exibidos para todos os visualizadores. |
Rascunho de painel ou painel publicado sem credenciais incorporadas | Por cache de usuário. Os resultados são exibidos para os visualizadores com base em suas permissões de dados. |
Os painéis usam automaticamente os resultados da consulta armazenada em cache se os dados subjacentes permanecerem inalterados após a última consulta ou se os resultados foram recuperados há menos de 24 horas. Se houver resultados obsoletos e parâmetros forem aplicados ao painel, as consultas serão executadas novamente, a menos que os mesmos parâmetros tenham sido usados nas últimas 24 horas. Da mesma forma, a aplicação de filtros a conjuntos de dados com mais de 100.000 linhas solicita que as consultas sejam executadas novamente, a menos que os mesmos filtros tenham sido aplicados anteriormente nas últimas 24 horas.
Consultas agendadas
A adição de um agendamento a um painel publicado com credenciais inseridas pode acelerar significativamente o processo de carregamento inicial para todos os visualizadores do painel.
Para cada atualização de painel agendada, ocorre o seguinte:
- Toda a lógica SQL que define conjuntos de dados é executada no intervalo de tempo designado.
- Os resultados preenchem o cache de resultados da consulta e ajudam a melhorar o tempo de carga inicial do painel.