Neue Datenbankgeneration

SAP HANA - weniger In-Memory-, mehr operationale Datenbank

In der Diskussion um HANA als In-Memory-Datenbank vergisst man leicht, dass es hier um Software für Analytics und Prognosen geht. Dabei spielt es schon heute keine Rolle, ob das "In-Memory" oder mit einer anderen Technik funktioniert. HANA gehört damit auch in die Kategorie der post-relationalen Operational Database Management Systems (ODBMS).

Unter Begriff ODBMS - Operational Database Management Systems lässt sich ein bunter Strauss an sehr unterschiedlich konzipierten Datenbanksystemen zusammenfassen. Gemeinsam ist ihnen, dass sie Daten nicht als sequentielle Datei beziehungsweise nach einem Entity-Relationship-Modell (ERM) ansprechen. Durch die explosionsartige Vermehrung an neuen Datenauswertungs-Szenarien - vereinfachend als Big Data bezeichnet - sind Zugriffe mit SQL auf Datenbestände für viele Anwendungen nicht mehr zeitgemäß. Für die derzeit besonders vielversprechenden Anwendungen, wie sie in den Bereichen "Predictive Analysis" (Prognosen auf Basis großer Datenmengen), Video- und Data-Streaming, SmartCity, Connected Cars oder Industrie 4.0 zu finden sind, benötigen Anwender künftig jeweils maßgeschneiderte Zugriffswege auf die Daten.

ODBMS werden daher künftig die Schlüsselrolle für viele Enterprise-Anwendungen spielen. Urvater der ODBMS ist "MUMPS", eine Programmiersprache mit integrierter Datenbank, welche gezielt für das Bearbeiten von strukturfreien Datenbanken wie große Textdokumente geschaffen wurde, was in den 1960ger Jahren die visionäre Herausforderung am Massachusetts Institute of Technology (MIT) war. Aus dieser Forschung ging dann das spätere "Interbase Caché" hervor, auch heute noch eine der führenden und visionären post-relationalen Datenbanksysteme.

ODBMS - die nächste Datenbankgeneration

Ein ODBMS ist keine Alternative zu relationalen Datenbank-Management-Systemen (RDBMS), sondern die nächste Generation. Auch eine klassische SQL-Datenbank nach dem Entity Relationship Model lässt sich damit jederzeit modellieren, indem man jede Tabelle schlicht als ein Objekt anlegt und betrachtet. Charakterisierend für ODBMS ist, dass solche Datenbanken zusätzlich zu den atomaren Informationen auch Aggregationen (zusammenfassende Zwischenergebnisse) und strukturfreie Information abspeichern, wie sie bei Texten häufig vorkommen oder für flexible Auswertungen, also dem klassischen Data-Mining auf einem Business-Warehouse benötigt werden.

Manche ODBMS entscheiden sogar in Verfahren nach dem Muster der Künstlichen Intelligenz selbst, welche Daten überhaupt abgespeichert werden. Der alternative Begriff einer "Post-relationalen Datenbank" beschreibt die Realitäten besser: Das sind Datenbanken, die sich nicht mehr an den technischen Begrenzungen orientieren, sondern an den visionären Zielen der Anwendungsentwicklung.

Anwendungen für ODBMS

Für Anwender stellt sich nun die Frage, welche ODBMS für das eigene Einsatzszenario die beste ist. Das ist allerdings nicht einfach zu beantworten. Für RDBMS gibt es noch gute und hinreichend sinnvolle Vergleichsparameter, weil diese zumindest funktional sehr ähnlich zueinander sind: Allerdings geht es dabei meist nur um einfache Performance-Messungen beim Zugriff auf kleine oder große Tabellen, den Aufbau von JOINs oder das Ausführen von vordefinierten Kalkulationen sowie das Verhalten bei technischen Störungen, wie einem Netzwerkausfall oder Fehlern bei Speichermedien.

ODBMS sind jedoch so verschieden und oft derart auf bestimmte Anwendungen spezialisiert, dass sie kaum mehr unmittelbar miteinander zu vergleichen sind. Im Markt gibt es einen solch weit gespannten Reigen an Anwendungen, dass es künftig nicht mehr die eine "beste" Datenbank geben wird, sondern eine große Anzahl an verschiedenen Lösungen, die jeweils in ihrer eigenen Anwendungsnische glänzen können.

Predictive Analysis (Big Data für Ultra-Large-Systems): Hier geht es um die klassische Herausforderung im Bereich Big Data. Das ist der Sektor, den primär auch SAP mit seinem In-Memory-System HANA umwirbt. Wir sprechen hier auch oft von Ultra-Large-Systems als Bezeichnung für das Zusammenspiel von einer unkontrollierbar großen und gewöhnlich nicht vorhersehbaren hohen Anzahl an Computersystemen und Software-Agenten. Ziel ist, aus einer riesigen sich ständig ändernden Datenmenge Erkenntnisse zu gewinnen und so künftige Entwicklungen vorherzusagen.

Financial Storm Prediction: Eine momentan sehr gefragte Anwendung sind Systeme zur Analyse von "Financial Storms", also das Vorhersagen von plötzlich und heftig auftretenden ("sturmartig") Veränderungen am Finanzmarkt wie beispielsweise Börsen-Crashs und Bankenpleiten wie im Falle Lehmann Brothers. Das funktioniert ähnlich wie die Wettervorhersage und - kein Wunder - die Algorithmen sind verwandt.

Financial Fraud Analysis: Ebenfalls im Finanzsektor sehr beliebt sind Systeme, die alle Banktransaktionen online analysieren und Erkenntnisse gewinnen wollen, ob kriminelle Aktivitäten stattfinden.

Data Streaming: Beim Data Streaming geht es um das Bereitstellen großer Datenmengen an eine Vielzahl von Clients, die aber allesamt gewöhnlich zeitversetzt zueinander darauf zugreifen. Klassiker ist hier das Videostreaming beim Zugriff auf Videotheken.

Industrie 4.0, Smart City und Connected Cars: Hier geht es darum, einen permanent dahin rauschenden Informationsfluss bereits frühzeitig nach brauchbaren und unbrauchbaren Daten auszusortieren. Es gilt, Daten zu analysieren bevor diese überhaupt abgespeichert werden - der Klassiker einer In-Memory Anwendung. Tatsächlich ist dies das Spielfeld von Enterprise Service Bus Software und Message-Queuing Systemen wie zum Beispiel IBM Websphere MQ, Oracle OSB, Software AG Webmethods, Fiorano ESB, MULE oder Talend.

Industrie 4.0: Industrie 4.0 ist letztlich eine Kombination von Data Streaming und Predictive Analysis. Einerseits liefern Produktionsmaschinen laufend neue Informationen. Diese müssen aber zunächst ausgedünnt werden, um überhaupt eine vernünftige Analyse zu ermöglichen. Smart City, Connected Cars sind verwandte Anwendungen, die weitgehend die gleiche Herausforderung darstellen.

Smart Coast Guard: Eine sehr anschauliche Anwendung demonstriert die US-Küstenwache. Dort werden die Funkpositionssignale eingesammelt, die jedes Schiff, das sich in den Hoheitsgewässern der USA aufhält mindestens alle fünf Minuten aussenden muss. Bei mehreren Zehntausend Schiffen im Durchschnitt kommen wir hier leicht auf 100 Positionssignalen pro Sekunde.