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    30

Die 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     5

Um die Quelldaten zu optimieren, die den Import vieler Zellen pro Datensatz ermöglichen,

  1. Stellen Sie sicher, dass Datensätze durch eindeutige Elementkombinationen mit geringer Dimension gruppiert werden.

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

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