Design für Berechnungsperformance
Um die Berechnungsperformance für einen Essbase-Block Storage-Cube zu optimieren, berücksichtigen Sie die Auswirkungen der Datenblockgröße und -dichte, die Effizienz von Formeln und Berechnungsskripten sowie Möglichkeiten zur Optimierung von Gliederungsmerkmalen (wie die Reihenfolge dünn besetzter Dimensionen, die Verwendung von Ebenen und die Zeitdimension).
Sie können eine Datenbank konfigurieren, um die Berechnungsperformance zu optimieren.
Die beste Konfiguration für den Standort hängt von der Art und Größe der Datenbank ab. Verwenden Sie die Informationen in den folgenden Themen nur als Richtlinien.
Blockgröße und Blockdichte
Damit Essbase-Block Storage-Cubes eine optimale Berechnungsperformance haben, erfahren Sie, wie sich die Datenblockgröße und die Blockdichte auf Performance und Speicher auswirken können. Prüfen Sie die Blockstatistiken mit der Essbase-Weboberfläche oder MaxL.
Eine Datenblockgröße von 8 Kb bis 100 Kb bietet in den meisten Fällen eine optimale Leistung.
Wenn Datenblöcke viel kleiner als 8 KB sind, ist der Index in der Regel sehr groß, sodass Essbase gezwungen ist, auf den Index zu schreiben und ihn von der Festplatte abzurufen. Dieser Prozess verlangsamt die Berechnung.
Wenn Datenblöcke viel größer als 100 KB sind, funktioniert die intelligente Berechnung nicht effektiv. Weitere Informationen finden Sie unter Intelligente Berechnung für Block Storage-Cubes.
Um die Berechnungsperformance und der Datenspeicher zu optimieren, müssen Sie möglicherweise die Datenblockdichte und Datenblockgröße ausgleichen, indem Sie die Konfiguration der dicht besetzten und dünn besetzten Dimension in der Datenbank neu ordnen. Beachten Sie diese Vorschläge:
-
Behalten Sie die Datenblockgröße zwischen 8 KB und 100 KB bei, wobei die Blockdichte möglichst hoch ist.
-
Führen Sie Testberechnungen der vielversprechendsten Konfigurationen eines Cubes aus, der repräsentative Daten enthält. Prüfen Sie die Ergebnisse, um die Konfiguration zu bestimmen, mit der die beste Berechnungsperformance erzielt wird.
-
Sie sollten den Hybridmodus verwenden. In einem Hybridmodus-Cube können Sie die Lösungsreihenfolge einfach anpassen, anstatt die Dimensionsreihenfolge neu anzuordnen.
Mit der Essbase-Weboberfläche oder MaxL können Sie Informationen zu einem Cube anzeigen, einschließlich der potenziellen und tatsächlichen Anzahl von Datenblöcken und der Datenblockgröße.

Die entsprechende Anweisung zum Anzeigen von Blockstatistiken mit MaxL lautet:
query database appname.dbname get dbstats data_block;Reihenfolge der dünn besetzten Dimensionen
In Essbase-Block Storage-Cubes kann die Berechnungsperformance verbessert werden, indem kleinere Sparse-Dimensionen zuerst in der Modellstrukturreihenfolge platziert werden.
Alternativ können Sie den Hybridmodus verwenden. In einem Hybridmodus-Cube können Sie die Lösungsreihenfolge einfach anpassen, anstatt die Dimensionsreihenfolge neu anzuordnen.
Sie können die Berechnungsperformance verbessern, indem Sie die Reihenfolge von Standarddimensionen (ohne Attributdimensionen) in der Gliederung ändern. Sortieren Sie Standarddimensionen mit geringer Häufigkeit nach der Anzahl der enthaltenen Elemente. Platzieren Sie zuerst die Dimension mit den wenigsten Elementen. Diese Anordnung kann sich verbessern:
-
Die Funktion des Rechnercaches kann eine Performanceverbesserung von ~10% für eine Outline mit einer großen Dimension aufweisen (z.B. eine mit 1000 Elementen).
-
Wenn diese Option aktiviert ist, wird eine parallele Berechnung eher verwendet, wenn die Standarddimension mit den meisten Elementen die letzte Standarddimension mit geringer Häufigkeit im Outline ist.
Inkrementell geladene Cubes
Bei Essbase-Block Storage-Cubes, die inkrementell (periodisch) mit Daten geladen werden, kann die Berechnungsperformance verbessert werden, indem die Time-Dimension in der Gliederung dünn besetzt wird.
Viele Unternehmen laden Daten inkrementell. Beispiel: Ein Unternehmen kann Daten jeden Monat für diesen Monat laden.
Um die Berechnungsperformance beim inkrementellen Laden von Daten zu optimieren, machen Sie die als Zeit getaggte Dimension zu einer Sparse-Dimension. Wenn die Zeitdimension dünn besetzt ist, enthält die Datenbank für jeden Zeitraum einen Datenblock. Wenn Sie Daten nach Zeitraum laden, greift Essbase auf weniger Datenblöcke zu, da weniger Blöcke den relevanten Zeitraum enthalten. Wenn Sie also die Option Intelligente Berechnung aktiviert haben, werden nur die als "Dirty" markierten Datenblöcke neu berechnet. Beispiel: Wenn Sie Daten für März laden, werden nur die Datenblöcke für März und die abhängigen übergeordneten Elemente für März aktualisiert.
Wenn die Zeitdimension jedoch dünn ist, wenn sie natürlich dicht ist, kann dies die Größe des Index erheblich erhöhen, was zu einer möglicherweise langsameren Performance führt, da mehr physische I/O-Aktivitäten den großen Index aufnehmen.
Wenn die als Zeit getaggte Dimension dicht besetzt ist, profitieren Sie dennoch von der intelligenten Berechnung, wenn Sie einen partiellen Dataload für eine dünn besetzte Dimension ausführen. Beispiel: Wenn "Produkt" dünn besetzt ist und Sie Daten für ein Produkt laden, berechnet Essbase nur die vom Teilladen betroffenen Blöcke neu, obwohl die Zeit dicht besetzt ist und Intelligente Berechnung aktiviert ist.
Umrisse mit mehreren flachen Dimensionen
Bei Essbase-Block Storage-Cubes, die Tausende von Elementen in flachen Dimensionen enthalten, kann die Berechnungsperformance verbessert werden, indem Ebenen in der Modellstruktur hinzugefügt werden.
Die Berechnungsperformance kann beeinträchtigt werden, wenn eine Cube-Modellstruktur mehrere flache Dimensionen aufweist. Eine flache Dimension hat nur sehr wenige Eltern, und jedes Elternteil hat viele Tausende von Kindern; mit anderen Worten, flache Dimensionen haben viele Elemente und wenige Ebenen.
Sie können die Performance für Gliederungen mit mehreren flachen Dimensionen verbessern, indem Sie der Gliederung Zwischenebenen hinzufügen.
Formeln und Berechnungsskripte
Um Berechnungsskripte und Formeln für Blockspeicher-Cubes zu optimieren, führen Sie Schritte aus, um die Anzahl der Zyklen zu reduzieren, die Essbase durch Datenblöcke durchführt.
Sie können die Berechnungsperformance erheblich verbessern, indem Sie Formeln und Dimensionen sorgfältig in einem Berechnungsskript gruppieren. Auf diese Weise können Sie sicherstellen, dass Essbase die Datenblöcke im Cube so selten wie möglich während einer Berechnung durchläuft.
Ordnen Sie Befehle in Berechnungsskripten an, um die Datenbankberechnung so einfach wie möglich zu gestalten. Sie sollten alle Formeln auf das Outline anwenden und eine Standardberechnung (CALC ALL) verwenden.
Siehe Berechnungsskripte für Block Storage-Cubes entwickeln und Berechnungspässe.