Überspringen zu Hauptinhalt

SAP HANA (Teil 1)

Die SAP erfindet sich neu!

Real-Time-Reporting, Bedienung vom mobilen Endgerät und schnelleres transaktionales Verhalten – all das verspricht sich die SAP, mit ihrer neuen, eigens entwickelten Datenbank HANA (High Performance Analytic Appliance) realisieren zu können. Die Vorteile der neuen hauseigenen Technologie liegen auf der Hand. Sie sind bereits nach den ersten Tests auf einer entsprechenden Umgebung spürbar. Die Erfahrung aus der Praxis zeigt jedoch, dass der Umstieg an einigen Stellen nicht so reibungslos verläuft, wie es sich die Kunden der SAP vorstellen.

In unserer neuen SAP-Blogserie möchten wir jeweils eine neue Komponente sowie die Eigenschaften der neuen Datenbanktechnologie vorstellen.

Organisation von Daten in spaltenorientierten Tabellen

Im ersten Teil unserer SAP Serie möchten wir zunächst auf eines der wichtigsten Features eingehen, welches die neue Technologie so schnell macht, dass es den Anwendern einen deutlichen Mehrwert gegenüber herkömmlichen Datenbanken verschafft.

Bislang war nur die Datenhaltung in zeilenorientierter Speicherung bekannt. Hierbei werden die Daten Zeile für Zeile sequentiell hintereinander auf die Platte geschrieben, um beim Auslesen die Zugehörigkeit zum entsprechenden Datensatz zuordnen zu können.

In der zeilenbasierten Speicherung würde demnach die Speicherung der Daten folgendermaßen aussehen:

In einer HANA-Datenbank werden die Werte, abhängig von der Tabelleneinstellung, spaltenweise hintereinander gereiht. Durch die Zusammenfassung von redundanten Werten innerhalb einer Spalte, kann so, je nach Tabelleninhalt, eine hohe Komprimierung erreicht werden. Im letzten Schritt werden die Daten indiziert. In unserem Beispiel wird dies durch die alphabetische Sortierung dargestellt. Dadurch kann die Tabelle beispielsweise mit einer binären Suche durchlaufen werden. Die Zugriffszeit kann so um ein Vielfaches erhöht werden. Dies geschieht ohne manuellen Aufwand und wird vom Datenbankmanagementsystem durchgeführt.

 

            Komprimieren:                          Indizieren:                 

 

Die tatsächlichen Spaltenwerte werden mit einem Hash-Verfahren verschlüsselt, um auf der Datenbank nur noch die Integer-Werte des Hashs, anstatt des Textes abspeichern zu müssen (Attribut-Vektor). Jeder verschlüsselte Wert erhält mit den komprimierten Werten einen Eintrag im sogenannten Dictionary-Vektor. Der invertierte Index zeigt, an welchen Stellen (Datensätze der Tabelle) das Attribut verwendet wird. Durch dieses Konstrukt an Verschlüsselungen und Indizierungen kann beim Auslesen der Daten die Zugehörigkeit zum Datensatz wieder eindeutig festgestellt werden.

 

 

Durch diese Methoden liegt es auf der Hand, dass Read-Only-Operationen auf die HANA-Tabellen, wie sie hauptsächlich in einem OLAP-System durchgeführt werden gegenüber den herkömmlichen Datenbanken um ein Vielfaches beschleunigt werden können. Bei einem transaktionalen Verhalten und durch viele Änderungen der Datensätze, kann jedoch die Performance leiden. Dadurch wird es notwendig, dass viele Inhalte der Indextabellen bei einem Update eines Datensatzes, ebenfalls auf einen neuen Stand gebracht werden.

Im nächsten Blogartikel werden wir uns den HANA-spezifischen Viewarten widmen. Sollten Sie Fragen zu diesem Thema haben, sprechen Sie uns gerne an!

 

 

An den Anfang scrollen