Seiten

Posts mit dem Label In-Memory werden angezeigt. Alle Posts anzeigen
Posts mit dem Label In-Memory werden angezeigt. Alle Posts anzeigen

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. :)

Sonntag, 13. Januar 2013

SAP HANA

SAP macht mit HANA Schlagzeilen und hat es damit sogar in die FAZ geschafft. ("Die neue Walldorfschule" - 05.01.2013) Es ist also Zeit, sich mal genauer damit zu befassen.
Worum geht es? Zunächst: HANA ist nicht nur eine Datenbanksoftware, sondern eine Appliance. Man kauft also Soft- und Hardware von SAP:
"SAP In-Memory Appliance (SAP HANA) ist eine flexible, vielfältig einsatzfähige In-Memory Appliance. Sie umfasst eine Kombination aus unterschiedlichen SAP-Software-Komponenten und maßgeschneiderter Hardware, die führende SAP-Partner bereitstellen." (SAP)
Alles was auf dem System gelesen, geschrieben, berechnet wird, passiert im RAM, welches auf der HANA bis 2 TB groß sein kann. Die Hardware ist letztlich dafür da, die Schreiboperationen sicher von der oder auf die Platte zu bringen.
Das In-Memory-Konzept ist nicht wirklich neu und schon gar keine SAP-Erfindung. SAP setzt die Konzepte aber konsequent um:
  • In-Memory - alles liegt im RAM und wird dort verarbeitet.
  • Spaltenbasierte Verarbeitung der Datensätze - nicht zeilenweise wie bei RDBMS. Spalteninhalte lassen sich so schneller auswerten. Das ist ein klares Plus für die Auswertung großer Datenmengen. Geht es um einzelne Datensätze, bei denen man eine eine ganze Zeile aus dem System ziehen muss - wie bei OLTP, ist die zeilenorientierte Verarbeitung eines RDBMS natürlich keine schlechte Option.
  • Kompression - Die Spalteninhalte werden komprimiert. Kompression wird auch in RDBMS genutzt. RDBMS komprimieren aber den Inhalt der Datenblöcke und nicht die Spalten.
  • Insert (keine Updates) - Die HANA ändert also keine Datensätze, sie legt sie nur neu am Ende der Spalte an. Die Spalten beinhalten also mehrere Versionen eines Datensatzes und wachsen bei Änderungen schnell an.
Da SAP kein eigenes RDBMS im Angebot hat, dem HANA Konkurrenz im eigenen Haus machen könnte, muss SAP auch auf nichts Rücksicht nehmen und keine faulen Kompromisse eingehen, wenn es auf diese DB-Technologie setzt. Bei Oracle, Microsoft oder IBM mit ihren RDBMS sieht das etwas anders aus.
HANA ist also schnell. Okay... Die naheliegende Managerfrage lautet demnach: Ist mein SAP damit schneller? Nein. Wer sein gutes altes SAP-ERP im Einsatz hat, dem nützt HANA erst einmal nichts. SAP müsste zunächst seine eigene Software komplett portieren. Das kann dauern und wird kosten.

Oracles Antwort: Exalytics

Oracle gefällt der Hype um HANA natürlich nicht. Als Reaktion auf HANA wurde Exalytics auf den Weg gebracht. 
Exalytics ist ebenfalls eine Appliance-Lösung. Einen Vergleich versucht www.silicon.de. Der Titel des Artikels "Äpfel mit Birnen" sagt es schon: Die Exalytics ist konzeptionell etwas anderes als HANA.
In der Exalytics werden RDBMS und In-Memory mit einander kombiniert - mit allen Vor- und Nachteilen, die ein solcher Kompromiss mit sich bringt.
Mit der Exadata X3, die von Oracle als "InMemory Machine" beworben wird, sieht das ähnlich aus.
Oracle ist offensichtlich nervös und sieht HANA als Gefahr für das eigene Geschäft. Die Exalytics muss die Kundschaft sichern, bis Oracle ein echtes Konkurrenzpaket im Angebot hat.

Fazit

Eigentlich geht es um nichts Neues. Im Kern dreht sich alles um die Frage, ob In-Memory-Datenbanken die klassischen RDBMS ablösen können und wie die großen Hersteller (Oracle, IBM, Microsoft) damit umgehen.
HANA konkurriert bis auf weiteres eher mit Produkten wie Exasolution oder Terracotta und wildert damit im Segment der Analyse- und DataWarehouse-Lösungen.
Achja: Teuer ist der InMemory-Spaß auch. Die Lizenzpreise stellen die Enterprise-Versionen von Oracle 11g, MS SQLServer und IBMs DB2 in den Schatten.