Datencaches in einer DAX-Berechnung

Datencaches in einer DAX-Berechnung

In diesem Tutorial erfahren Sie, was Datencaches in einer DAX-Berechnung bewirken. Sie werden verstehen, wie sie mit den Formel- und Speicher-Engines zusammenarbeiten, um Antworten auf Ihre Fragen zu liefern.

Inhaltsverzeichnis

Was sind Datencaches?

Die Speicher-Engine interagiert mit der Formel-Engine in Form eines Datencaches.

Wenn Sie sich an die vorherigen Blogbeiträge zur DAX-Abfragestruktur erinnern, wissen Sie, dass die Formel-Engine Daten von der Speicher-Engine anfordert. Letzterer geht dann zur Datenbank, ruft verschiedene Datentypen ab und gibt sie dann in Form eines Datencaches an die Formel-Engine zurück.

Die Speicher-Engine kann einfache Berechnungen und Aggregationen durchführen, was sie schneller macht. Es bietet außerdem Parallelität, die mehrere Datencaches gleichzeitig füllen kann. Es kann einige Zeit dauern, bis eine Anfrage einer Speicher-Engine eine Antwort generiert. Wenn Sie jedoch alle verschiedenen Speicher-Engine-Abfragen addieren, sind die Ergebnisse nicht gleich, da mehr als ein Datencache gefüllt wird.

Die Formel-Engine hingegen arbeitet bei komplexen Abfragen. Da es sich um eine Single-Threaded-Engine handelt, kann sie nur einen endgültigen konsolidierten Datencache verwenden. Es beginnt mit der Arbeit am Datencache, sobald alle Anforderungen von der Speicher-Engine erfüllt sind.

Wenn die Anfrage der Formel-Engine genau mit der vorherigen Anfrage übereinstimmt, wird der zuvor zurückgegebene Cache erneut verwendet. Die Speicher-Engine ist intelligent genug, um denselben Datencache zurückzugeben, wenn sie dieselbe Anforderung erhält. Dadurch wird die Leistung des DAX beschleunigt, da die Daten bereits zwischengespeichert sind.

Wenn Sie eine Messung ausführen, ist es wichtig, sie gegen einen Cold-Cache auszuführen. Vermeiden Sie es immer, Ihre Abfragen im Warm-Cache auszuführen. Ein warmer Cache bedeutet, dass der Datencache der Speicher-Engine bereits gebildet und zur Rückgabe bereit ist.

Was sind die Hauptmerkmale?

Datencaches sind im Speicher materialisierte Tabellen, die Zeit und RAM verbrauchen. Bedenken Sie immer, dass die Materialisierung so gering wie möglich sein sollte.

Ein weiteres wichtiges Merkmal ist, dass diese Caches unkomprimiert sind . Sobald die Daten die Speicher-Engine verlassen und an die Formel-Engine gesendet werden, wird der Datencache zu einer unkomprimierten vollständigen Tabelle im Speicher. Diese Ausführung ist viel langsamer als eine Peer-Storage-Engine-Anfrage, die sich vollständig im Speicher befindet und komprimiert ist.

Es gibt kein Problem mit der Formel-Engine; Sie müssen nur die Speicher-Engine dazu bringen, die Arbeit so weit wie möglich zu erledigen.

Datencaches sind ebenfalls temporär. Sie existieren eine Weile und dann sind sie weg. Auch wenn sie im Gedächtnis materialisiert sind, sind sie nicht dauerhaft und werden daher gelöscht.

Wo finde ich Daten-Caches?

Sie finden diese Informationen in der Spalte „Datensätze“ der physischen Abfragepläne und in den Server-Timings von DAX Studio in der Spalte „Zeilen“ . Es zeigt Ihnen, wie viele Zeilen von der Speicher-Engine erstellt und an die Formel-Engine gesendet werden.

Wenn Sie bestimmte Tests der Server-Timings durchführen, werden Sie feststellen, dass die Zeilenanzahl möglicherweise etwas abweicht. Dies ist nur ein Richtwert dafür, wie viele Zeilen Sie hochziehen.

Bei Daten-Caches ist vor allem zu beachten, dass die Anzahl der materialisierten Zeilen möglichst genau der Anzahl der für die Ausgabe benötigten Zeilen entsprechen sollte. Wenn es einen großen Unterschied in der Anzahl der Zeilen gibt, bedeutet dies, dass der Bestellvorgang deaktiviert ist.

Wenn die Anzahl der materialisierten Zeilen gleich der Anzahl der für die Ausgabe benötigten Zeilen ist, spricht man von später Materialisierung . Wenn jedoch die Anzahl der materialisierten Zeilen größer ist als die Anzahl der benötigten Zeilen, spricht man von einer frühen Materialisierung . Da es sich um unkomprimierte Daten handelt, sollten Sie nicht zulassen, dass beide Engines sie materialisieren, da dies die Leistung von DAX verlangsamt.

Dies ist ein Beispiel für eine frühe Materialisierung:

Datencaches in einer DAX-Berechnung

Im physischen Abfrageplan können Sie sehen, dass 25 Millionen Zeilen in der Datensatzspalte abgerufen werden. Die Beispielabfrage benötigt jedoch keine 25 Millionen Ausgabezeilen. Das bedeutet, dass die Abfrage zu viele Zeilen als nötig abgerufen hat.

Wenn Sie sich die Server-Timings ansehen, werden Sie feststellen, dass in der Zeilenspalte die gleiche Anzahl an Zeilen abgerufen wird.

Datencaches in einer DAX-Berechnung

In den SE-CPU- Visualisierungen sehen Sie eine Zahl, wenn Ihre Abfragen Parallelen aufweisen. Da dieses Beispiel keine hat, wurde 0 angezeigt.

Datencaches in einer DAX-Berechnung


Was ist DAX Studio in LuckyTemplates Desktop?
DAX-Tutorial: Kontext und die Berechnungs-Engine
VertiPaq Analyzer in DAX Studio | LuckyTemplates-Tutorial

Abschluss

Ein DAX mit langsamer Leistung kann bedeuten, dass Ihre Abfrage unnötige Caches abruft, damit Ihre Engines funktionieren. Datencaches sind für die Geschwindigkeit und Genauigkeit Ihres DAX verantwortlich, da die Engines auf ihnen arbeiten, um Antworten für verschiedene Anfragen zu generieren. Für eine schnellere DAX-Leistung können Sie dieses Problem lösen, indem Sie Ihr Datenmodell und Ihre DAX-Kennzahlen richtig aufbauen.


So speichern und laden Sie eine RDS-Datei in R

So speichern und laden Sie eine RDS-Datei in R

Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

Was ist Self in Python: Beispiele aus der Praxis

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

First N Business Days Revisited – Eine DAX-Codierungssprachenlösung

In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

Präsentieren Sie Einblicke mithilfe der Multi-Threaded-Dynamic-Visuals-Technik in LuckyTemplates

In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.

Einführung in den Filterkontext in LuckyTemplates

Einführung in den Filterkontext in LuckyTemplates

In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Beste Tipps zur Verwendung der Apps im LuckyTemplates-Onlinedienst

Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Analysieren Sie Gewinnmargenänderungen im Laufe der Zeit – Analysen mit LuckyTemplates und DAX

Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.

Materialisierungsideen für Datencaches in DAX Studio

Materialisierungsideen für Datencaches in DAX Studio

In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.

Geschäftsberichte mit LuckyTemplates

Geschäftsberichte mit LuckyTemplates

Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst

Was ist LuckyTemplates Gateway? Alles was du wissen musst