Cache de dados: o que é e como ajuda a otimizar as consultas

Neste tutorial, você aprenderá o que é um cache de dados e por que ele é importante. Um cache de dados armazena bits de dados que podem se tornar valiosos para uso futuro.

Se você precisar das mesmas informações em uma medida ou ação futura, o cache de dados fornecerá as informações de que você precisa. Elimina fazer o sistema buscar novamente os mesmos conjuntos de dados.

Neste tutorial, você passará por oito coisas importantes a serem lembradas ao lidar com caches de dados no LuckyTemplates:

Cache de dados: o que é e como ajuda a otimizar as consultas

Índice

Definição e finalidade de um cache de dados

Cache de dados: o que é e como ajuda a otimizar as consultas

Um cache de dados é uma tabela temporária criada na memória pelo mecanismo de armazenamento . Essa tabela temporária é enviada para o mecanismo de fórmula que itera sobre essas informações e executa diferentes operações após a consulta.

Cache de dados: o que é e como ajuda a otimizar as consultas

Toda a comunicação entre o mecanismo de fórmula e o mecanismo de armazenamento sempre acontece na forma de um cache de dados. O mecanismo de fórmula prepara os planos de consulta e envia as instruções para o mecanismo de armazenamento. O mecanismo de armazenamento o envia de volta ao mecanismo de fórmula, que retorna o resultado ao usuário.

Cache de dados: o que é e como ajuda a otimizar as consultas

Como o mecanismo de fórmula não tem acesso direto aos dados armazenados em DirectQuery e VertiPaq, ele depende do mecanismo de armazenamento para os caches de dados.

Cache de dados: o que é e como ajuda a otimizar as consultas

O cache de dados enviado pelo mecanismo de armazenamento está em um formato descompactado. Isso significa que o tamanho dos dados armazenados na ferramenta Vertipaq pode ser reduzido.

Mas quando é hora de retornar o cache de dados de volta ao mecanismo de fórmula, ele não pode ser compactado porque o mecanismo de fórmula não funciona com conjuntos de dados compactados.

Qual é o impacto de um cache de dados na RAM

Cache de dados: o que é e como ajuda a otimizar as consultas

Se o mecanismo de armazenamento estiver enviando grandes blocos de caches de dados, isso ocupará muito espaço na RAM do software. Também vai consumir uma quantidade significativa de tempo para o mecanismo de fórmula realizar iterações e produzir um resultado.

Portanto, ao escrever seu código DAX, você precisa entender que ele deve ser escrito de forma a minimizar as linhas no cache de dados.

O melhor cenário seria corresponder ao número de linhas mostradas no visual com o número de linhas retornadas no cache de dados.

Na maioria das vezes, é difícil retornar a mesma quantidade de linhas. Se isso acontecer, você precisará revisar seu código DAX e dividi-lo de forma a otimizar o cache de dados produzido pelo mecanismo de armazenamento.

Como um cache de dados otimiza as consultas

Funções não otimizadas

Cache de dados: o que é e como ajuda a otimizar as consultas

Algumas das funções na linguagem DAX não são otimizadas para o mecanismo de armazenamento. Para entender melhor, vejamos um exemplo.

Por exemplo, em seu código, em vez de usar SUMMARIZE, você pode usar a função As funções SUMMARIZE e GROUPBY executam a mesma operação. No entanto, existem diferenças notáveis ​​dependendo do cenário.

A função GROUPBY não é otimizada para o Storage Engine. Se você usar a função GROUPBY em uma tabela de fatos com 12 milhões de linhas, ela produzirá um cache de dados com o mesmo número de linhas. Isso pode ser tão grande quanto 600 MB até 1 GB.

Esse tamanho pode colocar muita pressão na sua RAM. Portanto, em vez de usar GROUPBY, use . A função SUMMARIZE resulta em um tamanho de cache de dados menor. Você pode emparelhá-lo com GROUPBY como uma função de nível superior.

Reiterações reduzidas

Ao escrever suas medidas ou consultas DAX, você precisa garantir que o código produzido nos bastidores seja adequado para o mecanismo de armazenamento.

Cache de dados: o que é e como ajuda a otimizar as consultas

Você precisa escrever seu código DAX de forma a produzir um cache de dados que também possa ser usado em consultas subsequentes. A vantagem de fazer isso é que, em vez de executar uma verificação separada usando o VertiPaq , o mecanismo de armazenamento verificará se uma consulta semelhante já foi recebida.

Se isso for verdade, significa que seu cache de dados está disponível na memória. Portanto, em vez de verificar a consulta novamente, o VertiPaq simplesmente a retornará da memória cache para o mecanismo de fórmula.

Cache de dados: o que é e como ajuda a otimizar as consultas

Se você vir um operador CALLBACKDATAID em sua consulta do mecanismo de armazenamento, isso significa que essas consultas não podem ser armazenadas em cache. Caso uma consulta semelhante seja enviada ao mecanismo de armazenamento, ele executará uma reiteração.

Assim, VertiPaq terá que chamar o mecanismo de fórmula para resolver a consulta. Isso aumenta o tempo geral de execução porque a memória cache não pode ser usada nesse caso.

Conclusão

O cache de dados é seu melhor amigo na linguagem DAX. Lembre-se de escrever seu código DAX de forma a maximizar o espaço de armazenamento e reduzir o número de iterações da ferramenta VertiPaq. Você pode reutilizar o cache de dados já produzido pelo Storage Engine para reduzir o tempo de execução da consulta.

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.