Mit dem Aufkommen von In-Memory-Technologien scheinen die traditionellen Datenbanksysteme in den Hintergrund zu rücken. Nichts dergleichen, sagt Günther Stürner, Vice President Server Technologies und Sales Consulting bei Oracle. Für ihn laufen die "Eine-Funktion-Datenbanken" der In-Memory-Newcomer Gefahr, zu Einweg-Datenbanken zu werden, wenn der Funktionsumfang nicht erweitert wird. Der Oracle-Manager hält die Keynote auf der DOAG 2013 Datenbank Konferenz am 14. Mai in Düsseldorf. DOAG Online hat ihn im Vorfeld interviewt.
DOAG Online: In-Memory-Computing in der Datenbank ist derzeit ein Dauerthema. Das hat vor allem mit der doch sehr sichtbaren Kommunikation von SAP in Bezug auf Hana zu tun. Oracle hat seit geraumer Zeit In-Memory-Features in der Oracle-Datenbank und mit Times Ten eine hauseigene In-Memory-Lösung. Es wird aber vergleichsweise wenig darüber geredet. Warum? Verfolgt Oracle vielleicht eine andere Strategie oder haben andere Hersteller Oracle tatsächlich überholt?
Günther Stürner: Von "überholt" kann keine Rede sein. Alle In-Memory-Datenbanksysteme, die heute auf dem Markt sind, decken lediglich einen sehr kleinen Teil einer gesamten Datenbanklösung ab. Hier ist Hana keine Ausnahme, auch wenn sich SAP redlich bemüht, diesen Eindruck zu verwischen.
In der Tat wurde das Thema In-Memory-Datenbank in den letzten Monaten von allen Medien, Analysten etc. aufgegriffen und man muss der SAP dankbar sein, dass dadurch das wichtige Thema Datenbank-Technologie als Ganzes eine enorme Sichtbarkeit gewonnen hat. Datenbank-Technologie jedoch nur auf „in-Memory“ zu reduzieren, wie es aktuell oft gemacht wird, wird dem Gesamt-Thema "Datenbank" nicht im Mindesten gerecht. Für uns ist dies eine von vielen Technologien. Eine tragfähige Architektur beruht immer auf mehreren Säulen.
DOAG Online: In welchen Anwendungsfällen sind In-Memory-Datenbanken zwingend notwendig? Welche Fragestellungen muss ein Unternehmen beantworten, bevor es sich für oder gegen den Einsatz von In-Memory-Datenbanken entscheidet?
Günther Stürner: Es gibt heute eine Vielzahl von Datenbanksystemen, die unter der Flagge "In-Memory" segeln und äußerst unterschiedlich aufgebaut sind. In-Memory zu sein, ist zwar aktuell sehr modern, aber eine Datenbank mit "In-Memory Sticker" sagt noch nichts über die Qualität dieser Datenbank aus – und vor allem über die Leistungsfähigkeit und Leistungsbreite. Im Falle unserer eigenen Times-Ten-Datenbank sehen wir Einsatzgebiete dort, wo es auf extrem kurze Antwortzeiten und/oder auf extrem hohe Transaktionsraten ankommt. Man spricht hier oft auch von "Near Realtime".
Was genau ein Kunde braucht, wie eine endgültige Architektur eines Kundenprojektes aussieht kommt immer auf das jeweilige Projekt an und es gibt immer sehr viel mehr Kriterien, als die schlichte Frage In-Memory-Datenbank: ja oder nein.
Um es nochmals klar zu sagen, In-Memory-Datenbanken – und hier möchte ich explizit alle heutigen Systeme einschließen – sind noch weit davon entfernt, alle möglichen Anwendungssysteme zu betreiben.
DOAG Online: Bedeutet das Aufkommen von In-Memory-Technologien über kurz oder lang das Ende der traditionellen relationalen Datenbank(-Entwicklung)?
Günther Stürner: Hier ein definitives, sehr klares und eindeutiges NEIN. In-Memory-Funktionen und deren Weiterentwicklung liegen in der DNA eines jeden Datenbanksystems. Die Oracle-Datenbank hat in den letzten Jahren eine Vielzahl von hochinnovativen Funktionen eingeführt, die sich mit der effektiven Nutzung der unterschiedlichen Speichertechnologien eines Rechnersystems beschäftigen.
Die aktuellen Newcomer aus dem In-Memory-Lager müssen sich der schwierigen Aufgabe widmen, eine Vielzahl von Funktionen, die die heutigen Datenbank-Systeme seit langem auszeichnen, in ihre Systeme einzubauen. Dies ist teuer und langwierig und die meisten dieser Systeme werden diesen Weg nicht überleben. Es ist nicht ausreichend eine "Eine-Funktion-Datenbank" zu bauen. Solche Produkte werden nicht fortbestehen können, denn diese eine Funktion – wenn sie denn tatsächlich innovativ ist – wird über kurz oder lang auch in etablierten Produkten zu finden sein.
DOAG Online: Eine komplette Datenhaltung im Hauptspeicher ist sicherlich nicht die Antwort auf alle Probleme. Oracle setzt viel Wert auf intelligentes Datenmanagement. Das lässt die neue Datenbank 12c zumindest stark vermuten. Mit "HeatMap" ist beispielsweise eine automatisierte Datenkompression je nach Nutzungsverhalten möglich. Können Sie uns schildern, wie das funktioniert?
Günther Stürner: Wenn man alle Daten stets in der gleichen Art und Weise behandelt, ist das eher eine grobe und sehr plumpe Strategie, die das Gegenteil von Effizienz darstellt. Dieses Problem haben alle Datenbanksysteme in unterschiedlicher Weise mit Datenbank-Caches seit vielen Jahren mehr oder weniger gut gelöst. Oft benutzte Datenbank-Blöcke sind im Datenbank-Cache, wenig genutzte werden aus dem Datenbank-Cache früher oder später verdrängt, nie benutzte werden auch nicht in den Datenbank-Cache geladen.
Die "HeatMap"-Funktionalität von Oracle 12c geht noch einen Schritt weiter und nutzt das Wissen über die Nutzung von Daten innerhalb einer Tabelle aus, um Teilbereiche einer Tabelle gemäß eines vom DBA definierten Planes unterschiedlich zu behandeln (zum Beispiel unterschiedlich zu komprimieren oder gar auf unterschiedliche Speichermedien zu transportieren), um so Speicher-Hierarchien ausnutzen zu können. Dies führt zu einer sehr effizienten und nachhaltigen Speicherung von Daten.
In-Memory-Systeme ignorieren dieses Datenverhalten völlig. Hier werden stets alle Daten in den Hauptspeicher transportiert und somit große Teile des Hauptspeichers mit Daten belegt, die nie gelesen oder geändert werden.
DOAG Online: Wir haben bereits die Akquisition von Times Ten angesprochen. Derzeit besteht die Möglichkeit, die In-Memory-Datenbank entweder als Stand-Alone-Lösung oder als Ergänzung zur Oracle-Datenbank in der Enterprise Endition zu betreiben. Die Option nennt sich "In-Memory Database Cache". Was sind die Vorteile dieser Alternative?
Günther Stürner: Es ist richtig, Times Ten gibt es als Stand-alone System und als Database-Cache für die Oracle-Datenbank. Die erste Variante finden wir immer dort, wo es um extrem kurze Transaktionszeiten geht und/oder wo Times Ten in Systeme vollständig integriert werden sollen.
Die zweite Einsatzvariante – In-Memory-Datenbank-Cache für Oracle – ist ideal für Anwendungen, die als eine Art Filialsystem fungieren. Es sind Kassen-, Call-Center- oder auch Shop-Systeme – also Front-End-Systeme, die schnellen Zugriff bedingen, deren Masterdaten aber in einer zentralen Oracle-Datenbank abgelegt sind.
Dies TT-Cache-Systeme halten Tabellen oder Teile von Tabellen im Hauptspeicher vor. Die Folge sind geringe Latenzzeiten bei der Anwendung. Änderungen der Daten in der Hauptdatenbank werden in den TT-Caches automatisch nachgezogen. Änderungen durch die Filialsysteme werden direkt in der Oracle-Datenbank durchgeführt.
DOAG Online: Anderes Thema – Anderer Hype: Relationale Datenbanktechnologien und unstrukturierte Daten – ist es ein Widerspruch? Welche Möglichkeiten gibt es, komplexe Analysen über große Datenbestände in wenigen Sekunden zu realisieren? Inwiefern können MPP oder Data Mining helfen, den aktuellen Analyseanforderungen gerecht zu werden? In welchen Fällen stößt die relationale Datenbank an ihren Grenzen?
Günther Stürner: Relationale Datenbanktechnologien und unstrukturierte Daten sind kein Widerspruch sondern eine über viele Jahre währende Erfolgsgeschichte. Seit vielen Jahren ist Oracle Text in vielen großen Projekten integriert und liefert eine der besten Text-Search Funktionalitäten am Markt. XML ist seit Jahren tief im Oracle-Kernel integriert, Geo-Daten sind Teil der Oracle-Datenbank und mit Secure Files haben wir eine der schnellsten Large-Object-Implementierungen am Markt. Dies sind nur einige Beispiele für die Integration von unterschiedlichen Datentypen in eine Oracle DB Umgebung.
Aber vielleicht haben Sie mit ihrer Frage diese semi- oder unstrukturierten Daten ja gar nicht gemeint? Mir ist es aber wichtig, gerade auf diese Datentypen ebenfalls hinzuweisen. Vermutlich haben Sie Daten gemeint, die nur eine sehr geringe Informationsdichte aufweisen, die man neuerdings auch als "Big Data" bezeichnet. Riesige Mengen von Sensordaten zum Beispiel, die bisher gar nicht abgespeichert wurden.
DOAG Online: Ich habe den Begriff bewusst nicht in den Mund nehmen wollen, aber wenn Sie die Vorlage liefern…
Günther Stürner: Hier kann es unter Umständen – und ich betone ausdrücklich: unter Umständen, die jeweils zu klären sind – tatsächlich mehr Sinn machen, diese Daten in einer noSQL-Datenbanken, zum Beispiel Oracle noSQL oder in einem Hadoop Filesystem (HDFS) abzuspeichern.
Auch hier haben wir eine exzellente Lösung mit unserer Big Data Appliance und den zugehörigen Software-Komponenten. Hier könnten "Daten geringer Dichte" abgelegt und ausgewertet oder aggregiert und in eine Oracle-Datenbank integriert werden.
Auch hier gilt: Es gibt kein "entweder oder" sondern ein "sowohl als auch". Es ist die vornehmste und wichtigste Aufgabe der IT-Lieferanten und -Berater, die Fragestellung des Kunden und die Ausarbeitung der entsprechenden Architektur-Optionen zu verstehen. Wer diese Disziplin am besten beherrscht, wird die erfolgreichsten Kunden haben. Ein platter Ruf nach "In-Memory" oder nach "Big Data" für die Lösung aller IT-Probleme ist eher ungenügend als ausreichend.

