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.


Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.