Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Technische Informationen zur SAP NetWeaver BI Accelerator Engine   Dokument im Navigationsbaum lokalisieren

Verarbeitung der Daten

Die Daten liegen nach dem Anlegen eines SAP NetWeaver BI Accelerator Index zunächst auf dem Datei-Server des BI Accelerator Servers. Beim ersten Ausführen einer Query bzw. durch das Starten eines speziellen Vorladeprogramms werden sie in den Hauptspeicher geladen. Die Daten bleiben im Hauptspeicher verfügbar, bis sie entweder verdrängt werden oder durch das Starten eines speziellen Löschprogramms aus dem Hauptspeicher entfernt werden. Ein gezieltes Löschen kann z.B. dann nötig sein, wenn auf dem BI Accelerator Server nicht genug Hauptspeicher für alle BI Accelerator Indizes vorhanden ist, zu speziellen Zeiten aber die Daten bestimmter InfoCubes auf jeden Fall vorgeladen sein sollen, andere dagegen (zu dieser Zeit) nicht benötigt werden.

Die Tabellendaten werden spaltenweise im Hauptspeicher abgelegt. Diese vertikale Zerlegung von Datentabellen ist effizienter als die zeilenbasierte Speicherung in herkömmlichen relationalen Datenbanksystemen. Bei einer herkömmlichen Datenbank müssen alle Daten in der Tabelle durchsucht werden, wenn kein vordefiniertes Aggregat für die Beantwortung einer Query vorhanden ist. Die BI Accelerator Engine greift dagegen gezielt nur auf die relevanten Datenspalten zu. Sie sortiert die Spalten einzeln und stellt dann die wesentlichen Einträge an den Anfang. Das verbessert die Performance wesentlich, da die Datenflüsse kleiner sind, und es reduziert die Ein- und Ausgabelast sowie den Hauptspeicherverbrauch erkennbar.

Komprimierung der Daten

Die Daten liegen auf dem BI Accelerator Server in einer lese-optimierten Form vor. Die BI Accelerator Engine nutzt eine Dictionary-basierte Komprimierung. Dabei werden ganze Zahlen verwendet, um einen Text oder Werte in Tabellenzellen darzustellen. Die Verwendung ganzer Zahlen ermöglicht eine leistungsfähige numerische Kodierung und intelligente Caching-Strategien.

Beispiel

Wenn eine Spalte z.B. tausend Zeilen und einige der Zellen lange Texte enthalten, ist es wesentlich effizienter, die Texte zur Verarbeitung mit Zehn-Bit-Binärzahlen zu kennzeichnen und danach über ein Dictionary wieder aufzurufen. Dadurch lassen sich die Datenmengen, die bei verschiedenen Verarbeitungsschritten übertragen und zwischengespeichert werden müssen, durchschnittlich um Faktor zehn reduzieren.

Dies wiederum ermöglicht, die gesamte Query-Verarbeitung im Hauptspeicher durchzuführen, und reduziert den Netzwerkverkehr in verteilten Landschaften.

Geteilte (gesplittete) Indices

Die BI Accelerator Engine ist in der Lage, riesige Datenmengen zu verarbeiten, ohne die Grenzen der installierten Speicherarchitekturen zu überschreiten. Große Tabellen (Faktentabellen, aber auch große X- und Y-Tabellen) können horizontal aufgeteilt, auf mehreren Servern gespeichert und dadurch schnell und parallel verarbeitet werden. Ab welcher Größe diese Verteilung vorgenommen wird, hängt von der vorhandenen Hardware des BI Accelerator Servers ab. Die Daten werden dann in einem Round-Robin-Verfahren auf die Teilindizes verteilt. Schreibe-, Optimier- und Lese-Zugriffe werden auf dem BI Accelerator Server parallelisiert.

Diese Skalierbarkeit ermöglicht es den Anwendern, hoch entwickelte Adaptive-Computing-Infrastrukturen wie zum Beispiel Blade-Server und Grid Computing zu nutzen.

Indextypen

Es gibt folgende Indextypen:

      Normal: Im Standardfall legt das System auf dem BI Accelerator Server die BI Accelerator Indizes für sämtliche Tabellen des InfoCube-Sternschemas an.

      Flach: Im Ausnahmefall, wenn das InfoCube-Sternschema degeneriert ist, weil z.B. eine (oder mehrere) Dimensionstabellen sehr groß werden (> 20% des InfoCubes), legt das System die Dimensionstabellen nicht an, sondern de-normalisiert die entsprechenden Teile des InfoCube-Sternschemas (Fakten- und Dimensionstabellen) wieder.

 

Ende des Inhaltsbereichs