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.

Erstellen Sie optimierte Hybridmodus-Cubes mit diesen vier Utilitys unter "Cube optimieren":
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 vom Baselineutility verfolgten Metriken zeigen die Systemperformance an. Mit diesen Metriken können Sie die Baselineperformance bestimmen. Anschließend können Sie den Nutzen der vorgenommenen Optimierungen messen.

Bevor Sie dieses Utility verwenden, müssen Sie zunächst eine Anwendungsarbeitsmappe, einschließlich Modellstruktur, Konfigurationseinstellungen, Berechnungsskripten und Abfragen für den Cube, erstellen.

Das Utility erstellt bei seiner Ausführung den Cube, lädt die ausgewählten Datendateien und führt die ausgewählten Berechnungsskripte sowie die Abfragen in der Anwendungsarbeitsmappe aus. Es ist wichtig, eine repräsentative Auswahl von Abfragen der Benutzer zu verwenden.

Das Baselineutility 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

Schließen Sie diese Aufgaben ab, bevor Sie das Baselineutility ausführen:

  1. 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.

  2. Löschen Sie die Smart View-Metadaten aus den Abfrageblättern in der Anwendungsarbeitsmappe:
    1. Gehen Sie zum Smart View-Menüband.
    2. Wählen Sie Arbeitsblattinformationen aus, und klicken Sie auf Löschen.

    Wenn die Abfrageblätter Metadaten von einem anderen Server enthalten, zeigt Cube Designer eine Warnung an und unterbricht die Verarbeitung, bis Sie darauf reagieren.

  3. Ändern Sie das Arbeitsblatt Cube.Settings mit den folgenden Einstellungen für die Anwendungskonfiguration:
    Einstellung Wert
    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:

  1. Wählen Sie im Cube Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
  2. (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 vom aktuellen Smart View-Rasterkontext abhängig sind (z.B. Berechnungen, die mit der @GRIDTUPLES-Funktion definiert wurden, 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.
  3. Klicken Sie auf Baseline erstellen.

    Wenn die Anwendungsarbeitsmappe kein Datenblatt enthält, werden Sie aufgefordert, Daten- und Regeldateien im Katalog auszuwählen. 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.

  4. 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.
      Abbildung der ersten Tabelle im Arbeitsblatt "Essbase.Stats.Baseline", in der Datenbankmetriken angezeigt werden.

    • 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

      Abbildung der zweiten Tabelle im Arbeitsblatt "Essbase.Stats.Baseline", in der Dense- und Sparse-Dimensionen sowie die gesamten und die gespeicherten Elemente angezeigt werden.

    • Unter Laden und berechnen geben die einzelnen "Skript"-Zeilen an, welches Berechnungsskript am längsten dauert und daher eventuell optimiert werden muss.
      Abbildung der dritten Tabelle im Arbeitsblatt "Essbase.Stats.Baseline", in der Lade- und Berechnungszeiten, Blöcke, Daten und die erstellte Indexdateigröße angezeigt werden.

    • 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.


      Abbildung der vierten Tabelle im Arbeitsblatt "Essbase.Stats.Baseline", in der Abfragezeit, gelesene Blöcke und ausgeführte Formeln angezeigt werden.

    • In der letzten Tabelle im Arbeitsblatt werden die Exportzeit und die Dateigröße angezeigt.
      Abbildung der fünften Tabelle im Arbeitsblatt "Essbase.Stats.Baseline", in der Exportzeit und Dateigröße angezeigt werden.

Lösungsreihenfolge in einem Hybridmodus-Cube optimieren

Mit dem Utility für die Lösungsreihenfolge erhalten Sie eine visuelle Darstellung der in der Anwendung verwendeten Lösungsreihenfolge. Damit können Sie Probleme mit der Abfrageperformance im Zusammenhang mit Formeln diagnostizieren.

So führen Sie das Lösungsreihenfolgenutility unter "Cube optimieren" aus:

  1. Wählen Sie im Cube Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
  2. Klicken Sie auf Lösungsreihenfolge.
  3. 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 Lösungsreihenfolge im Hybridmodus.

Berechnungscache in einem Hybridmodus-Cube optimieren

Das Utility "Berechnungscache" empfiehlt die optimale Berechnungscacheeinstellung für den Cube.

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 20.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":
  1. 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.

  2. 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.

  3. Erstellen Sie den Cube, ohne Daten zu laden.

    Der Cube muss erstellt sein, damit das Utility "Berechnungscache" funktioniert.

  4. 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.

    1. Wählen Sie im Cube Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
    2. Klicken Sie auf Berechnungscache.
    3. 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.
      Abbildung des Arbeitsblatts "Essbase.Stats.CalcCache" in einer Anwendungsarbeitsmappe des Typs "Cube optimieren".

  5. Suchen Sie im Arbeitsblatt Essbase.Stats.CalcCache neben den Sparse-Dimensionen, die Sie in Schritt 1 berechnet und gespeichert haben, die Einstellung Berechnungscache.
  6. 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

Mit dem Datenverteilungsutility können Sie die Daten in einer Anwendung besser verstehen und so wichtige Entscheidungen zur Optimierung des Cubes treffen.

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). Führen Sie dann ein Berechnungsskript aus, das diese Dimension entweder mit CALC DIM oder mit AGG aggregiert.

  • Welche Dimensionen als Task-Dimension im FIXPARALLEL-Befehl verwendet werden sollten.

    Verwenden Sie zur Optimierung des Berechnungsskripts, mit dem die gespeicherten Sparse-Dimensionen aggregiert werden, den FIXPARALLEL-Befehl. 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:
  1. Wählen Sie im Cube Designer-Menüband Admin-Aufgaben > Cube optimieren aus.
  2. Wählen Sie Datenverteilung aus.

    Dieser Prozess kann viel Zeit in Anspruch nehmen, insbesondere bei größeren Modellen.

  3. Zeigen Sie das Arbeitsblatt Essbase.Stats.DataDist an.

Abbildung der Registerkarte "Essbase.Stats.DataDist" in einer Arbeitsmappe für "Cube optimieren", in der Datenverteilungsstatistiken angezeigt werden.


Abbildung der Registerkarte "Essbase.Stats.DataDist" in einer Arbeitsmappe für "Cube optimieren", in der Blöcke und Zellen pro Block angezeigt werden.