Gruppenkombinationen für dünn besetzte Elemente
Um die Performance von Essbase Block Storage-(BSO-)Daten zu verbessern, können Sie die Daten so strukturieren, dass die erforderliche Datenträger-I/O (Lese- und Schreibvorgänge) minimiert wird.
Dieser Abschnitt gilt nicht für Aggregate Storage-Cubes.
Die effektivste Strategie zur Verbesserung der Performance besteht darin, die Anzahl der Datenträger-I/Os zu minimieren, die Essbase beim Lesen oder Schreiben in den Cube ausführen muss. Da Essbase Datenblöcke nach Block lädt, reduziert die Organisation der Quelldaten, die der physischen Blockorganisation entsprechen, die Anzahl der physischen Datenträger-I/Os, die Essbase ausführen muss.
Ordnen Sie die Quelldaten so an, dass Datensätze mit derselben eindeutigen Kombination aus Sparse-Dimensionen gruppiert werden. Diese Anordnung entspricht Blöcken in der Datenbank.
Die Beispiele in diesem Kapitel veranschaulichen, wie Sie die Daten nach dieser Strategie organisieren können. In diesen Beispielen wird eine Teilmenge des Cube Sample.Basic verwendet, wie unten beschrieben:
Tabelle 33-1: Dimensionen und Werte für Beispiele
| Sparse-Dimensionen ohne Attribute | Dense-Dimensionen |
|---|---|
|
Szenario (Budget, Ist) |
Kennzahlen (Umsatz, Gewinnspanne, COG, Gewinn) |
|
Produkt (Cola, Wurzelbier) |
Jahr (Jan, Feb) |
|
Markt (Florida, Ohio) |
Hinweis:
Da Sie keine Daten in Attribute-Dimensionen laden, sind diese für diese Diskussion nicht relevant, obwohl sie dünn besetzt sind.
Betrachten Sie die folgende Datenquelle. Da sie nicht nach Elementkombinationen mit Sparse-Dimension gruppiert ist, wurden diese Daten nicht optimal sortiert. Da Essbase jeden Datensatz liest, muss es sich um verschiedene Elemente der Sparse-Dimensionen handeln.
Jan
Actual Cola Ohio Sales 25
Budget "Root Beer" Florida Sales 28
Actual "Root Beer" Ohio Sales 18
Budget Cola Florida Sales 30Die obige Datenquelle wird langsam geladen, da Essbase auf vier Blöcke statt auf einen zugreift.
Die folgende, optimal organisierte Datenquelle für denselben Sample Basic-Cube enthält Datensätze, die nach einer eindeutigen Kombination von Elementen der Sparse-Dimension sortiert sind: Ist -> Cola -> Ohio. Essbase greift nur auf einen Block zu, um diese Datensätze zu laden:
Actual Cola Ohio Jan Sales 25
Actual Cola Ohio Jan Margin 18
Actual Cola Ohio Jan COGS 20
Actual Cola Ohio Jan Profit 5Um die Quelldaten zu optimieren, die den Import vieler Zellen pro Datensatz ermöglichen,
-
Stellen Sie sicher, dass Datensätze durch eindeutige Elementkombinationen mit geringer Dimension gruppiert werden.
-
Ordnen Sie die Datensätze so an, dass die Dimension im Datensatz, für den Sie mehrere Werte angeben, eine dicht besetzte Dimension ist.
Im nächsten Beispiel wird ein Headerdatensatz verwendet, um die Elemente der Measures-Dimension zu identifizieren, die dicht besetzt ist. Die Daten werden zuerst nach Elementen der dicht besetzten Dimension Year sortiert und dann hierarchisch nach Elementen der anderen Dimensionen gruppiert. Für jeden Datensatz werden mehrere Werte für die Measures-Dimension angegeben.
Sales Margin COG Profit
Jan Actual Cola Ohio 25 18 20 5
Jan Actual Cola Florida 30 19 20 10
Jan Actual "Root Beer" Ohio 18 12 10 8
Jan Actual "Root Beer" Florida 28 18 20 8Beachten Sie, dass die Überschrift und die erste Datenzeile, für die in diesem Beispiel zwei Zeilen erforderlich sind. Im vorherigen Beispiel sind vier Zeilen für dieselben Daten erforderlich.