Seiten

Freitag, 6. Juni 2014

Die In-Memory-Option - Oracles Antwort auf HANA

Vor 1,5 Jahren habe ich mich das erste mal mit dem Phänomen HANA beschäftigt. Seitdem ist eine Menge passiert und Oracle hat reagiert.
Am vergangenen Dienstag war ich auf der DOAG 2014 Datenbank in Düsseldorf und kam wieder einmal mit dem Thema in Berührung. Günter Stürner (Oracle) hielt dort die Keynote.
Der Focus seiner Rede lag auf der kommenden In-Memory-Option („Turbo Boost für die Datenbank“) der Datenbank und der Abgrenzung zur HANA.
Ein paar Sachen haben mich an meinen Text erinnert. Zeit sich den alten Kram wieder anzusehen… ich kann behaupten, dass ich gar nicht einmal falsch lag. :)

Vieles, was zwischen SAP und Oracle zum Thema In-Memory ausgetauscht wurde und wird, ist natürlich reines Marketing. SAP will seine eigene DB verkaufen und Oracle seine Marktführerschaft ausbauen bzw. nicht verlieren.
Die Existenz von HANA ist dabei meiner Meinung nach an sich keine Gefahr für Oracle. HANA steht vielmehr für die Gefahr, dass Oracle aus Kundensicht die Fähigkeit verlieren könnte, die wichtigen technischen Trends zu setzen und als Saurier dasteht. 

Oracle versucht den In-Memory-Hype einerseits etwas abzuschwächen, indem sie darauf aufmerksam machen, dass dieses Thema nichts Neues ist. Andererseits wollen sie auf der Welle mitreiten. (Man ist SAP für die Marketingvorarbeit zu Thema In-Memory dankbar.)
Dabei wird dann noch klar gestellt, dass es weniger um In-Memory geht, sondern vielmehr und die Frage „Arbeitet die Datenbank der Zukunft zeilen- oder spaltenorientiert?“. (columnar)
Diese Frage hat Oracle für sich etwa so beantwortet:
Je nach Anwendungsfall ist die eine oder die andere Technologie sinnvoller. Oracle bietet beides in einem Produkt an. Auf dem Storage liegen die Daten zeilenorientiert und im Hauptspeicher werden sie auf Wunsch spaltenorientiert verarbeitet.
(So würde ich das zusammenfassen und ich kann nicht sagen, dass ich diesen Ansatz schlecht fände.)

Ganz nebenbei wuchert Oracle mit dem Pfund, eine ausgereifte, skalierbare Enterpriselösung (Backup, RAC, DataGuard, Vault…) anbieten zu können: SAP müsse schließlich erst noch aus HANA eine Enterpriselösung machen.

In der Keynote hat Günter Stürner dargestellt, wie einfach die Lösung implementiert ist. Ein einfaches „ALTER TABLE <tablename> INMEMORY;“ lädt die Tabelle „columnar“ in den Hauptspeicher. Der Zugriff soll sich bis um den Faktor 100 beschleunigen. Das soll auch mit Tablespaces, Partitionen und sogar der ganzen Datenbank funktionieren – falls die DB dort hineinpasst.

Ich denke, dass man sich um Oracle keine Sorgen machen muss. Am 11.06.2014 soll die In-Memory-Option für die 12c vorgestellt werden. (Am 17.06.2014 kann man sich das live in Frankfurt ansehen.) Wenn es tatsächlich so ist, dass die Option für die Applikation transparent nutzbar ist, kann Oracle sich zurücklehnen und sagen:
"Hey, SAP hat nur HANA, wir haben HANA on board - und wir lassen uns das ebenfalls sehr gut bezahlen." ;)

Ich freu mich schon darauf „ALTER DATABASE INMEMORY;“ testen zu können. Eine DB, die in den Hauptspeicher passt und mit einem suboptimalen Datenmodell glänzt, habe ich für den Performancetest. :)

Kommentare:

  1. Danke für die Zusammenfassung - das klingt sehr einleuchtend.

    Lustig finde ich immer diese "Beschleunigung um Faktor x"-Aussagen, die sich die Marketing-Abteilungen der RDBMS-Anbieter da jeweils einfallen lassen. Ob man dazu wohl irgendeine Aussage von der Entwicklung braucht - oder kann da der Marketing-Mitarbeiter einen Wert seiner Wahl einsetzen? Ein passendes Szenario wird man vermutlich für jede Behauptung basteln können.

    Abgesehen davon glaube ich, dass wahrscheinlich deutlich mehr als 95% aller Datenbanken mit Performance-Problemen nicht an fehlender In-Memory-Option, sondern an abwegigen Queries und/oder Zugriffsstrategien leiden.

    AntwortenLöschen
    Antworten
    1. Die "XXX-Faktoren Aussagen" sind in der Tat sehr fragwürdig. Ich selbst habe diese Aussage auch nicht gemacht. Ich gebe Ihnen zu 100% Recht, dass viele Systeme an schlechten bis hundsmiserablen SQL-Befehlen leiden. Die neue In-Memory Option kann/muss/darf als zusätzliche Zugriffsstrategie angesehen werden, die der Optimizer nutzen kann oder auch nicht.

      Löschen
  2. In der gesamten Geschichte zwischen SAP und Oracle steckt jede Menge Marketing. HANA beschleunigt ja ebenfalls angeblich Anwendungen um das xxx-fache. Das sind dann gerne diese "select count(*) from table"-Beispiele oder ähnliches. Und bei HANA fällt gern unter den Tisch, dass die Anwendung neu geschrieben werden muss, um alles auszureizen. Was SAP ja bereits mit seiner ERP-Software tun musste.
    Man sollte HANA m.E. besser nicht als reine Datenbank betrachten. Es ist eher sowas wie ein Applicationserver oder eine Applikationsplattform.

    AntwortenLöschen