Optimierte Hybridmodus-Cubes erstellen
Mit den Utilitys unter "Cube optimieren" ("Baseline", "Berechnungscache", "Lösungsreihenfolge" und "Datenverteilung") können Sie Ihre Cubes optimieren, um bessere Performance zu erhalten.
| Utility | Zurückgegebene Daten |
|---|---|
| Baseline | Cube-Performancemetriken |
| Lösungsreihenfolge | Lösungsreihenfolge der Elemente im Cube |
| Berechnungscache | Daten, mit denen Sie den besten Berechnungscachewert für den Cube auswählen können |
| Datenverteilung | Daten, anhand derer Sie bestimmen können, welche Dimensionen dicht besetzt und welche dünn besetzt sein sollten |
Baselinemetriken in einem Hybridmodus-Cube optimieren
Die Metriken, die vom Baseline-Utility in Cube Designer verfolgt werden, zeigen die Performance der Essbase-Hybridmodusdatenbank. Mit diesen Metriken können Sie die Baselineperformance bestimmen. Anschließend können Sie den Nutzen der vorgenommenen Optimierungen messen.
Bevor Sie das Utility Baseline verwenden, erstellen Sie zunächst eine Anwendungsarbeitsmappe, einschließlich Modellstruktur, Konfigurationseinstellungen, Berechnungsskripten und Abfragen für den Cube, die Sie einschließen möchten.
Wenn Sie das Utility Baseline ausführen, wird der Cube erstellt, die ausgewählten Datendateien geladen, die ausgewählten Berechnungsskripte ausgeführt und die Abfragen in der Anwendungsarbeitsmappe ausgeführt. Es ist wichtig, eine repräsentative Auswahl von Abfragen der Benutzer zu verwenden.
Das Baseline-Utility erstellt ein Dashboard der Anwendungs- und Betriebsprozesse, mit dem Sie den Cube entwerfen und optimieren können. Während Sie Änderungen implementieren und den Cube erneut erstellen, können Sie anhand der Baseline Iterationen von Cube-Änderungen vergleichen. Auf der Registerkarte Essbase.Stats.Baseline der Anwendungsarbeitsmappe hängt das Baselineutility neue Tabellen mit den aktuellen Daten für jede Iteration an.
Baselineutility unter "Cube optimieren" in einem Hybridmodus-Cube vorbereiten
Führen Sie diese Aufgaben aus, bevor Sie das Baseline-Utility ausführen:
-
Entwerfen und erstellen Sie die Anwendungsarbeitsmappe.
Zum Erstellen einer Anwendungsarbeitsmappe können Sie eine Beispiel-Anwendungsarbeitsmappe herunterladen und diese dann Ihren Anforderungen anpassen. Siehe Galerievorlagen kennenlernen.
-
Löschen Sie die Smart View-Metadaten aus den Abfrageblättern in der Anwendungsarbeitsmappe:
- Gehen Sie zum Smart View-Menüband.
- Wählen Sie Arbeitsblattinformationen aus, und klicken Sie auf Löschen.
Wenn die Abfrageblätter Metadaten von einem anderen Server enthält, zeigt Cube Designer eine Warnung und unterbricht die Verarbeitung, bis Sie darauf reagieren.
-
Ändern Sie das Arbeitsblatt Cube.Settings mit den folgenden Einstellungen für Anwendungskonfiguration:
Einstellung Datum ASODYNAMICAGGINBSO FULL HYBRIDBSOINCALCSCRIPT NONE INDEXCACHESIZE 100M DATACACHESIZE 100M ASODEFAULTCACHESIZE 100 MAXFORMULACACHESIZE 102400 INPLACEDATAWRITEMARGINPERCENT 20 CALCCACHEDEFAULT 200000 LONGQUERYTIMETHRESHOLD -1
Baselineutility unter "Cube optimieren" in einem Hybridmodus-Cube ausführen
Das Baselineutility identifiziert Dense- und Sparse-Dimensionen, Datengröße (PAG- und IND-Dateigrößen), Blockgröße sowie die Größe von Daten, Index und Berechnungscache. Darüber hinaus erhalten Sie damit Metriken für den Dataload, die Berechnung und die Abfrage.
So führen Sie das Baselineutility aus:
-
Wählen Sie im Cube Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
-
(Optional) Klicken Sie auf Anpassen, um die auszuführenden Baselinevorgänge auszuwählen.
- Cube erstellen: Erstellen Sie den in der Anwendungsarbeitsmappe definierten Cube, und laden Sie die Daten in den Datenblättern.
- Berechnungsskripte ausführen: Führen Sie die in den einzelnen Berechnungsblättern in der Anwendungsarbeitsmappe definierten Berechnungsskripte aus.
Berechnungsskripte werden in der Reihenfolge ausgeführt, in der sie in der Anwendungsarbeitsmappe erscheinen. Bei "Cube optimieren" wird die Eigenschaft Berechnung ausführen in den Berechnungsblättern ignoriert.
"Cube optimieren" unterstützt nur Berechnungsskripte, die von "Jobs" ausgeführt werden können. Sie können keine Berechnungsskripte ausführen, die von dem aktuellen Smart View-Rasterkontext abhängig sind (z.B. Berechnungen, die mit der @GRIDTUPLES-Funktion definiert sind, oder solche, die mit <svLaunch>-Tags definierte Laufzeitsubstitutionsvariablen verwenden).
- Abfragen ausführen: Führen Sie die Abfragen auf den Abfrageblättern aus.
- Alle exportieren: Exportieren Sie alle Daten aus dem Cube in das Cube-Verzeichnis. Nach der Aufzeichnung der Exportzeit und Dateigröße wird die Exportdatei automatisch gelöscht.
-
Klicken Sie auf Baseline erstellen.
Wenn die Anwendungsarbeitsmappe kein Datenblatt enthalten, werden Sie aufgefordert, Daten auszuwählen und Regeldatei im Katalog zu laden. Sie sollten die Daten- und Regeldateien in einem freigegebenen Verzeichnis im Katalog speichern, damit die Dateien nicht verloren gehen, wenn Sie den Cube erneut erstellen.
Die Erstellung des Cubes nimmt etwas Zeit in Anspruch.
Essbase generiert das Arbeitsblatt Essbase.Stats.Baseline und fügt es der Arbeitsmappe hinzu.
-
Zeigen Sie das Arbeitsblatt Essbase.Stats.Baseline in der Anwendungsarbeitsmappe an.
- Die erste Tabelle im Arbeitsblatt zeigt die Größe der Dataload-Dateien, die Anzahl der Dataload-Zellen, die Blockgröße sowie die Cachegrößen an.

- Die Farben in der Baselinetabelle geben den Speichertyp für jede Dimension an:
- Grün: Dense-Dimension
- Rot: Sparse-Dimension mit mindestens einer dynamischen Formel
- Blau: Sparse-Dimension mit Aggregationen und ohne alle dynamischen übergeordneten Elemente und Formeln
- Gold: Sonstige Sparse-Dimension

- Unter Laden und berechnen geben die Zeilen "Skript:" an, welches Berechnungsskript am längsten dauert und daher eventuell optimiert sein muss.

- Unter Abfrage, Gelesene Blöcke wird die Menge der von der Abfrage angeforderten Daten angezeigt.
Wenn Sie eine dynamische Dimension in eine gespeicherte Dimension ändern, wird diese Menge reduziert.
- Unter Abfrage, Formeln, wird die Anzahl der in der Abfrage ausgeführten Formeln angezeigt.
Prüfen Sie die Lösungsreihenfolgen von berechneten Elementen, und nehmen Sie Änderungen vor, um die Anzahl der Formelausführungen zu reduzieren und die Performance zu verbessern. Sie können auch ein berechnetes Element mit Formeln speichern, um die Anzahl der Formelausführungen zu reduzieren und die Performance zu verbessern.

- In der letzten Tabelle im Arbeitsblatt werden die Exportzeit und die Dateigröße angezeigt.

- Die erste Tabelle im Arbeitsblatt zeigt die Größe der Dataload-Dateien, die Anzahl der Dataload-Zellen, die Blockgröße sowie die Cachegrößen an.
Lösungsreihenfolge in einem Hybridmodus-Cube optimieren
Mit dem Utility "Lösungsreihenfolge" in Cube Designer erhalten Sie eine visuelle Darstellung des Lösungsauftragsablaufs, der in einer Essbase-Anwendung verwendet wird. Mit diesem Utility können Sie Probleme bei der Abfrageperformance im Zusammenhang mit Formeln diagnostizieren.
So führen Sie das Lösungsreihenfolgenutility unter "Cube optimieren" aus:
- Wählen Sie im Cube-Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
- Klicken Sie auf Lösungsreihenfolge.
- Zeigen Sie das Arbeitsblatt Essbase.Stats.SolveOrder der Anwendungsarbeitsmappe an.
Passen Sie die Lösungsreihenfolge anhand der Informationen im Arbeitsblatt Essbase.Stats.SolveOrder an, um die Abfrageperformance zu optimieren. Siehe Cube für Hybridmodus optimieren und Reihenfolge im Hybridmodus optimieren.
Berechnungscache in einem Hybridmodus-Cube optimieren
Das Utility "Calk Cache" in Cube Designer empfiehlt die optimale Einstellung für den Rechnercache für einen Essbase-Hybridmodus, Block Storage Cube.
Der Rechnercache gilt für Blockspeicher- und Hybridmodus-Cubes, jedoch nicht für ASO-Cubes. Mit der richtigen Berechnungscacheeinstellung können Sie die Performance beim Berechnen ganzer Sparse-Dimensionen in einem Berechnungsskript wesentlich verbessern. Durch Berechnen einer ganzen Sparse-Dimension lässt sich die Anzahl der für eine Abfrage erforderlichen Blöcke reduzieren.
Der Standardwert für den Berechnungscache beträgt 200.000 Byte. Der Höchstwert beträgt 200.000.000 Byte.
Der Berechnungscache sollte gerade groß genug für die Sparse-Dimensionen sein, die im Berechnungsskript berechnet werden. Wenn Sie den Berechnungscache größer als erforderlich machen, wird die Performance dadurch verschlechtert.
So optimieren Sie den Berechnungscache mit dem Utility "Berechnungscache":
-
Um die von der Abfrage angeforderte Datenmenge zu reduzieren, berechnen und speichern Sie mindestens eine Dimension mit einem Berechnungsskript.
Die beste Wahl ist in der Regel die größte Dimension.
-
Verschieben Sie diese Dimension so, dass sie die erste Sparse-Dimension in der Modellstruktur ist.
Der Berechnungscachealgorithmus wählt die Sparse-Dimensionen aus, die im Cache abgelegt werden, beginnend mit der ersten Sparse-Dimension.
-
Erstellen Sie den Cube, ohne Daten zu laden.
Der Cube muss erstellt sein, damit das Utility "Berechnungscache" funktioniert.
-
Führen Sie das Utility "Berechnungscache" aus.
Das Utility zeigt die richtige Cacheeinstellung neben jeder Dimension bis zu 20 MB an. Bei mehr als 20 MB wird "N/V" angezeigt. Einstellungen über einigen MB sind im Allgemeinen nicht erforderlich.
- Wählen Sie im Cube-Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
- Klicken Sie auf Berechnungscache.
- Zeigen Sie das Arbeitsblatt Essbase.Stats.CalcCache der Anwendungsarbeitsmappe an. Sie können die empfohlenen Berechnungscacheeinstellungen im Arbeitsblatt Essbase.Stats.CalcCache in der Spalte Berechnungscache anzeigen.

-
Suchen Sie im Arbeitsblatt Essbase.Stats.CalcCache neben den Sparse-Dimension(en), die Sie in Schritt 1 berechnet und gespeichert hatten, die Einstellung Calc Cache.
-
Wenn Sie eine Dimension in Schritt 1 berechnet haben, setzen Sie den Berechnungscachestandard auf diesen Wert. Wenn Sie mehrere Dimensionen in Schritt 1 berechnet haben, wählen Sie den höchsten Wert der berechneten Werte für den Berechnungscache aus.
Fügen Sie diesen Wert dem Abschnitt "Anwendungseinstellungen" im Arbeitsblatt Cube.Settings hinzu. Alternativ dazu können Sie den Wert in den Anwendungskonfigurationseinstellungen in der Essbase-Weboberfläche festlegen. Dabei sollten Sie den Wert am besten aufrunden.
Datenverteilung in einem Hybridmodus-Cube optimieren
Das Datenverteilungsutility in Cube Designer hilft Ihnen, die Daten in einer Essbase-Anwendung besser zu verstehen, sodass Sie wichtige Entscheidungen zur Optimierung Ihres Cubes treffen können.
Mit einem guten Datenverständnis können Sie Folgendes bestimmen:
- Welche Dimensionen dicht besetzt und welche dünn besetzt sein sollten.
Dense-Dimensionen definieren die Blöcke in einer Block Storage-Anwendung. Im Idealfall sollte ein Block Dimensionen mit den meisten Daten enthalten und das vorherrschende Abfragelayout für diese Anwendung darstellen. Bei Finanzberichtsanwendungen bedeutet das in der Regel, dass die Time- und die Account-Dimension dicht besetzt sein sollten.
- Welche Dimensionen mit einem Berechnungsskript berechnet und gespeichert werden sollten.
Einer der Faktoren, die sich auf die Abfrageperformance auswirken, ist die Anzahl der von der Abfrage angeforderten Blöcke. Wenn zu viele Blöcke angefordert werden, verringert sich die Abfrageperformance. Um die Anzahl der angeforderten Blöcke zu reduzieren, berechnen Sie Elemente der oberen Ebene von mindestens einer Sparse-Dimension im Voraus. Setzen Sie zunächst das Dimensionsspeicherattribut der oberen Elemente auf ein gespeichertes Attribut (Speichern oder Nie gemeinsam verwenden), und führen Sie dann ein Kalkulationsskript aus, das die Dimension entweder mit CALC DIM oder AGG aggregiert.
- Welche Dimensionen als Task-Dimension im FIXPARALLEL-Befehl verwendet werden sollten.
Verwenden Sie zur Optimierung des Berechnungsskripts, das zum Aggregieren der gespeicherten Sparse-Dimensionen verwendet wird, den Befehl FIXPARALLEL. Es ist wichtig, die richtigen Task-Dimensionen auszuwählen. Eine Task-Dimension bestimmt, wie die Berechnung in Threads aufgeteilt und parallel ausgeführt wird. Mindestens eine Sparse-Dimension muss die meisten Daten enthalten, um leere Aufgaben zu reduzieren. Im Idealfall sind diese Daten gleichmäßig verteilt.
So führen Sie das Datenverteilungsutility aus:
-
Wählen Sie im Cube-Designer Admin-Aufgaben > Cube optimieren aus.
-
Wählen Sie Datenverteilung aus.
Dieser Prozess kann viel Zeit in Anspruch nehmen, insbesondere bei größeren Modellen.
-
Zeigen Sie das Arbeitsblatt Essbase.Stats.DataDist an.

