Cache de données : quest-ce que cest et comment il aide à optimiser les requêtes

Cache de données : quest-ce que cest et comment il aide à optimiser les requêtes

Dans ce didacticiel, vous apprendrez ce qu'est un cache de données et pourquoi il est important. Un cache de données stocke des bits de données qui pourraient devenir utiles pour une utilisation future.

Si vous avez besoin des mêmes éléments d'information dans une mesure ou une action future, le cache de données fournira les informations dont vous avez besoin. Cela évite que le système récupère à nouveau les mêmes ensembles de données.

Dans ce didacticiel, vous passerez en revue huit éléments importants à retenir lorsque vous traitez des caches de données dans LuckyTemplates :

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Table des matières

Définition et objectif d'un cache de données

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Un cache de données est une table temporaire créée en mémoire par le moteur de stockage . Cette table temporaire est envoyée au moteur de formule qui itère ensuite sur ces informations et effectue différentes opérations suite à la requête.

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Toutes les communications entre le moteur de formule et le moteur de stockage se font toujours sous la forme d'un cache de données. Le moteur de formule prépare les plans de requête, puis envoie les instructions au moteur de stockage. Le moteur de stockage le renvoie ensuite au moteur de formule qui renvoie le résultat à l'utilisateur.

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Étant donné que le moteur de formule n'a pas d'accès direct aux données stockées dans DirectQuery et VertiPaq, il s'appuie sur le moteur de stockage pour les caches de données.

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Le cache de données envoyé par le moteur de stockage est dans un format non compressé. Cela signifie que la taille des données stockées dans l'outil Vertipaq peut être réduite.

Mais lorsqu'il est temps de renvoyer le cache de données au moteur de formule, il ne peut pas être compressé car le moteur de formule ne fonctionne pas avec les jeux de données compressés.

Quel est l'impact d'un cache de données sur la RAM

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Si le moteur de stockage envoie d'énormes morceaux de caches de données, cela prendra beaucoup d'espace sur la RAM du logiciel. Cela va également demander beaucoup de temps au moteur de formule pour effectuer des itérations et produire un résultat.

Ainsi, lorsque vous écrivez votre code DAX, vous devez comprendre qu'il doit être écrit de manière à minimiser les lignes dans le cache de données.

Le meilleur scénario serait de faire correspondre le nombre de lignes affichées dans le visuel avec le nombre de lignes renvoyées dans le cache de données.

La plupart du temps, il est difficile de renvoyer le même nombre de lignes. Si cela se produit, vous devrez revoir votre code DAX et le décomposer de manière à optimiser le cache de données produit par le moteur de stockage.

Comment un cache de données optimise les requêtes

Fonctions non optimisées

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Certaines fonctions du langage DAX ne sont pas optimisées pour le moteur de stockage. Pour mieux comprendre cela, regardons un exemple.

Par exemple, dans votre code, au lieu d'utiliser SUMMARIZE, vous pouvez utiliser la fonction Les fonctions SUMMARIZE et GROUPBY effectuent la même opération. Cependant, il existe des différences notables selon le scénario.

La fonction GROUPBY n'est pas optimisée pour le moteur de stockage. Si vous utilisez la fonction GROUPBY sur une table de faits avec 12 millions de lignes, elle produira un cache de données avec le même nombre de lignes. Cela peut aller de 600 Mo à 1 Go.

Cette taille peut mettre beaucoup de pression sur votre RAM. Ainsi, au lieu d'utiliser GROUPBY, utilisez . La fonction SUMMARIZE réduit la taille du cache de données. Vous pouvez l'associer à GROUPBY en tant que fonction de niveau supérieur.

Réitérations réduites

Lorsque vous écrivez vos mesures ou requêtes DAX, vous devez vous assurer que le code produit en coulisse est adapté au moteur de stockage.

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Vous devez écrire votre code DAX de manière à produire un cache de données pouvant également être utilisé dans des requêtes ultérieures. L'avantage de cela est qu'au lieu d'effectuer une analyse séparée à l'aide de VertiPaq , le moteur de stockage vérifiera si une requête similaire a déjà été reçue.

Si cela est vrai, cela signifie que son cache de données est disponible en mémoire. Ainsi, au lieu d'analyser à nouveau la requête, VertiPaq la renverra simplement de la mémoire cache au moteur de formule.

Cache de données : qu'est-ce que c'est et comment il aide à optimiser les requêtes

Si vous voyez un opérateur CALLBACKDATAID dans votre requête de moteur de stockage, cela signifie que ces requêtes ne peuvent pas être mises en cache. Si une requête similaire est envoyée au moteur de stockage, il effectuera une réitération.

Ainsi, VertiPaq devra appeler le moteur de formule pour résoudre la requête. Cela augmente le temps d'exécution global car la mémoire cache ne peut pas être utilisée dans ce cas.

Conclusion

Le cache de données est votre meilleur ami dans le langage DAX. N'oubliez pas d'écrire votre code DAX de manière à maximiser l'espace de stockage et à réduire le nombre d'itérations de l'outil VertiPaq. Vous pouvez réutiliser le cache de données déjà produit par le moteur de stockage pour réduire le temps d'exécution des requêtes.


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir