Datenspeicherung
Die Schnittmenge eines Elements aus einer Essbase-Dimension mit einem Element aus jeder der anderen Dimensionen ist ein Datenwert. Wenn Sie die Datenbank auf unterschiedliche Weise unterteilen, erhalten Sie eine Übersicht über die Daten, die auf den Elementbeziehungen basieren. Um Daten zu speichern und darauf zuzugreifen, verwendet Essbase Blöcke und einen Index.
Hinweis:
Diese Informationen gelten nur für Block Storage-(BSO-)Cubes und nicht für Aggregate Storage-(ASO-)Cubes.
Jeder Datenwert in einer Essbase-Datenbank wird in einer Zelle gespeichert. Ein bestimmter Datenwert wird referenziert, indem seine Koordinaten in jeder Standarddimension angegeben werden.
Hinweis:
Essbase speichert keine Daten für Attribute-Dimensionen. Essbase berechnet Attributdimensionsdaten dynamisch, wenn ein Benutzer die Daten abruft.
Betrachten Sie die vereinfachte Datenbank, die in Abbildung 2-13 dargestellt ist. Diese Datenbank hat drei Dimensionen: Accounts, Time und Scenario:
-
Die Accounts-Dimension enthält vier Elemente: Umsatz, Herstellkosten des Umsatzes, Gewinnspanne und Gewinnspanne %.
-
Die Dimension "Zeit" enthält vier Quartalelemente, und Qtr1 hat drei Monatselemente
-
Die Scenario-Dimension verfügt über zwei untergeordnete Elemente: Budget für Budgetwerte und Ist für Istwerte.
Abbildung 2-13: Eine mehrdimensionale Datenbankstruktur

Datenwerte
Die Schnittmenge eines Elements aus einer Essbase-Dimension mit einem Element aus jeder der anderen Dimensionen stellt einen Datenwert dar. Ein Datenwert ist das kleinste Datensegment.
Das folgende Beispiel hat drei Dimensionen (Accounts, Time und Scenario). Daher können die Dimensionen und Datenwerte in der Datenbank als Cube dargestellt werden.
Abbildung 2-14: Dreidimensionale Datenbank

Wenn Sie "Umsatz" angeben, geben Sie den Abschnitt der Datenbank an, der acht Umsatzwerte enthält, wobei "Umsatz" sich mit "Ist" und "Budget" überschneidet.
Abbildung 2-15: Vertriebsbereich der Datenbank

Beim Unterteilen einer Datenbank werden eine oder mehrere Dimensionen mit einem konstanten Wert fixiert, während die anderen Dimensionen variieren können.
Wenn Sie den Istumsatz angeben, geben Sie den Bereich der Datenbank an, der vier Umsatzwerte enthält, wobei sich Ist- und Umsatzwerte überschneiden.
Abbildung 2-16: Tatsächlicher Vertriebsbereich der Datenbank

Ein Datenwert wird in einer Zelle in der Datenbank gespeichert. Um auf einen bestimmten Datenwert in einer mehrdimensionalen Datenbank zu verweisen, geben Sie dessen Element in jeder Dimension an. Beispiel: Der Bereich "Sales", "Jan, Actual" besteht aus einem Datenwert. Der Datenwert kann auch mit dem dimensionsübergreifenden Operator (->) als Umsatz -> Ist -> Jan ausgedrückt werden.
Abbildung 2-17 Umsatz->Jan->Istdatenwert

Datenblöcke und das Indexsystem
Essbase verwendet zwei Typen interner Strukturen zum Speichern und Zugreifen auf Daten: Datenblöcke und das Indexsystem.
Essbase erstellt einen Datenblock für jede eindeutige Kombination von dünn besetzten Standarddimensionselementen (vorausgesetzt, für die Kombination von dünn besetzten Dimensionselementen ist mindestens ein Datenwert vorhanden). Der Datenblock stellt alle dicht besetzten Dimensionselemente für seine Kombination aus dünn besetzen Dimensionselementen dar.
Essbase erstellt einen Indexeintrag für jeden Datenblock. Der Index stellt die Kombinationen von dünn besetzten Standarddimensionselementen dar. Sie enthält einen Eintrag für jede eindeutige Kombination von dünn besetzten Standarddimensionswerten, für die mindestens ein Datenwert vorhanden ist.
Beispiel: In der in Abbildung 2-18 gezeigten Datenbankmodellstruktur "Sample.Basic" sind "Product" und "Market" dünn besetzte Dimensionen.
Abbildung 2-18 Produkt- und Marktdimensionen aus der Sample.Basic-Datenbank

Wenn Daten für Caffeine Free Cola in New York vorhanden sind, erstellt Essbase einen Datenblock und einen Indexeintrag für die dünn besetzte Elementkombination von Caffeine Free Cola (100-30) -> New York. Wenn Coffeine Free Cola nicht in Florida verkauft wird, erstellt Essbase keinen Datenblock oder Indexeintrag für die Kombination aus Sparse-Elementen: Coffeine Free Cola (100-30) -> Florida.
Der Datenblock Coffeine Free Cola (100-30) -> New York stellt alle Year-, Measures- und Scenario-Dimensionen für Coffeine Free Cola (100-30) -> New York dar.
Jeder eindeutige Datenwert kann als in einer Zelle in einem Datenblock vorhanden angesehen werden. Wenn Essbase nach einem Datenwert sucht, verwendet es den Index, um den entsprechenden Datenblock zu suchen. Im Datenblock wird dann die Zelle mit dem Datenwert lokalisiert. Der Indexeintrag enthält einen Zeiger auf den Datenblock. Der Index verarbeitet Daten mit geringer Häufigkeit effizient, da er nur Zeiger auf vorhandene Datenblöcke enthält.
Abbildung 2-19 zeigt einen Teil eines Datenblocks für die Sample.Basic-Datenbank. Jede Dimension des Blocks stellt eine Dense-Dimension in der Sample.Basic-Datenbank dar: Zeit, Kennzahlen und Szenario. Für jede eindeutige Kombination von Elementen der Sparse-Dimensionen "Produkt" und "Markt" ist ein Datenblock vorhanden (vorausgesetzt, für die Kombination ist mindestens ein Datenwert vorhanden).
Abbildung 2-19 Teil eines Datenblocks für die Sample.Basic-Datenbank

Jeder Datenblock ist ein mehrdimensionales Array, das eine feste, geordnete Position für jede mögliche Kombination von dicht besetzten Dimensionselementen enthält. Beim Zugriff auf eine Zelle im Block sind keine sequenziellen oder Indexsuchen erforderlich. Die Suche erfolgt fast sofort, was zu einer optimalen Abruf- und Rechengeschwindigkeit führt.
Essbase ordnet die Zellen in einem Datenblock entsprechend der Reihenfolge der Elemente in den dicht besetzten Dimensionen der Datenbankmodellstruktur an.
A (Dense)
a1
a2
B (Dense)
b1
b11
b12
b2
b21
b22
C (Dense)
c1
c2
c3
D (Sparse)
d1
d2
d21
d22
E (Sparse)
e1
e2
e3Der Block in Abbildung 2-20 stellt die drei dicht besetzten Dimensionen aus der Kombination der dünn besetzten Elemente d22 und e3 aus der vorherigen Datenbankmodellstruktur dar. In Essbase werden Elementkombinationen durch den dimensionsübergreifenden Operator gekennzeichnet. Das Symbol für den cross-dimensionalen Operator ist ->, d22 -> e3 bezeichnet also den Block für d22 und e3. Die Schnittmenge von A, b21 und c3 wird als A -> b21 -> c3 geschrieben.
Abbildung 2-20 Datenblock mit dichten Dimensionen für d22 -> e3

Essbase erstellt einen Datenblock für jede eindeutige Kombination der Elemente der dünn besetzten Dimensionen D und E (vorausgesetzt, für die Kombination ist mindestens ein Datenwert vorhanden).
Datenblöcke, wie der in Abbildung 2-20, können Zellen enthalten, die keine Datenwerte enthalten. Ein Datenblock wird erstellt, wenn mindestens ein Datenwert im Block vorhanden ist. Essbase komprimiert Datenblöcke mit fehlenden Werten auf dem Datenträger und erweitert jeden Block vollständig, wenn er den Block in den Speicher bringt. Die Datenkomprimierung ist optional, aber standardmäßig aktiviert.
Durch die sorgfältige Auswahl dicht besetzter und dünn besetzter Standarddimensionen können Sie sicherstellen, dass Datenblöcke nicht viele leere Zellen enthalten, wodurch die Anforderungen an den Plattenspeicher minimiert und die Performance verbessert werden. In Essbase werden leere Zellen als #MISSING-Daten bezeichnet.
Bereiche: Mehrere Datenansichten
Eine Essbase-Datenbank unterstützt mehrere Ansichten von Datasets für Benutzer, die Beziehungen zwischen Datenkategorien analysieren müssen. Wenn Sie die Datenbank auf unterschiedliche Weise unterteilen, erhalten Sie unterschiedliche Perspektiven der Daten.
Beispiel: In Abbildung 2-21 untersucht der Bereich für Jan alle Datenwerte, für die die Year-Dimension mit Jan festgelegt ist.
Abbildung 2-21: Daten für Januar

Der Bereich in Abbildung 2-22 zeigt Daten für den Monat Februar:
Abbildung 2-22 Daten für Februar

Der Abschnitt in Abbildung 2-23 zeigt Daten für die Gewinnspanne:
Abbildung 2-23: Daten für Gewinnspanne
