Caches de données dans un calcul DAX

Caches de données dans un calcul DAX

Dans ce didacticiel, vous découvrirez ce que font les caches de données dans un calcul DAX. Vous comprendrez comment ils fonctionnent avec les moteurs de formule et de stockage pour fournir des réponses à vos questions.

Table des matières

Que sont les caches de données ?

Le moteur de stockage interagit avec le moteur de formule sous la forme d'un cache de données.

Si vous vous souvenez des articles de blog précédents sur la structure de requête DAX, vous saurez que le moteur de formule demande des données au moteur de stockage. Ce dernier va ensuite dans la base de données, obtient différents types de données, puis les renvoie au moteur de formule sous la forme d'un cache de données.

Le moteur de stockage peut effectuer des calculs simples et des agrégations, ce qui le rend plus rapide. Il offre également un parallélisme qui peut remplir plusieurs caches de données à la fois. Une requête de moteur de stockage peut prendre du temps pour générer une réponse. Mais si vous additionnez toutes les différentes requêtes du moteur de stockage, les résultats ne seront pas les mêmes car il remplit plus d'un cache de données.

Le moteur de formule, quant à lui, fonctionne sur des requêtes complexes. Comme il s'agit d'un moteur à thread unique, il ne peut utiliser qu'un seul cache de données consolidé final. Il commence à travailler sur le cache de données une fois que toutes les demandes sont remplies par le moteur de stockage.

Si la requête du moteur de formule est exactement la même que la requête précédente, le cache précédemment renvoyé sera réutilisé. Le moteur de stockage est suffisamment intelligent pour renvoyer le même cache de données s'il reçoit la même requête. Cela accélère les performances du DAX puisque les données sont déjà mises en cache.

Lorsque vous exécutez une mesure, il est important de l'exécuter sur un cache à froid ; évitez toujours d'exécuter vos requêtes dans le cache chaud. Un cache chaud signifie que le cache de données du moteur de stockage est déjà formé et prêt à être renvoyé.

Quelles sont les fonctionnalités clés ?

Les caches de données sont des tables matérialisées en mémoire qui prennent du temps et consomment de la RAM. Gardez toujours à l'esprit que la matérialisation doit être aussi faible que possible.

Une autre caractéristique clé est que ces caches ne sont pas compressés . Une fois qu'il sort du moteur de stockage et est envoyé au moteur de formule, le cache de données devient une table complète non compressée en mémoire. Cette exécution est beaucoup plus lente qu'une demande de moteur de stockage homologue qui est entièrement en mémoire et compressée.

Il n'y a aucun problème avec l'utilisation du moteur de formule ; il vous suffit de faire en sorte que le moteur de stockage fasse le travail autant que possible.

Les caches de données sont également temporaires. Ils existent pendant un certain temps, puis ils disparaissent. Même s'ils sont matérialisés en mémoire, ils ne sont pas persistants et seront donc effacés.

Où trouver des caches de données ?

Vous pouvez trouver ces informations dans la colonne des enregistrements des plans de requête physique et dans les minutages du serveur de DAX Studio dans la colonne des lignes . Il vous montrera combien de lignes sont produites par le moteur de stockage et envoyées au moteur de formule.

Si vous exécutez certains tests dans les horaires du serveur, vous remarquerez que le nombre de lignes peut être légèrement décalé. Ceci est juste une indication du nombre de rangées que vous tirez.

La principale chose à garder à l'esprit avec les caches de données est que le nombre de lignes matérialisées doit être égal au nombre de lignes nécessaires pour la sortie la plus proche possible. S'il y a une grande différence dans le nombre de lignes, cela signifie que l'opération de commande est désactivée.

Si le nombre de lignes matérialisées est égal au nombre de lignes nécessaires pour la sortie, cela s'appelle Late Materialization . Cependant, si le nombre de lignes matérialisées est supérieur au nombre de lignes nécessaires, cela s'appelle Early Materialization . Comme il s'agit de données non compressées, vous ne devez pas laisser les deux moteurs les matérialiser car cela ralentirait les performances de DAX.

Voici un exemple de matérialisation précoce :

Caches de données dans un calcul DAX

Dans le plan de requête physique, vous pouvez voir 25 millions de lignes extraites dans la colonne des enregistrements. Cependant, l'exemple de requête n'a pas besoin de 25 millions de lignes de sortie. Cela signifie que la requête a extrait trop de lignes que nécessaire.

Si vous regardez les horaires du serveur, vous verrez le même nombre de lignes extraites dans la colonne des lignes.

Caches de données dans un calcul DAX

Dans les visuels SE CPU , vous verrez un nombre s'il y a des parallélismes dans vos requêtes. Comme cet exemple n'en a pas, il a montré 0.

Caches de données dans un calcul DAX


Qu'est-ce que DAX Studio dans LuckyTemplates Desktop
Tutoriel DAX : contexte et moteur de calcul
VertiPaq Analyzer dans DAX Studio | Tutoriel LuckyTemplates

Conclusion

Un DAX lent peut signifier que votre requête extrait des caches inutiles pour que vos moteurs fonctionnent. Les caches de données sont responsables de la vitesse et de la précision de votre DAX car les moteurs travaillent dessus pour générer des réponses à différentes requêtes. Pour des performances DAX plus rapides, vous pouvez résoudre ce problème en créant correctement votre modèle de données et vos mesures DAX.


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