In-Memory-Computing: Chancen für Unternehmen und Marktanalyse Abschlussarbeit Betreuer: Dipl.- Wirt.- Inf. (FH) Nikolai Kunz Verwaltungs- und Wirtschaftsakademie Frankfurt am Main Von Markus Schnabel Studienrichtung: Informatik-Betriebswirt (VWA) 6. Fachsemester Matrikelnummer: 238329 Abgabetermin: 18. Juli 2012 Steinbach, den 15. Juli 2012 II Inhaltsverzeichnis Abkürzungsverzeichnis ................................................................................................... IV Abbildungsverzeichnis ..................................................................................................... V Tabellenverzeichnis......................................................................................................... VI 1. Einleitung .............................................................................................................. 1 2. Datenbanken .......................................................................................................... 3 2.1 Datenbank Grundlagen ................................................................................... 3 2.2 Gründe für den Einsatz von Datenbanken ...................................................... 6 2.3 Relationale Datenbanken ................................................................................ 7 2.4 Spaltenorientierte Datenbanken .................................................................... 10 2.5 In-Memory-Datenbanken.............................................................................. 11 2.5.1 Bewährte In-Memory-Zusatzlösungen .................................................. 11 2.5.2 Reine In-Memory-Datenbanken ............................................................ 13 2.5.3 Vorteile In-Memory-Computing ........................................................... 15 2.5.4 Nachteile In-Memory-Computing ......................................................... 16 2.5.5 Technischer Fortschritt als Katalysator ................................................. 17 2.5.5.1 Hauptspeicher ................................................................................... 17 2.5.5.2 Multi-Core-Prozessor ....................................................................... 19 2.6 Aktuelle Trends im Bereich In-Memory-Computing ................................... 20 3. Ausblick auf den zweiten Teil............................................................................. 20 4. In-Memory-Computing Marktanalyse ................................................................ 21 5. In-Memory-Computing im Unternehmenseinsatz .............................................. 23 6. 5.1 In welchen Bereichen sich ein Einsatz lohnt ................................................ 24 5.2 Chancen und Risiken aus Sicht des Business und der IT ............................. 26 5.3 Beispiele erfolgreicher Einführungen ........................................................... 27 Vergleich von drei In-Memory-Datenbanken ..................................................... 29 6.1 Aufbau eines Kriterienkataloges ................................................................... 30 III 6.2 6.2.1 IBM solidDB 7.0 ................................................................................... 33 6.2.2 Oracle TimesTen 11g ............................................................................ 35 6.2.3 SAP Sybase ASE 15.7 ........................................................................... 37 6.3 7. Bewertung der Produkte anhand der Kriterien ............................................. 33 Ergebnis des Produktvergleichs .................................................................... 38 Fazit ..................................................................................................................... 42 Literaturverzeichnis..................................................................................................... 44 Eidesstattliche Versicherung ....................................................................................... 48 IV Abkürzungsverzeichnis ASE Adaptive Server Enterprise APO Advanced Planner and Optimizer BW Business Warehouse BWA Business Warehouse Accelerator CPU central processing unit DBMS Datenbankmanagementsystem DBS Datenbanksystem DD Data Dictionary ETL Extract, Transform, Load HANA High-Performance Analytic Appliance OLAP Online Analytical Processing OLTP Online Transaction Processing RAM Random Access Memory SSD Solid-State-Drive TCO Total Cost of Ownership V Abbildungsverzeichnis Abbildung 1: Information at the fingertips ....................................................................... 2 Abbildung 2: Bestandteile einer Datenbank ..................................................................... 4 Abbildung 3: Extract, Transform, Load ............................................................................ 5 Abbildung 4: Zeilen- und spaltenorientierter Datenzugriff ............................................ 10 Abbildung 5: SAP APO mit liveCache ........................................................................... 12 Abbildung 6: Diskbasierte versus In-Memory-Datenbank ............................................. 14 Abbildung 7: Speicherhierarchie-Pyramide .................................................................... 18 Abbildung 8: CPU als Flaschenhals im In-Memory-Computing.................................... 19 Abbildung 9: Prozess der Datenwiederherstellung ......................................................... 32 Abbildung 10: Hochverfügbarkeitstopologie von IBM solidDB .................................... 34 Abbildung 11: Netzdiagramm In-Memory-Datenbanken ............................................... 41 VI Tabellenverzeichnis Tabelle 1: Speicherarten eines Datenbanksystems ........................................................... 9 Tabelle 2: Datenbank-Performance mit BWA ................................................................ 13 Tabelle 3: Chancen und Risiken von In-Memory-Computing........................................ 26 Tabelle 4: Bedeutung Erfüllungswerte der Nutzwertanalyse.......................................... 39 Tabelle 5: Nutzwertanalyse In-Memory-Datenbaken ..................................................... 39 1 1. Einleitung Wir leben in einer Welt, in der Unternehmen mehr und mehr im globalen Wettbewerb zueinander stehen. Das trifft heutzutage nicht nur auf die Global Player zu, auch mittelständische Unternehmen stehen im weltweiten Konkurrenzkampf. Um konkurrenzfähig zu bleiben, bedarf es dem Einsatz entsprechender Software, die die Geschäftsprozesse unterstützen beziehungsweise automatisieren. Unternehmen haben immer höhere Anforderungen an deren Informationssysteme. Prozesslaufzeiten im operationalen Geschäft sollen minimiert werden und im gleichen Schritt sollen die analytischen Daten zur Unterstützung der Entscheidungsfindung so aktuell und umfangreich wie nie zuvor sein. Dazu kommt der Anspruch der Unternehmensführung, die Kosten zu minimieren. Diese Forderungen gehen einher mit einem rasant wachsenden Datenvolumen und immer komplexer werdenden Anwendungen und Systemen. Das stark wachsende Datenvolumen, optimierte Prozesslaufzeiten sowie der Wunsch nach Reporting in Echtzeit stehen im Konflikt mit der heutigen Art der Datenhaltung für Unternehmensanwendungen. Der derzeitige Standard für die Datenhaltung von Unternehmensanwendungen ist ein relationales Datenbanksystem mit Festplattenspeicher, wobei der Festplattenspeicher der Flaschenhals der Datenbank und damit der Unternehmensanwendung ist. Optimierungspotential besteht durch den Einsatz von In-Memory-Computing1. Dort werden die Daten im wesentlich schnelleren und prozessornahen Hauptspeicher eines Servers statt im langsamen Festplattenspeicher gespeichert. Technologiefortschritte im Bereich der Prozessoren (Multi-core) und des Hauptspeichers (Kapazitäten im Terabyte-Bereich je Server) haben es möglich gemacht, den Ansatz der klassischen, relationalen Datenbanken zu überdenken. Mit In-Memory-Computing soll ermöglicht werden, dass Teilnehmer einer Besprechung, die auf der ganzen Welt verteilt sein können, in Echtzeit durch dieselben Informationen navigieren und dadurch strategische Entscheidungen anhand aktuellster Daten treffen können. Bei den Global Playern ist es heute die Regel, dass das Aufbereiten der transaktionalen Daten zu den benötigten analytischen Reports mitunter Tage, wenn nicht sogar Wochen dauert. Damit sind die getroffenen Entscheidungen, die auf diesen 1 In der vorliegenden Arbeit werden die Begriffe „In-Memory-Computing“, „In-Memory-Technologie“, „In-Memory-Datenbank“, „In-Memory-System“ und „Hauptspeicherdatenbank“ synonym verwendet. 2 Daten bzw. Informationen basieren, auch dementsprechend veraltet. Mit in Echtzeit vorliegenden Informationen kann demnach ein nicht zu unterschätzender Wettbewerbsvorteil resultieren. Die nachfolgende Abbildung 1 visualisiert die Vision von der „Information at the fingertips!“. Abbildung 1: Information at the fingertips2 Die vorliegende Arbeit ist der erste von zwei Teilen. Der erste Teil schafft die theoretische Grundlage von traditionellen sowie In-Memory-Datenbanken, während im zweiten Teil eine Gegenüberstellung von drei In-Memory-Produkten mit ihren Vor- und Nachteilen in Bezug auf den Einsatz im Unternehmen erfolgt. Ziel der Gesamtarbeit ist es herauszufinden, ob eines der gegenübergestellten Produkte für Unternehmen als optimal anzusehen ist, um abschließend einen Ausblick geben zu können, welches der Produkte eingesetzt werden sollte. Der vorliegende Teil Arbeit gliedert sich in drei Kapitel. Im ersten Kapitel erfolgt eine Schilderung der Problemstellung. In Kapitel 2 werden die Grundlagen einer Datenbank erläutert und es erfolgt eine Betrachtung von relationalen, spaltenorientierten und InMemory-Datenbanken. Auf In-Memory-Datenbanken wird ein besonderer Fokus gelegt und es erfolgt eine Betrachtung der Vor- und Nachteile. Weiterhin wird auf den technischen Fortschritt, der eine Grundvoraussetzung für eine In-Memory-Datenbank ist, eingegangen. In Kapitel 3 erfolgt ein kurzer Ausblick auf den zweiten Teil der Arbeit. 2 Plattner, H./Zeier, A. (2011), S. 9. 3 2. Datenbanken 2.1 Datenbank Grundlagen Mehr denn je leben wir heutzutage in einer Welt, in der Informationen eine immer wichtiger werdende Rolle spielen. Auch kleine und mittelständische Unternehmen können es sich nicht leisten, ohne eine Vielzahl von Informationen erfolgreich zu operieren, von den Großkonzernen ganz zu schweigen. Unternehmen sind abhängig von funktionierenden IT-Systemen. Hier kommen Datenbanksysteme3 (DBS) ins Spiel, welche für die Verwaltung und Haltung der elektronischen Daten eines IT-Systems zuständig sind. Laut Faeskorn-Woyke sind sie dazu da, um „[…] in die zunehmende Informationsflut Ordnung und Struktur zu bringen.“4 Ein Datenbanksystem besteht aus folgenden zwei Teilen: Datenbankmanagementsystem (DBMS) Das Datenbankmanagementsystem ist die Software zur Verwaltung der Datenbasis. Es steuert die Prozesse der Datenbank und stellt unterschiedliche Dienstleistungen zur Verfügung. In einem vertikalen Schichtenmodell eines Datenbanksystems liegt es zwischen der Datenbasis und den Programmen. Datenbasis mit Data Dictionary (DD) Die Datenbasis besteht aus den eigentlichen Daten der Datenbank sowie dem Data Dictionary. Das Data Dictionary beschreibt die Datenbasis und die Beziehungen der Daten zueinander.5 Die folgende Abbildung 2 zeigt grafisch die Bestandteile eines Datenbanksystems sowie die Schnittstelle mit den Anwendungen. 3 In der vorliegenden Arbeit werden die Begriffe „Datenbank“ und „Datenbanksystem“ synonym verwendet. 4 Faeskorn-Woyke, H. u. a. (2007), S. 19. 5 Vgl. Faeskorn-Woyke, H. u. a. (2007), S. 22. 4 Abbildung 2: Bestandteile einer Datenbank6 Datenbanksysteme können für viele verschiedene Anwendungen eingesetzt werden. Diese lassen sich in zwei Klassen unterscheiden. Zum einen gibt es transaktionale Anwendungen, diese kommen im operativen Tagesgeschäft zum Einsatz und realisieren selbiges in einem Unternehmen. Zum anderen gibt es analytische Anwendungen, welche die Grundlage für die strategische Unternehmensplanung bilden und vor allem vom Management genutzt werden. Im folgenden Abschnitt erfolgt eine Spezifikation der beiden Klassen. OLTP - Online Transaction Processing o Transaktionale Anwendungen o Häufige, schnelle und kurze Anfragen an die Datenbank mit wenigen Daten je Anfrage o Viele Änderungen (Update, Insert, Delete) in der Datenbasis o Operiert auf aktuellem Datenbestand (max. 1 Jahr) o Beispiel: Anlegen einer Kundenbestellung o Produktbeispiel: SAP Enterprise Resource Planning OLAP - Online Analytical Processing o Analytische Anwendungen o Wenige, langwierige Anfragen an die Datenbank mit vielen Daten je Anfrage o So gut wie keine Änderungen in der Datenbasis – „read only“ o Historische und aktuelle Daten (Unternehmensdaten der letzten Jahre) 6 Faeskorn-Woyke, H. u. a. (2007), S. 22. 5 o Beispiel: Umsatzentwicklung von Produkt xy in den letzten drei Jahren in Italien o Produktbeispiel: SAP Business Intelligence (Data Warehouse)7 Wie in der obigen Aufstellung beschrieben, unterscheiden sich OLAP- und OLTPSysteme in der Art der Nutzung. Auf Grund dieser unterschiedlichen Ausrichtung der beiden Systeme und der damit verbundenen vielfältigen und spezifischen Optimierungen „[...] besteht mittlerweile weitgehender Konsens, dass man OLTP- und OLAPAnwendungen nicht auf demselben Datenbestand (d. h. auf derselben physischen Datenbasis) ausführen sollte.“8 Diese Annahme der physischen Trennung des Datenbestands wird mit der Entwicklung von Hauptspeicherdatenbanken jedoch neu überdacht. Durch den Einsatz von zwei getrennten Datenbanken sind in einem OLAP-System initial keine Daten vorhanden. Die benötigten Daten werden aus den operationalen Datenbanken (OLTP) und anderen Datenquellen in ein Data Warehouse geladen. In zuvor bestimmten Zeitintervallen (z. B. täglich, wöchentlich) erfolgt eine Aktualisierung der Daten. Damit enthält das Data Warehouse auch historische Daten, auf denen die Unternehmensleitung wichtige, strategische Entscheidungen fällen kann. Dieser Vorgang wird Extract, Transform, Load (ETL) genannt und wird in der folgenden Abbildung 3 dargestellt.9 Abbildung 3: Extract, Transform, Load10 7 Vgl. Kemper, A./Eickler, A. (2011), S. 529 f. Kemper, A./Eickler, A. (2011), S. 530. 9 Vgl. Kemper, A./Eickler, A. (2011), S. 530. 10 Kemper, A./Eickler, A. (2011), S. 531. 8 6 Die theoretische Grundlage einer Datenbank ist das Datenbankmodell. Es besagt, wie die Daten auf einer Datenbank gespeichert und bearbeitet werden. In den 1960er Jahren entstanden mit dem Hierarchischen und dem Netzwerkdatenbankmodell die ersten Datenbankmodelle. Sie ermöglichten den erstmaligen Einsatz von Datenbanken, spielen heutzutage aber keine große Rolle mehr. In den 1970er Jahren entstand das relationale Datenbankmodell, was heute das bekannteste und am weitesten verbreitete Modell ist. Zusätzlich gibt es noch zwei neuere Datenbankmodelle, das objektrelationale sowie das objektorientierte Datenbankmodell auf die der Autor auf Grund ihrer geringen Verbreitung nicht näher eingehen wird. Ein Großteil der Unternehmen setzt Datenbanksysteme von Oracle, IBM und Microsoft ein. Der bevorzugte Datenbankanbieter der SAP-Kunden ist mit großem Abstand die Firma Oracle (67%), gefolgt von Microsoft SQL Server (13%), IBM DB2 (12%) und SAP MaxDB (11%).11 2.2 Gründe für den Einsatz von Datenbanken Laut Kemper gibt es für Unternehmen für die Verarbeitung von Informationen keine Alternativen zum Einsatz eines DBMS. Folgende Probleme können durch den Einsatz eines einheitlichen, zentral genutzten DBMS zum größten Teil vermieden werden: Redundanz und Inkonsistenz Das DBMS verwaltet eine zentrale Datenbasis, die von mehreren Anwendungen benutzt werden kann. Datensätze müssen nur einmal angelegt oder geändert werden, was Redundanzen und Inkonsistenzen vermeidet. Mehrbenutzerbetrieb Das DBMS bietet eine Mehrbenutzerkontrolle, die einen kontrollierten Zugriff von mehreren Benutzern auf Daten gewährleistet und Gefahren wie das gleichzeitige editieren derselben Datei durch zwei oder mehrere Benutzer verhindern. Heutige Dateisysteme können keinen störungsfreien Mehrbenutzerbetrieb gewährleisten. Sicherheitsprobleme Mittels DBMS lassen sich Zugriffsrechte auf die zentral gespeicherten Daten sehr flexibel steuern. Je nach Benutzer oder Benutzergruppe greifen verschiede- 11 Vgl. http://www.computerwoche.de/software/software-infrastruktur (Abfragedatum: 27.12.2011). 7 ne Regeln, die das Aufrufen, Editieren und Löschen der verschiedenen Informationen steuern.12 Die Voraussetzung für eine sichere und konsistente Ausführung von Operationen auf der Datenbank trotz gleichzeitiger Aktivitäten unterschiedlicher Anwender ist das Einhalten der vier definierten ACID-Eigenschaften. Sie bestehen im Einzelnen aus: Atomicity (Atomarität): Unteilbarkeit von Transaktionen Besagt, dass entweder alle Änderungen der Transaktion in die Datenbank geschrieben werden oder gar keine. Consistency (Konsistenz): Konsistenter Datenbestand Nach Beendigung einer Transaktion muss die Datenbasis konsistent sein, andernfalls wird die Transaktion zurückgesetzt. Isolation: Transaktionen dürfen sich nicht beeinflussen Parallel ausgeführte Transaktionen dürfen sich nicht gegenseitig beeinflussen. Jede Transaktion wird, logisch betrachtet, einzeln auf dem Datenbanksystem ausgeführt. Durability (Dauerhaftigkeit): Transaktionsergebnis besteht dauerhaft Eine einmal erfolgreich abgeschlossene Transaktion muss dauerhaft in der Datenbasis erhalten bleiben. Selbst nach einem Hard- oder Softwarefehler muss das Resultat der Transaktion sichtbar sein.13 2.3 Relationale Datenbanken Die relationale Datenbank ist der heutige Standard für den Unternehmenseinsatz. OLTP- und OLAP-Systeme setzen beide bis auf wenige, sehr fachspezifische Ausnahmen auf das relationale Datenbankmodell. Erstmals wurden Daten mitsamt ihrer Beziehung in Tabellen (Relationen) abgebildet. Hauptmerkmal der relationalen Datenbank sind die zweidimensionalen Tabellen, auch Relationen genannt. Daten werden in den Tabellen gespeichert und „[…] durch entsprechende Operatoren ausschließlich mengenorientiert verknüpft und verarbeitet.“ 14 Die grundlegenden Elemente einer Tabelle in einer relationalen Datenbank sind: 12 Vgl. Kemper, A./Eickler, A. (2011), S. 19 ff. Vgl. Kemper, A./Eickler, A. (2011), S. 289. 14 Kemper, A./Eickler, A. (2011), S. 71. 13 8 Attribut: Beschreibt die Objekte mit einem Namen und einem Wert. Tupel: Die Menge aller Attribute in einer Zeile, auch Datensatz genannt. Relation: Alle Tupel in einer Datenbank ergeben die Relation. Primärschlüssel: Dient zur eindeutigen Identifizierung der einzelnen Tupel. Er ist eindeutig und darf nicht leer sein. Mit ihm lassen sich verschiedene Tabellen eindeutig verknüpfen.15 Hervorzuheben ist, dass die Daten bei einer traditionellen relationalen Datenbank zeilenorientiert auf der Festplatte gespeichert werden. Bei der physischen Datenstruktur einer relationalen Datenbank wird meist zwischen drei Stufen von Speichermedien unterschieden, die sehr oft gleichzeitig, aber für unterschiedliche Zwecke eingesetzt werden. Der Primärspeicher ist der Hauptspeicher des Rechners und übernimmt Pufferfunktionen im Datenbanksystem. Im Hauptspeicher werden alle Operationen durchgeführt, damit liegen die Daten, auf die aktiv zugegriffen wird, in selbigem. Der Sekundärspeicher ist die Festplatte. Hier werden die Daten gespeichert, die nicht im aktiven Gebrauch sind. Als Archivspeicher kommen in den meisten Fällen Magnetbänder zum Einsatz. Auf ihm werden zum Beispiel operativ nicht mehr benötigte Daten sowie Sicherheitskopien gespeichert.16 Um die Daten verarbeiten zu können, müssen sie demzufolge zwischen dem Primärspeicher und dem Sekundärspeicher hin- und hergeschoben werden, da die Verarbeitung ausschließlich im größenmäßig limitierten Primärspeicher erfolgen kann. Die folgende Tabelle 1 stellt die verschiedenen Speicherarten eines Datenbanksystems gegenüber. 15 16 Vgl. Kannengiesser, C./Kannengiesser, M. (2007), S. 613 f. Vgl. Kemper, A./Eickler, A. (2011), S. 203 ff. 9 Speicher- Zu- stufe griffszeit kapazität Primärspei- ~ 100 ns cher Speicher- Preis Vorteile Nachteile Gigabyte - Sehr schnell - Flüchtig bis - Feine Granularität - Sehr teuer Terabyte Sekundär- ~ 10 ms Terabyte speicher Archivspei- >1s Terabyte cher - Nicht flüchtig - Relativ langsam - Direktzugriff - Mechanisch - Lagerbarkeit - Sehr langsam - Ausfallsicherheit - Verschleiß Tabelle 1: Speicherarten eines Datenbanksystems17 Aus der obigen Tabelle 1 ist der immense Unterschied bei den Zugriffszeiten der einzelnen Speicherstufen hervorzuheben. Der Unterschied bei der Zugriffszeit zwischen dem Primär- und Sekundärspeicher beläuft sich auf den Faktor 105, was einem theoretisch 100.000-mal schnelleren Zugriff entspricht. Dieser gewaltige Unterschied bei der Zugriffszeit macht deutlich, wieso es wichtig ist, einen vielen Gigabyte umfassenden Hauptspeicher in einem Datenbank-Server zu haben. Durch einen großen Hauptspeicher in einem Datenbank-Server wird das Auslagern von häufig verwendeten Daten von dem schnellen Primärspeicher in den langsamen Sekundärspeicher reduziert und eine verbesserte Performance des IT-Systems kann sichergestellt werden. Zusätzlich tragen die prozessornahen Caches (L1-L3) zu einer Steigerung der Performance bei. Anzumerken ist noch, dass die Festplatten oft mit eigenen Caches bestückt sind, um den Zugriff durch Zwischenspeicherung und andere Mechanismen zu beschleunigen. Die Geschwindigkeit des Hauptspeichers kann allerdings trotz des Festplatten-Caches nicht annährend erreicht werden. Die Datenbank-Server großer Konzerne sind beispielsweise mit bis zu 640 Gigabyte Hauptspeicher ausgestattet. Das ermöglicht dem Anwender und den zahlreichen Jobketten einen Zugriff mit so wenig Verzögerung wie möglich, da relativ viele Daten im Hauptspeicher gehalten werden können. Zusammenfassend lässt sich sagen, dass die Geschwindigkeit der Datenzugriffe eine der größten Limitierungen der festplattenbasierten, relationalen Datenbanken und damit der 17 Vgl. Kemper, A./Eickler, A. (2011), S. 203 ff. 10 Anwendungen (OLAP / OLTP) darstellt. Nach Schätzungen verdoppelt sich der Datenbestand in Unternehmen ca. alle 5 Jahre, was das Problem des langsamen Datenzugriffs zunehmend verschärft. Zumal das Datenvolumen schneller als die Leistung relationaler Datenbanken wächst. Dieses Problem soll durch In-Memory-Datenbanken reduziert und bestenfalls vollständig behoben werden. 2.4 Spaltenorientierte Datenbanken Erste Vorläufer von spaltenorientierten Datenbanken gibt es bereits seit den 1970er Jahren. Daten werden hier spaltenweise statt, wie normalerweise, zeilenweise abgespeichert. Mit dieser Art der Datenhaltung können verbesserte Zugriffszeiten bei OLAPAnwendungen erreicht werden. Der Grund dafür ist, dass bei OLAP-Anwendungen häufig nur sehr wenige Spalten, aber viele Zeilen eines Datensatzes abgefragt werden. Zum Beispiel müssen für die Abfrage des Umsatzes aller Filialen einer Handelskette in Deutschland in 2011 bei einer spaltenorientierten Datenbank nur die Spalten Land, Jahr und Umsatz gelesen werden. Die anderen gespeicherten Informationen wie Mitarbeiteranzahl oder Filialleiter sind bei dieser analytischen Abfrage nicht von Bedeutung. Würden die Daten in einer konventionellen relationalen Datenbank zeilenweise gespeichert sein, müsste jeder Datensatz gelesen werden, da die benötigten Informationen auf alle Datensätze verteilt sind. Abbildung 4 zeigt den Unterschied zwischen zeilen- und spaltenorientiertem Datenzugriff bei OLAP- bzw. OLTP-Anwendungen. Sie verdeutlicht weiterhin, dass eine spaltenorientierte Speicherung für transaktionale Anwendungen (OLTP) oft nicht sinnvoll ist, da auf viele Spalten eines Datensatzes zugegriffen wird (z. B. Mitarbeiter-Stammdaten). Abbildung 4: Zeilen- und spaltenorientierter Datenzugriff18 18 Krueger, J. u. a. (2010), S. 4. 11 Mit spaltenorientierten Datenbanken kann weiterhin eine höhere Kompressionsrate als bei zeilenorientierten Datenbanken erreicht werden. Das liegt unter anderem daran, dass alle Werte in einer Spalte vom gleichen Datentyp sind (z. B. string, integer). Außerdem sind Unternehmensanwendungen dazu konzipiert, wiederholende Prozesse abzuarbeiten. Dadurch gibt es oftmals nur wenige unterschiedliche Werte in einer Spalte. All das führt zu einer guten Komprimierung mit dem Effekt, dass mehr Informationen auf der gleichen Menge an Speicher liegen und dadurch weniger Speicherplatz benötigt wird.19 Spaltenorientierte Datenbanken eignen sich also im Besonderen für analytische Anwendungen, wohingegen die zeilenorientierte Datenbank für transaktionelle Anwendungen eingesetzt werden sollte. Es gibt auch Überlegungen, spalten- und zeilenorientierte Datenbanken in einer hybriden Datenbank zu kombinieren, um die Vorteile beider Techniken nutzen zu können. 2.5 In-Memory-Datenbanken In-Memory-Datenbanken sind keine neuen Lösungen oder neue Produkte, auch wenn der derzeitige Boom und das mediale Interesse in der IT-Fachwelt darauf schließen lassen. Es existieren bereits seit einigen Jahren In-Memory-Lösungen, die sich als stabil und extrem nützlich für Unternehmen erwiesen haben. 2.5.1 Bewährte In-Memory-Zusatzlösungen In der Vergangenheit wurden die immer größer werdenden Wünsche und Ansprüche an IT-Systeme unter anderem mit Hilfe kostspieliger Zusatzlösungen und redundanter Datenspeicherung (z. B. Data Warehouse) zu Lasten der Flexibilität und Kosten weitestgehend erfüllt.20 Die nachfolgend vorgestellten Produkte sind In-Memory-Datenbanken, die als Beschleuniger für traditionelle Datenbanken bzw. Anwendungen dienen. Sie sind ohne das jeweilige Hauptsystem nutzlos. Im SAP-Bereich sind als Beispiel für In-Memory-Zusatzlösungen der SAP Advanced Planner and Optimizer (APO) liveCache und der SAP Business Warehouse Accelerator (BWA) zu nennen. Der SAP APO liveCache basiert auf der SAP-eigenen Datenbank MaxDB, liegt komplett im Hauptspeicher und ist als zusätzliche, zweite Datenbank innerhalb eines SAP 19 20 Vgl. Krueger, J. u. a. (2010), S. 4 f. Vgl. Krueger, J. u. a. (2010), S. 2. 12 APO-Systems (OLTP) integriert. Die APO-Funktionalitäten sind im Gegensatz zu anderen ERP-Modulen wesentlich umfangreicher und machen daher auch eine erhöhte Zugriffshäufigkeit auf die Datenbank erforderlich. Eine schnelle Antwortzeit der Datenbank auf Anfragen ist gerade bei der Verfügbarkeitsprüfung (Global Available-ToPromise) von sehr hoher Wichtigkeit. Der In-Memory liveCache sorgt für die benötigte schnelle Antwortzeit der Verfügbarkeitsprüfung, der Produktionsfeinplanung und der Bedarfsplanung. Laut Nüßer werden bei den oben beschriebenen datenbankintensiven Anwendungen Geschwindigkeitsvorteile im Faktor 1000 möglich.21 Die nachfolgende Abbildung 5 zeigt die Architektur eines SAP APO-Systems. Es wird deutlich, dass weiterhin eine relationale, festplattenbasierte Datenbank eingesetzt wird, zusätzlich kommt der hauptspeicherbasierte liveCache zum Einsatz. Abbildung 5: SAP APO mit liveCache22 Bei dem SAP BWA handelt es sich um eine spaltenorientierte Hauptspeicherdatenbank. Diese wird an die auf einer relationalen Datenbank basierenden OLAP-Anwendung SAP Business Warehouse (BW) gekoppelt. Damit werden erheblich schnellere Antwortzeiten auf immer umfangreichere Anfragen ermöglicht. Der SAP BWA kommt speziell in großen Unternehmen mit einer hohen Menge an auszuwertenden Daten zum Einsatz. Kleinere Firmen sehen in der Regel auf Grund der überschaubaren Datenmenge im Unternehmen und der zusätzlichen Kosten für Hardware und Lizenzen von einem Einsatz ab. Die folgende Tabelle 2 zeigt eine mögliche Performancesteigerung mit dem 21 22 Vgl. Nüßer, W. u. a. (2006), S. 416 f. Nüßer, W. u. a. (2006), S. 416. 13 Einsatz von BWA. Es wird deutlich, dass sich die Antwortzeit der in dem BWA indizierten Abfragen signifikant verbessert. Abfrage Ohne BWA Mit BWA Retail Masterquery dynamisch 69,1 Sekunden 2,2 Sekunden Global Risk Report 8,7 Sekunden 1,4 Sekunden Tabelle 2: Datenbank-Performance mit BWA23 Mit den beschriebenen In-Memory-Lösungen lässt sich die Anwendungs-Performance für die Benutzer verbessern. Der Hauptteil der Daten befindet sich jedoch nach wie vor auf langsamen Festplatten. Es werden lediglich wichtige Bereiche in den Hauptspeicher ausgelagert, um business-kritische Transaktionen oder Analysen zu beschleunigen. Diese beiden Produkte machen deutlich, dass bisherige In-Memory-Datenbanken „[…] entweder für den OLTP-Anwendungsbereich (also für die effiziente Transaktionsverarbeitung) oder für den OLAP-Bereich (also für die effiziente Anfrageauswertung) konzipiert“ 24 wurden. Mittlerweile findet jedoch ein Umdenken statt, wobei die starre Tren- nung der beiden Anwendungstypen aufgehoben werden soll. Es befinden sich bereits hybride In-Memory-Datenbanken in der Entwicklung, die OLTP- und OLAPAnwendungen auf einer Datenbasis vereinen. Weiterhin sind diese Datenbanken nicht mehr diskbasiert, sondern liegen komplett im Hauptspeicher. 2.5.2 Reine In-Memory-Datenbanken Bei In-Memory-Datenbanken handelt es sich um Datenbanken, die komplett im Hauptspeicher gehalten werden. Der größte Unterschied der Architektur eines In-MemorySystems zu einem diskbasierten System besteht in der Art der Datenhaltung. Bei diskbasierten Systemen werden die benötigten Daten erst bei Bedarf von der Platte in den hauptspeicherbasierten Buffer Pool (Pufferspeicher) geladen. Das Laden der Daten von dem Sekundär- in den Primärspeicher verursacht zeitaufwendige Kommunikation (Input/Output). Bei einem In-Memory-System werden dagegen beim Start der Datenbank alle Daten aus einem Festspeicher in den Hauptspeicher geladen. Auf diese Weise kann auf alle Daten der Datenbank direkt zugegriffen werden, ohne dass ein zeitaufwendiges 23 Vgl. Löscher, N. (2010), S. 14: http://www.sap.com/austria/about/events (Abfragedatum: 13. November 2011). 24 Kemper, A./Eickler, A. (2011), S. 668. 14 Nachladen aus dem Festspeicher nötig ist. Der direkte Zugriff auf die Daten sorgt außerdem für einen extrem vereinfachten Zugriffsalgorithmus bei In-MemoryDatenbanken, wie in Abbildung 6 anhand eines diskbasierten Systems und der Oracle In-Memory Datenbank TimesTen dargestellt wird.25 Abbildung 6: Diskbasierte versus In-Memory-Datenbank26 Nachfolgend werden einige wesentliche Elemente von In-Memory Datenbanken erläutert: Abfragesprache So gut wie alle untersuchten Datenbanken unterstützen die Datenbanksprache SQL. Flüchtige Daten Der in Hauptspeichern verwendete Speicher ist Random Access Memory (RAM). Sobald die Energieversorgung unterbrochen wird, gehen die Daten verloren. Daher werden regelmäßig Checkpoint-Files in den persistenten Speicher (Festplatte) geschrieben. 25 26 Vgl. Stirnimann, R./Ott, J. (2011), S. 6. Stirnimann, R./Ott, J. (2011), S. 7. 15 Datenwiederherstellung Nach einem Datenbank-Crash oder einer Unterbrechung der Energiezufuhr können die Daten durch das letzte Checkpoint-File und die geschriebenen Transaction Logs wiederhergestellt werden ACID-Eigenschaften Alle ACID-Eigenschaften bis auf Durability (Dauerhaftigkeit) werden standardmäßig unterstützt. Durch die Art des gewählten Speichers sind die Daten bei einem Systemabsturz nicht dauerhaft. Der Großteil verfügbarer In-MemoryDatenbanken deckt die Dauerhaftigkeit allerdings über Checkpoint-Files, Transaction Logs und Hochverfügbarkeitslösungen wie Replikation und Failover ab. Hochverfügbarkeit Zur schnellen Wiederherstellung der Services gibt es Replikationslösungen, wobei die Daten dauerhaft auf eine zweite Datenbank repliziert werden. Bei einem Ausfall der primären Datenbank kann die Standby-Datenbank innerhalb weniger Minuten mit den aktuellen Daten gestartet und von den Anwendern benutzt werden.27 2.5.3 Vorteile In-Memory-Computing Nachfolgend werden zwei technische Vorteile und die daraus resultierenden Vorteile für Unternehmen betrachtet. Da diese Vorteile gleichzeitig Nachteile der diskbasierten Systeme darstellen, werden einige Unterschiede beider Systeme hervorgehoben. Bessere Performance Da alle Daten garantiert im Hauptspeicher gehalten werden, ist kein Festplattenzugriff nötig, um Daten zu lesen, zu schreiben oder zu ändern. Weiterhin können optimierte, Cache-effiziente Indexstrukturen verwendet werden. Technischer Vorteil: Minimierung der Zugriffszeit auf die Daten und vereinfachte Zugriffsalgorithmen. Vorteil für Unternehmen: Schnellere Abwicklung von Geschäftsprozessen (OLTP) und kürzere Laufzeit für das Erstellen von Reports (OLAP). Unternehmen können eine Vorreiterrolle einnehmen und sich von der Konkurrenz absetzen. 27 Vgl. Stirnimann, R./Ott, J. (2011), S. 6. 16 Vereinfachte IT-Landschaft und geringere Kosten Trotz der vergleichsweise hohen Anschaffungskosten durch den teuren Hauptspeicher wird erwartet, dass durch In-Memory-Computing die Total Cost of Ownership (TCO), also die Kosten für den gesamten Lebenszyklus eines ITSystems reduziert werden können. Dies wird durch die vereinfachte SystemLandschaft und den daraus resultierenden Kosteneinsparungspotentialen (z. B. weniger Administration, Wartung) erreicht.28 Technischer Vorteil: Geringere Komplexität und dadurch weniger Systemausfälle. Vorteil für Unternehmen: Das gesparte Geld durch die reduzierten Kosten für den Betrieb der IT-Systeme kann entweder als Rücklage dienen oder es kann in die IT reinvestiert werden, um einen Wettbewerbsvorteil vor Konkurrenten zu erreichen. Eine höhere Systemverfügbarkeit bedeutet einen reibungsloseren Ablauf der Geschäftsprozesse für Unternehmen. 2.5.4 Nachteile In-Memory-Computing Nachfolgend werden zwei technische Nachteile und die daraus resultierenden Nachteile für Unternehmen betrachtet. Hohes Risiko bei der Einführung In-Memory ist bei weitem nicht so verbreitet bei Unternehmen wie diskbasierte Systeme. Damit ist vergleichsweise sehr wenig Wissen über die Technologie vorhanden. Außerdem gibt es sehr wenige Experten und Tools zur Problemanalyse. Die folgenden Fragen können auf Grund eines unzureichenden Einsatzes in der Praxis nicht hinreichend beantwortet werden: Wie bewährt sich ein solches System im day-to-day Betrieb, speziell unter Volllast? Wie reagiert es im Falle eines Desasters? Technischer Nachteil: Für die meisten Systemadministratoren ist das Gebiet Neuland. Damit steigt die Gefahr einer falschen Implementierung oder unsachgemäßer Administration, was im schlimmsten Fall einen Systemausfall und einen damit einhergehenden Datenverlust mit sich zieht. Nachteil für Unternehmen: Ein nicht oder nur schlecht laufendes IT-System wirkt sich in der heutigen Welt fast immer auf das Kerngeschäft der Unterneh- 28 Vgl. Plattner, H./Zeier, A. (2011), S. 22. 17 men aus. Das heißt im Klartext, dass bei einem Produktionsbetrieb die Fließbänder still stehen. Flüchtiger Speicher Durch den Einsatz von flüchtigem Speicher gehen die Daten bei Stromausfall verloren, was bedeutet, dass das ACID-Paradigma standardmäßig nicht gewährleistet wird. Es bedarf zusätzlicher Sicherungsmechanismen, wie das regelmäßige speichern der Daten auf persistentem Speicher (Festplatte) sowie das Loggen aller Transaktionen. Technischer Nachteil: Bei Stromausfall sind alle Daten verloren, die Implementierung zusätzlicher Sicherungsmechanismen verursacht Kosten und steigert die Komplexität der Systemumgebung. Nachteil für Unternehmen: Ein totaler Datenverlust der produktiven, transaktionalen Datenbank hat verheerende wirtschaftliche Auswirkungen für Unternehmen. Bei nicht ordnungsgemäßer Implementierung der notwendigen Sicherungen können wichtige Aufträge oder andere relevante Daten verloren gehen. 2.5.5 Technischer Fortschritt als Katalysator Das Thema In-Memory-Computing wird zurzeit sehr intensiv in der Fachwelt und den Unternehmen diskutiert. Laut Färber hat der technologische Fortschritt einen großen Anteil, dass es zu einem Überdenken der traditionellen Datenbankarchitekturen kommt. Er weist auf die Verfügbarkeit neuer Technologien wie große Hauptspeicherkapazitäten (Datenbank-Server mit einer Hauptspeicher-Kapazität von mehr als einem Terabyte) und Multi-Core-Prozessoren für eine echte parallele Verarbeitung von Transaktionen hin.29 Die auf dem Markt verfügbare Hauptspeicher-Kapazität genügt, um selbst die transaktionalen Daten großer Unternehmen im Hauptspeicher speichern zu können. Hinzu kommt, dass die vorgenannten Technologien in diesem Ausmaß mittlerweile auch für mittelständische Unternehmen bezahlbar sind, was vor einigen Jahren noch nicht der Fall war. 2.5.5.1 Hauptspeicher Wie im Vorfeld bereits geschrieben und wie der Name „In-Memory“ verrät, dient der Hauptspeicher als zentraler Datenspeicher für In-Memory-Datenbanken. Festplatten 29 Vgl. Färber, F. u. a. (2010), S. 81. 18 spielen demnach, wenn überhaupt, nur noch als Archivspeicher eine Rolle. Solid-StateDrives (SSD) werden immer günstiger und bieten eine bessere Performance als Festplatten. Große Anbieter von Storage-Lösungen wie Hitachi Data Systems haben bereits Storage-Systeme im Programm, die ausschließlich SSDs als Speicher verwenden. Die traditionelle, magnetische Festplatte läuft also Gefahr in nicht allzu ferner Zukunft ein Nischendasein zu fristen. Möglich und Interessant für viele Unternehmen wird der Einsatz der In-Memory-Technologie jedoch erst durch den starken Preisverfall von Hauptspeicher in den letzten Jahren. Während ein Megabyte Hauptspeicher im Jahr 2000 noch 1 US $ gekostet hat, liegt der durchschnittliche Preis heute bei 0,01 US $. In der Einführungsphase des relationalen Datenbankmodells im Jahr 1975 lag der Preis für Hauptspeicher bei 50.000 US $ pro Megabyte. Der Preis für Festplatten ist in den letzten Jahren ähnlich exponentiell gefallen.30 Hinzu kommt, dass sich die Größe des maximalen Arbeitsspeichers je Server in den letzten Jahren exponentiell erhöht hat. Es ist heutzutage ohne Probleme möglich, Server mit vier Terabyte Hauptspeicher zu beziehen (z. B. IBM POWER 770). Sollte die Menge nicht ausreichen, lässt sich der Hauptspeicher durch das Koppeln mehrerer Server nahezu beliebig erweitern.31 Voraussetzung ist jedoch das Partitionieren und Verteilen der Daten auf den verschiedenen Servern. Die folgende Abbildung 7 visualisiert den Geschwindigkeitsvorteil des Hauptspeichers anhand der Speicherhierarchie-Pyramide und wirft auch einen Blick auf die Register der central processing unit (CPU) und die CPU-Caches. Abbildung 7: Speicherhierarchie-Pyramide32 30 Vgl. Plattner, H./Zeier, A. (2011), S. 15. Vgl. http://www.isreport.de/news-events/news (Abfragedatum: 13. November 2011). 32 http://openbook.galileocomputing.de/linux (Abfragedatum: 25. November 2011). 31 19 Als Faustregel gilt: Je näher ein Speicher der CPU ist (Spitze der Pyramide), desto schneller aber auch kleiner ist der Speicher. Der Grund dafür ist der Preis. Zur Erweiterung der schnellen L1- und L2-Caches des Prozessors wird teures Silizium benötigt, was den Preis der CPU rapide steigen lässt. 2.5.5.2 Multi-Core-Prozessor Mit der Verwendung einer hauptspeicherbasierten Datenbank ist laut Krüger „[…] der Flaschenhals nicht mehr der Durchsatz und die Geschwindigkeit der Festplatte, sondern die Geschwindigkeit des Prozessors und wie schnell dieser Daten aus dem Arbeitsspeicher lesen kann.“33 Verdeutlicht wird diese Aussage in der Abbildung 8, die den neuen und alten Flaschenhals bei Datenbanken grafisch darstellt. Abbildung 8: CPU als Flaschenhals im In-Memory-Computing34 Diesem drohenden neuen Flaschenhals steht die rasante Entwicklung von Multi-CoreProzessoren entgegen. Dabei handelt es sich um Prozessoren, die mehrere Hauptprozessoren (Kerne) auf einem Chip haben. Prozessoren mit acht Kernen gelten heutzutage als Standard. Allerdings befinden sich in der Forschung bereits Prozessoren mit einem Vielfachen von acht Kernen. Jeder der Kerne hat in der Regel seinen eigenen L1- und L2-Cache. Damit ist ein echtes, paralleles Verarbeiten von Daten, beispielsweise die Verarbeitung mehrerer Transaktionen unterschiedlicher Benutzer, möglich. Ein aktueller Server der Firma IBM vom Typ POWER 770 für mittlere bis große Datenbankanwendungen kann z. B. mit bis zu acht Prozessoren mit 3,3 GHz mit je acht Prozessor- 33 34 Krueger, J. u. a. (2010), S. 7. Groth, H./Forster, A. (2011), S. 10. 20 kernen konfiguriert werden. Bei einer gewählten Einstellung von bis zu vier Threads pro Prozessorkern entspricht dies 256 echt parallel laufenden Threads.35 2.6 Aktuelle Trends im Bereich In-Memory-Computing Im Fokus der Entwicklung im In-Memory-Computing stehen sowohl transaktionale Datenbanken (OLTP) als auch analytische Datenbanken (OLAP). In den letzten Jahrzenten wurde sich auf die Optimierung der Trennung beider Arten fokussiert. Auf Grund des erwähnten technischen Fortschritts und der damit einhergehenden Möglichkeit, komplexe Anfragen in sekundenbruchteilen durchführen zu können, stellt sich jedoch zunehmend „[…] die Frage, ob die künstlich eingeführte Trennung von OLTP und OLAP aufgehoben werden kann und sämtliche Anfragen auf einem vereinfachten Datenbestand arbeiten können.“36 Der große Treiber auf diesem Gebiet ist zurzeit die SAP AG mit dem Produkt „High-Performance Analytic Appliance“ (HANA). Die Entwicklung von HANA begann 2007 und im Februar 2010 wurde das Produkt erstmals der Öffentlichkeit vorgestellt. Es sieht sich als Nachfolger des klassischen, relationalen Datenbankmanagementsystems. HANA sieht vor, OLTP- und OLAP-Systeme von zwei getrennten, festplattenbasierten Datenbanken, in eine gemeinsame Hauptspeicherdatenbank zu integrieren. Getrieben wird dieser Wunsch dadurch, dass analytische Auswertungen sich mehr und mehr als Treiber des operationalen Geschäfts herauskristallisieren und zum festen Bestandteil eines operativen Geschäftsprozesses werden. Auch soll HANA, je nach Bedürfnis, zeilen- und spaltenbasiertes Speichern von Daten unterstützen. Die neueste SAP HANA Version unterstützt bereits die aktuelle SAP Data-WarehouseLösung SAP BW (OLAP) und fungiert dort als zentrale Datenbank. Für OLTP-Systeme befindet sich HANA allerdings noch in der Entwicklung. Aber auch andere Firmen wie IBM, Oracle und diverse Open Source Anbieter springen auf den In-Memory-Zug und entwickeln neue Produkte. 3. Ausblick auf den zweiten Teil Nachdem im ersten Teil der Arbeit die theoretischen Grundlagen von Datenbanken und im Speziellen von In-Memory-Datenbanken betrachtet wurden, erfolgen im zweiten 35 36 Vgl. http://www.ibm.com/common/ssi (Abfragedatum: 10. Januar 2012). Krueger, J. u. a. (2010), S. 1. 21 Teil eine eingehende Marktanalyse und ein Produktvergleich von Hauptspeicherdatenbanken. Im vierten Kapitel erfolgt eine Marktanalyse zum Thema In-MemoryComputing. In Kapitel 5 wird ein Einsatz der Technologie im Unternehmen betrachtet. Es wird erörtert, für welche Branchen und Unternehmen eine Einführung lohnend ist. Weiterhin werden die Chancen und Risiken, die ein Einsatz mit sich bringt, aus Sicht des Business und der IT betrachtet. Im Weiteren wird auf erfolgreiche Einführungen in der Praxis dreier unterschiedlicher Produkte eingegangen. In Kapitel 6 erfolgt ein Vergleich von drei auf dem Markt etablierten Produkten im Enterprise Sektor. Mit Hilfe eines Kriterienkataloges werden die Produkte einzeln beschrieben. Abschließend werden die Ergebnisse des Produktvergleichs besprochen und mit Hilfe einer Nutzwertanalyse veranschaulicht und bewertet. In Kapitel 7 erfolgt das Fazit der Arbeit und es wird überprüft, ob eines der gegenübergestellten Produkte optimal für den Unternehmenseinsatz ist. Weiterhin wird ein Ausblick gegeben, welches der Produkte für den Unternehmenseinsatz geeignet scheint. 4. In-Memory-Computing Marktanalyse In-Memory-Datenbanken fristen auf dem globalen Markt derzeit noch ein absolutes Nischendasein. Festplattenbasierte Datenbanken sind nach wie vor die von Unternehmen favorisierte Datenbanklösung. Diese haben sich im Alltag bewährt und das erforderliche Know-how zur Einrichtung und Administration ist vorhanden. Allerdings stoßen traditionelle Datenbanken an ihre technischen Grenzen, da in Unternehmen die Anforderungen an die IT steigen. Beispielsweise werden immer mehr Daten gespeichert, die immer schneller verarbeitet werden sollen. Der dafür benötigte Festplattenspeicher stößt dabei an seine physikalische Grenze in Bezug auf die Verarbeitungsgeschwindigkeit. Um die steigenden Anforderungen von Unternehmen zu befriedigen, konstruieren Datenbankanbieter neue Datenbankmodelle und -architekturen. Es gibt mittlerweile weit über 20 reine In-Memory-Datenbanken auf dem Markt, die sich unter anderem im Funktionsumfang sowie den Integrations- und Administrationsmöglichkeiten unterscheiden. Eine andere Differenzierung erfolgt anhand der darüber liegenden Anwen- 22 dung.37 Es gibt spezielle In-Memory-Lösungen für transaktionale sowie für analytische Anwendungen. Andere Produkte sind für beide Anwendungsarten einsetzbar.38 Viele große relationale Datenbankhersteller sind im In-Memory-Sektor mit unterschiedlichen Lösungen vertreten und machen dieses auch seit mehreren Jahren mit einer umfangreichen Vermarktungsstrategie publik. So hat IBM (Relationale Datenbank: DB2) die In-Memory-Datenbank solidDB in ihrem Portfolio. Oracle (Relationale Datenbank: Oracle Datenbank) hat unter anderem TimesTen im Programm. Microsoft (Relationale Datenbank: SQL Server), dritter im Bunde der großen Datenbankanbieter, hält sich dagegen bisher noch sehr bedeckt zu dem Thema. Es gibt momentan keine bestätigten Informationen, wann und wie Microsoft eine eigene In-Memory-Lösung auf den Markt bringt. Gerüchte besagen jedoch, dass es eine Eigenentwicklung sein wird und in einer zukünftigen Version von Microsoft SQL Server zu sehen ist - allerdings nicht in naher Zukunft.39 Der vierte, große Anbieter von Enterprise-Datenbanklösungen ist SAP (Relationale Datenbank: MaxDB), die mit der In-Memory-Lösung HANA seit rund zwei Jahren mit mehreren großen Kampagnen für ein großes mediales Aufsehen sorgt. Mit der Übernahme des Datenbankspezialisten Sybase im Jahr 2010 wurde nicht nur der Zugang zu neuen Kunden geschaffen, sondern es wurden auch vielversprechende, hochentwickelte Produkte (unter anderem Sybase Adaptive Server Enterprise (ASE)) und die entsprechende Expertise, mit der die Entwicklung von HANA vorangetrieben werden kann, ins Unternehmen geholt. Die Übernahme von Sybase und die exzessiven Marketingaktivitäten der SAP sind als eine Kampfansage an die führenden Datenbankanbieter Oracle, Microsoft und IBM zu sehen. SAP plant bis zum Jahr 2015 eine Führungsposition auf dem Datenbankmarkt einzunehmen. Diese kommerziellen Produkte eignen sich auf Grund ihrer umfangreichen Features und der relativ hohen Kosten für Lizenzen und Support hauptsächlich für große Konzerne mit einer großen IT-Umgebung. Für kleine und mittelständische Unternehmen gibt es jedoch auch diverse In-Memory-Lösungen. Als Beispiele seien hier die komplett kostenlosen Produkte HSQLDB sowie SQLite genannt. Aktuellen Einschätzungen, Erfahrungen und Analysen aus Forschung und Praxis zufolge befindet sich die In-Memory-Technologie bereits in einer Phase in der davon ausge- 37 Vgl. Ott, J./Stirnimann, R. (2012), S. 1. Vgl. Kapitel 2 dieser Arbeit. 39 Vgl. Foley, M.-J. (2012) (Abfragedatum: 28. April 2012). 38 23 gangen werden kann, dass sie in den nächsten 10 Jahren traditionelle Datenbanksysteme größtenteils ablösen und ein neues Zeitalter in der Informationstechnologie einleiten kann.40 5. In-Memory-Computing im Unternehmenseinsatz Wie bei jedem anderen Produkt oder jeder anderen Technologie muss auch bei der InMemory-Technologie genau geprüft werden, ob ein Einsatz Sinn macht. Als größten Nutzen stellen die Anbieter immer wieder die um eine vielfach verbesserte Performance der Anwendungen dar, mit der Unternehmen sich einen deutlichen Wettbewerbsvorteil schaffen können. Eine verbesserte Performance ist aber nicht für jedes Unternehmen und jeden Geschäftsprozess von hoher Bedeutung, daher sollte im Rahmen des Projektmanagements genau geprüft werden, ob eine Einführung einen Nutzen für das Unternehmen hat. Dies kann beispielsweise im Rahmen eines Proof of Concept durchgeführt werden. Als größte Showstopper einer Einführung sind die folgenden Faktoren zu nennen: Anwendungen sind (noch) nicht In-Memory-fähig Sehr hohe Einführungskosten (hoher Preis für Arbeitsspeicher) Fehlendes Fachwissen in der IT-Abteilung und von externen Beratern Kaum Erfahrungswerte im Tagesbetrieb (was passiert wirklich, wenn der Strom ausfällt?) Bevor es allerdings zu einem Projekt mit dem Ziel der Einführung von In-MemoryComputing kommt, sollten einige allgemeine Faktoren betrachtet werden. Zum einen spielt die Branche eine wichtige Rolle. Branchen, in denen die Geschwindigkeit der ausgeführten Transaktionen eine große Rolle spielt, wie zum Beispiel im E-Commerce oder bei Finanzdienstleistern, profitieren im Allgemeinen weitaus mehr von dieser Technologie als andere Branchen. Durch die möglich werdende extrem schnelle Antwortzeit können die vereinbarten Service Level Agreements (SLA) gehalten beziehungsweise optimiert werden. Zum anderen hängt es von dem betrachteten Unternehmen selbst ab, ob eine Einführung in Erwägung gezogen werden sollte. Eine kleine Finanzagentur mit einer Kundendatenbank von 1000 Datensätzen hat in der Regel keinen nennenswerten Vorteil durch eine Umstellung auf eine In-Memory-Datenbank. Ganz 40 Vgl. Plattner, H. (2009), S. 6 f. 24 anders könnte das bei einem großen, global tätigen Finanzdienstleister sein. Die dort eingesetzten Anwendungen werden von tausenden Mitarbeitern auf der ganzen Welt gleichzeitig bedient und die darunter liegenden Datenbanken haben nicht selten Tabellen mit mehreren hundert Millionen Datensätzen. Hier kann der Einsatz von In-Memory unter Umständen einen wichtigen Wettbewerbsvorteil schaffen. Die oben aufgeführten Faktoren mit ihren Beispielen bilden nur einen Bruchteil dessen ab, was das Projektmanagement bei einer in Frage kommenden Einführung prüfen muss. Der Autor Ott sieht unter anderem die folgenden, allgemeinen Anforderungen und Rahmenparameter als Argumente für den Einsatz einer In-Memory-Datenbank: Ein regelmäßig hoch frequentierter Lese- und Schreibzugriff auf die plattenbasierte Datenbank, was durch viele gleichzeitig operierende Benutzer und eine hohe Anzahl an Transaktionen verursacht wird. Dieser Effekt kann auch durch Jobketten entstehen. Der Datenbank-Server leidet unter einer hohen Auslastung (u.a. durch die vorher beschriebenen Faktoren) und ist oder entwickelt sich zum Flaschenhals für die Anwendung. Es werden größtenteils einfache und kurze SQL-Statements auf der Datenbank ausgeführt (z. B. INSERT INTO kunde (knr, name, vorname) VALUES (1, 'Doe', ‘John’). Ein erhöhtes Risiko von Datenverlust, durch den flüchtigen Speicher, wird in Kauf genommen.41 5.1 In welchen Bereichen sich ein Einsatz lohnt Das Potenzial des In-Memory-Computing kann nicht in jedem Bereich so ausgeschöpft werden, dass es für das Unternehmen profitabel ist. Es muss von Fall zu Fall abgewogen werden, welche Vorteile der Einsatz dieser neuen Technologie erzielen kann. Die folgenden Bereiche können besonders von In-Memory profitieren: Business Warehouse Reports und -Analysen, welche je nach Datenvolumen und Komplexität bis zu mehreren Tagen benötigen, um generiert zu werden. Beispiel: Im Bereich der Personaleinsatzplanung kann das Unternehmen direkt erkennen, wie sich Veränderungen der Organisation auf das Geschäft auswirken. 41 Vgl. Ott, J./Stirnimann, R. (2012), S. 3. 25 Bei Akquisitionen wäre das Unternehmen in der Lage zu simulieren, wie die Belegschaft nach einem geplanten Zukauf angepasst werden muss. Diese Möglichkeit unterstützt den Prozess des Personalwesens. In-Memory-Computing ermöglicht es, Mitarbeiter und Entscheidungsträger mit detaillierten und aktuelleren Daten zu versorgen. Damit können Geschäftsprozesse schneller abgewickelt, Entscheidungen präziser getroffen sowie Trends erkannt werden. Beispiel: In Echtzeit zur Verfügung stehende Absatzzahlen aller Filialen einer Einzelhandelskette ermöglichen es dem Unternehmen direkt zu sehen, welche Produkte sich gut und welche sich schlecht verkaufen, welche Promotion erfolgreich ist und welche der Filialen am effektivsten ist. Im Endeffekt erhält das Unternehmen dadurch einen Live-Einblick in das Kaufverhalten der Kunden und sieht dadurch umgehend und sehr präzise, wie sich unter anderem Änderungen am Sortiment, an den Preisen und am Personal auf die Einkäufe bemerkbar machen. Wenn mit einem hohen Risiko behaftet Entscheidungen schnell getroffen werden müssen, kann In-Memory helfen, das Risiko eines eventuell aus der Entscheidung resultierenden Schaden zu minimieren. Die schnelle Datenbank ermöglicht die Simulation sehr vieler Szenarien binnen einer sehr kurzen Zeit und maximiert somit das Verhältnis von Potenzial und Risiko.42 Die Verfügbarkeitsprüfung (Global Available-To-Promise) ist eine wichtige Funktion in einem SAP ERP-System. Gibt ein Mitarbeiter eine Bestellung in das SAP-System ein, wird automatisch im Hintergrund geprüft, ob das gewünschte Produkt in der gewünschten Menge und zum gewünschten Liefertermin dem Kunden zugesagt werden kann. Ohne diese Prüfung sollte demnach keine Bestellung aufgenommen werden. Mit In-Memory lässt sich nicht nur die Verfügbarkeitsprüfung schneller durchführen, sondern es sind auch unterschiedliche Echtzeit-Analysen möglich, wie zum Beispiel eine Übersicht von Produkten, die auf Grund von fehlendem Bestand nicht verkauft werden konnten. Mit Hilfe dieses Reports kann nachgeforscht werden, in welchem Teil der Lieferkette die Ursache gelegen hat. Ist die Ursache gefunden, können entsprechende Vorkehrun- 42 Vgl. Stangneth, H. (2011) (Abfragedatum: 5. Mai 2012). 26 gen oder Verbesserungen getroffen werden, um zukünftige Nicht-Lieferungen zu minimieren. 5.2 Chancen und Risiken aus Sicht des Business und der IT Eine geplante Integration einer In-Memory-Lösung in die vorhandene IT-Landschaft eines Unternehmens birgt zum einen große Chancen, sie bringt aber auch nicht zu verachtende Risiken mit sich. Dies gilt sowohl für das Business als auch die für die Einführung und anschließende Administration im Tagesbetrieb verantwortliche ITOrganisation. Die Risiken sind vor allem darauf zurückzuführen, dass es sich bei dem Thema In-Memory um eine relativ neue und damit im Verhältnis zu festplattenbasierten Datenbanken wenig erprobte Technologie handelt. Die nachfolgende Tabelle 3 stellt die Chancen und Risiken von In-Memory-Computing dar. Abteilung Business & Management Chancen Risiken IT-Abteilung Analysen in Echtzeit Neue Analysemöglichkeiten Beschleunigung von Geschäftsprozessen Wettbewerbsvorteil Bessere Entscheidungsmöglichkeiten in Fachabteilungen Bereitstellung von neuen ITLösungen für das Business Hohe Zufriedenheit der Fachabteilungen mit der IT Optimale CPU-Ausnutzung Schlankere IT-Umgebung durch den Wegfall von Disks Reduzierte IT-Kosten (TCO) Erhöhte Ausfallzeiten vor allem zu Beginn Erhöhtes Risiko von Datenverlust Einführung bringt nicht die erhoffte Performance-Verbesserung Vorhandene Geschäftsprozesse müssen angepasst werden Erwartungen werden nicht erfüllt Fehlendes Know-how Hohe Einführungskosten durch neue Hardware & Lizenzen Applikationen müssen angepasst werden Kein umfangreiches Monitoring Versuchsobjekt von DB-Anbietern Tabelle 3: Chancen und Risiken von In-Memory-Computing43 Wie in der obigen Tabelle 3 dargestellt, gibt es auf beiden Seiten eine Vielzahl von Chancen und Risiken, die vor der Entscheidung einer möglichen Einführung genauestens abgewogen werden müssen. Zusammenfassend ist festzustellen, dass auf der Seite des Business die Chancen in neuen Analysemöglichkeiten und schneller abgewickelten Geschäftsprozessen liegen. Daraus resultieren verbesserte Entscheidungsmöglichkeiten der Fachabteilungen, was im Endeffekt einen Vorsprung vor Wettbewerbern und damit 43 Vgl. EXASOL - Vorteile - Das Richtige für alle im Unternehmen (Abfragedatum: 6. Mai 2012). 27 einen höheren Absatz möglich macht. Die Risiken für das Business liegen darin, dass die neue Technologie noch nicht ausgereift ist und das Risiko von erhöhten Ausfallzeiten und Datenverlust vor allem anfangs relativ hoch sein kann. Außerdem wird oft erst im Tagesgeschäft deutlich, ob die Einführung die versprochenen Geschwindigkeitszuwachse hält. Auf Seiten der IT kann mit einer erfolgreichen Einführung das Vertrauen des Business in die IT massiv gesteigert werden. Durch In-Memory können die Fachabteilungen bisher nicht für möglich geglaubte Operationen in Echtzeit durchführen. Weiterhin wird durch den Wegfall der Platten in den Systemen die Architektur vereinfacht, was langfristig verringerte Administrations- und Hardwarekosten zur Folge hat. Die Risiken liegen in dem momentan noch fehlendem Know-how der IT-Abteilungen, in fehlenden Analyse- und Monitoring-Tools für In-Memory-Datenbanken und der Tatsache, dass man eventuell als Versuchsobjekt für die Datenbank-Anbieter dient. Hohe Einführungskosten sowie eine notwendige Anpassung des Programmcodes der Anwendungen erweitern die Risiken für die IT-Abteilung. Es ist davon auszugehen, dass sich die Chancen und Risiken in den nächsten Jahren durch einen vermehrten Einsatz von In-Memory-Datenbanken massiv verändern werden. Gute Erkenntnisse können vor allem dann gewonnen werden, sobald Großkonzerne ihre Systeme umstellen. 5.3 Beispiele erfolgreicher Einführungen In Laufe der letzten Jahre haben bereits einige Unternehmen ihre IT-Systeme ganz oder teilweise auf speicherbasierte Datenbanken umgestellt. Im folgenden Abschnitt werden anhand drei reeller Beispiele die Möglichkeiten mit In-Memory-Computing praxisnah dargestellt. Unternehmen: Charité Berlin Branche: Gesundheitswesen Eingeführtes Produkt: SAP HANA Problemstellung: Das Krankenhaus hat mit einem rapide wachsenden Datenbestand zu kämpfen. Neben einer höher werdenden Anzahl an Patienten und Behandlungen tragen auch der Fortschritt in Technik und Forschung dazu bei, dass immer mehr Daten verarbeitet werden müssen. Im klinischen Bereich gibt es 28 Tabellen mit 300 Millionen Zeilen, die für das vorhandene, diskbasierte ERPSystem nicht in einer angemessen Art und Weise nutzbar waren. Lösung: Mit der Einführung von SAP HANA sind Einblicke in Patientendaten in Echtzeit möglich. Mit dieser direkt möglichen Auswertung lassen sich beispielsweise Therapien optimieren in dem der Erfolg der Therapie in Echtzeit überprüft und falls nötig angepasst werden kann.44 Unternehmen: Sihua Technologies Branche: Technologie Eingeführtes Produkt: Oracle TimesTen Problemstellung: Sihua Technologies bietet Streaming-Lösungen (Webradio und Web-TV) für seine Kunden aus den Media- und Fernsehanstalten an, die dann den Endkunden mit Musik, Videos und Fernsehsendern über die Streaming-Technologie versorgen. Eine wachsende Anzahl an Konsumenten sowie verbesserte Auflösungen (High Definition) machen eine Optimierung der unterliegenden Datenbank notwendig. Lösung: Mit der Einführung diverser Oracle-Datenbankprodukte inklusive der In-Memory-Datenbank TimesTen wurde die Performance so verbessert, dass die Anzahl der gleichzeitig verbundenen Benutzer von 1.500 auf 4.000 erhöht werden konnte. Weiterhin erfolgte eine Optimierung der Zugriffsgeschwindigkeit auf die angebotenen Medien.45 Unternehmen: Universidad Autónoma Metropolitana Branche: Bildung Eingeführtes Produkt: SAP Sybase Adaptive Server Enterprise (ASE) Problemstellung: Die Universität hatte mit einer immer schlechter werdenden Reaktionszeit des IT-Systems zu kämpfen. Verursacht wurde dies durch eine wachsende Anzahl von Benutzern (Studenten, Dozenten, Verwaltung) sowie eine Steigerung der gespeicherten Daten. Lösung: Mit der Umstellung auf die In-Memory-Datenbank Sybase ASE konnte die Universität die im Vorfeld vereinbarten Service Level Agreements einhalten und die Anwender haben nun einen einfacheren und schnelleren Zugriff auf die benötigten Informationen. Die durchschnittliche Reaktionszeit konnte um bis zu 40 % gesteigert werden und für vereinzelte Transaktionen ist die Bearbeitungs- 44 45 Vgl. SAP_Charite Berlin_Erfolgsgeschichte (Abfragedatum: 6. Mai 2012). Vgl. Oracle_Shanghai Sihua_Erfolgsgeschichte (Abfragedatum: 7. Mai 2012). 29 zeit von 18 Stunden auf 30 Minuten gesunken. Weiterhin konnte die Nutzung der Hardware-Ressourcen optimiert werden sowie die TCO der IT reduziert werden.46 Die oben aufgeführten erfolgreichen Einführungen machen deutlich, welche Optimierungsmöglichkeiten mit dem Einsatz der In-Memory-Technologie möglich sind. Das Einsatzgebiet ist, wie an den unterschiedlichen Wirtschafszweigen ersichtlich, relativ weit gestreut. Da öffentlich publizierte Erfolgsgeschichten sehr allgemein gehalten sind, müssen diese allerdings mit Vorsicht betrachtet werden. Die teilweise kennzahlengestützten Erfolgskriterien lassen sich nicht beliebig auf jedes andere Unternehmen kopieren. Weitere Faktoren wie die unterliegende Infrastruktur (Netzwerk), eingesetzte Hochverfügbarkeitslösungen (Datenreplikation), verwendete Hardware und das Datenbankvolumen können das Ergebnis erheblich beeinflussen, zum Negativen sowie zum Positiven. 6. Vergleich von drei In-Memory-Datenbanken Mit den Jahren hat sich die Anzahl der auf dem Markt verfügbaren In-MemoryDatenbanken gesteigert. Dies hängt zum einen mit den neuen technischen Möglichkeiten sowie dem Preisverfall der Hardware zusammen. Zum anderen gibt es einen wachsenden Bedarf nach hochperformanten Datenbanken in den Unternehmen. In den letzten Jahren wurde die In-Memory-Technologie stetig verbessert, entweder durch eine kontinuierliche interne Weiterentwicklung oder durch den Zukauf von anderen Datenbankanbietern und dadurch entstehenden neuen Möglichkeiten für das kaufende Unternehmen in Hinsicht auf nutzbare Patente, vorhandene Technologien und das Fachwissen der Mitarbeiter. Die Auswahl der in diesem Kapitel vorgestellten In-Memory-Datenbanken zielt auf Enterprise-Lösungen für IT-Umgebungen in Großkonzernen ab. Produkte für den vorwiegenden Einsatz in kleinen oder mittelgroßen IT-Umgebungen werden nicht betrachtet, sind auf dem Markt aber ebenso vertreten. Die Wahl der zu vergleichenden Produkte fiel nach eingehender Recherche auf Lösungen der Firmen IBM, Oracle und SAP Sybase. Diese Auswahl wird dadurch begründet, dass die nachfolgend diskutierten Produkte im direkten Wettbewerb zueinander stehen und für ähnliche Einsatzzwecke entwickelt wurden. Dadurch wird eine gute Vergleichsmöglichkeit geschaffen. Ganz be46 Vgl. Sybase_Universität_Erfolgsgeschichte (Abfragedatum: 7. Mai 2012). 30 wusst fiel die Wahl nicht auf SAP HANA. Es handelt sich bei HANA zum einen um eine Appliance (Kombination aus Hardware und Software) und zum anderen befindet sich ein großer Teil der Appliance noch in der Entwicklung und ist somit noch nicht vollständig auf dem Markt verfügbar. Das macht einen Vergleich mit anderen Produkten nahezu unmöglich. Die Wahl fiel auf die folgenden Produkte: IBM solidDB 7.0 Oracle TimesTen 11g SAP Sybase ASE 15.7 Hervorzuheben ist, dass alle vorgenannten Produkte von den Weltkonzernen IBM, Oracle und SAP in den letzten 6 Jahren aufgekauft worden sind. Bei den übernommenen Firmen handelt es sich um Anbieter von High-Performance-Datenbanken. Oracle hat im Jahr 2006 den Anfang gemacht und die Firma TimesTen übernommen. Der Rivale IBM hat im Jahr 2008 nachgezogen und die Firma Solid aufgekauft, während die SAP sich im Jahr 2010 mit dem langjährigen Kooperationspartner Sybase zusammengeschlossen hat.47 6.1 Aufbau eines Kriterienkataloges Um die drei In-Memory-Datenbanken möglichst standardisiert und objektiv beschreiben und vergleichen zu können, erfolgte eine intensive Recherche mit dem Ziel der Erstellung eines geeigneten Kriterienkataloges. In diesem Kapitel erfolgt zunächst eine Beschreibung der Kriterien, mit der im weiteren Verlauf dieser Arbeit dann die einzelnen Produkte beschrieben, bewertet und schließlich mit Hilfe einer Nutzwertanalyse miteinander verglichen werden. Es erfolgt eine Unterteilung in unterstützte Plattformen, Hochverfügbarkeit, Datenwiederherstellung (Checkpoint-Files & Transaction Logs), Performance und Skalierbarkeit. Unterstützte Plattformen Eine In-Memory-Datenbank wird in der Regel in eine bereits bestehende IT-Landschaft integriert. Bei großen Konzernen ist es eher die Regel als die Ausnahme, dass verschiedene Betriebssysteme serverseitig eingesetzt werden. Beispiele sind Windows Server, diverse Linux-Distributionen, IBM AIX und UNIX. Daher ist es von großer Bedeutung, dass das ausgewählte Produkt mit möglichst allen im Unternehmen eingesetzten Platt47 Vgl. Jackson, J. (2010) (Abfragedatum: 12. Mai 2012). 31 formen kompatibel ist. Eine Nicht-Kompatibilität mit der bestehenden IT-Landschaft führt entweder zu einem Ausschluss des Produktes oder erfordert eine, wenn möglich, entsprechende Anpassung der bestehenden IT-Landschaft auf die In-MemoryDatenbank. Hochverfügbarkeit Vor allem kritische Unternehmensanwendungen, die beispielsweise Teil des Order-toCash-Prozesses sind, sollten dem Anwender uneingeschränkt zur Verfügung stehen. Störfälle sind aber trotz des Einsatzes redundanter Komponenten, wie zwei Netzwerkkarten und zwei Netzteile je Server, nicht auszuschließen. Daher ist es bei kritischen Produktivsystemen oft notwendig, den gesamten Server redundant zu halten. Fällt der primäre Server durch einen unerwarteten Störfall aus, kann die Anwendung samt Datenbank innerhalb kurzer Zeit auf den Standby-Server umgeschaltet werden. Die Realisierung erfolgt meistens durch eine Datenbankreplikation. Hier werden die Daten der primären Datenbank ununterbrochen auf die Standby-Datenbank geschrieben. Kritisch zu betrachten ist, dass die andauernde Replikation zu Leistungsbeeinträchtigungen der primären Datenbank führen kann. Datenwiederherstellung Daten sind ein wichtiges Gut eines Unternehmens. Daher ist es notwendig, dass die eingesetzte Datenbanklösung über entsprechende Mechanismen verfügt, um nach einem Datenbank-Crash oder bei einer Stromunterbrechung keinen Datenverlust zu erleiden. Vor allem bei In-Memory-Datenbanken kann es auf Grund des ausschließlich flüchtigen Speichers schneller als bei festplattenbasierten Datenbanken zu Datenverlusten kommen. Für eine effektive Datenwiederherstellung gibt es Checkpoint-Files und Transaction Logs. Checkpoint-Files Ein Checkpoint-File ist eine Momentaufnahme der Datenbank, die in regelmäßigen zeitlichen Abständen auf einen persistenten Speicher geschrieben wird. In der Regel werden in dem Checkpoint-File nur die Änderungen seit dem letzten Checkpoint gespeichert. Bei einem Datenbank-Crash oder bei Datenkorruption kann keine gültige Verbindung mehr zu der Datenbank hergestellt werden. In solch einem Fall wird das letzte gültige Checkpoint-File in den Speicher der Datenbank gelesen und damit stehen die Daten wieder zur Verfügung. Transaktionen, die nach dem letzten gültigen Checkpoint-File 32 bestätigt wurden, sind dementsprechend mit dem Checkpoint-File nicht mehr wiederherstellbar. Transaction Logs Daten, die nach einem Checkpoint-File bestätigt wurden, werden in der sogenannten Roll-forward-Phase wiederhergestellt. Dabei werden alle bestätigten Transaktionen mittels der fortwährend auf einem persistenten Speichermedium gespeicherten Transaction Logs zurück in die Datenbank geschrieben. Somit lassen sich auch jene Daten wiederherstellen, die nicht durch das geplante Checkpoint gespeichert wurden.48 Die folgende Abbildung 9 verdeutlicht den kompletten Prozess der Datenwiederherstellung. Die Checkpoints und die Transaction Logs werden auf einem nicht-flüchtigen Speichermedium gespeichert, in der Regel auf einer Festplatte oder einer SSD. Abbildung 9: Prozess der Datenwiederherstellung Performance Die Performance von Datenbanken wird vor allem an der durchschnittlichen Antwortzeit von Transaktionen gemessen. Hinzu müssen Faktoren, wie die Größe der Datenbank, Komplexität der SQL-Statements und gleichzeitig angemeldete Benutzer in Betracht gezogen werden. Auch äußere Faktoren wie das Netzwerk und verwendete Hardware spielen eine Rolle. Einen weiteren Einfluss auf die Performance hat die für viele Hochverfügbarkeitslösungen notwendige Replikation zwischen primärer und sekundärer Datenbank. Gerade In-Memory-Datenbanken werben mit einer extrem verbesserten Leistung der Datenbank durch den Einsatz von Hauptspeicher anstelle von Festplatten. 48 Vgl. Oracle Data Availability and Integrity (Abfragedatum: 18. Juni 2012). 33 Skalierbarkeit Schon vor der Einführung einer In-Memory-Datenbank sollte geprüft werden, wie sich die Datenbank skalieren lässt, um in Zukunft mehr Zugriffe und einen wachsenden Datenbestand verarbeiten zu können und steigenden Anforderungen der Benutzer und des Managements gerecht zu werden. Bei der Skalierung wird zwischen Scale-Up und Scale-Out unterschieden. Scale-up steht für eine vertikale Skalierung. Hier wird beispielsweise ein bestehender Datenbank-Server mit mehr Speicher und CPU aufgerüstet oder der Server wird durch einen neuen, leistungsfähigeren Server ersetzt. Beim Scale-Out (horizontale Skalierung) werden neue Server zu dem bestehenden Server hinzugefügt, auch bekannt unter Blade- oder Grid Computing. 6.2 Bewertung der Produkte anhand der Kriterien 6.2.1 IBM solidDB 7.0 Unterstützte Plattformen SolidDB ist mit den folgenden Plattformen kompatibel: HP-UX, Microsoft Windows Server, Linux, Solaris sowie IBM AIX. Es ist davon auszugehen, dass IBM solidDB besonders für die IBM-eigene POWER7-Prozessorgeneration optimiert ist, die auf dem IBM-Betriebssystem AIX operiert. Hochverfügbarkeit Bei solidDB kommt eine Konfiguration aus zwei unabhängigen Servern als Hochverfügbarkeitslösung zum Einsatz. Diese Lösung läuft bei IBM unter dem Namen HotStandby. Die sekundäre Datenbank läuft parallel zu der aktiven Datenbank und hält den aktuellen Datenbestand der primären Datenbank vor. Bei einem Ausfall der primären Datenbank schlägt ein Überwachungsprogramm Alarm und es erfolgt, je nach Konfiguration, ein automatischer Failover auf die sekundäre Datenbank in weniger als einer Sekunde. Abbildung 10 veranschaulicht die Hochverfügbarkeitstopologie von solidDB. 34 Abbildung 10: Hochverfügbarkeitstopologie von IBM solidDB 49 Datenwiederherstellung (Checkpoint-Files & Transaction Logs) Die Datenbank unterstützt das automatische und manuelle Erstellen von CheckpointFiles aus dem Speicher auf eine Festplatte. Um bei einer notwendigen Wiederherstellung der Datenbank einen konsistenten Zustand zu erhalten, werden bei jedem ausgeführten Checkpoint nur die bestätigten Transaktionen auf die Festplatte geschrieben. Das Intervall der Checkpoints lässt sich mit Hilfe von zwei Parametern flexibel gestalten. Zum einen kann es in einem bestimmten zeitlichen Abstand ausgeführt werden, zum anderen nach der Anzahl der geschriebenen log files. Die richtige Frequenz richtet sich nach den individuellen Bedürfnissen des Unternehmens. Während der Erstellung eines Checkpoint-Files wird die Performance der Datenbank beeinträchtigt, was sich unter Umständen für den Anwender in Form von einer verzögerten Reaktionsgeschwindigkeit bemerkbar macht. Eine hohe Frequenz hat jedoch den Vorteil, dass die Datenwiederherstellungszeit erheblich verkürzt wird, da weniger Transaktionen auf der Datenbank zwischen den einzelnen Checkpoints durchgeführt wurden und somit das Rollforward der Transaction Logs zügig durchlaufen kann. Bei solidDB ist das Schreiben der Operationen in Transaction Logs auf einen Festspeicher standardmäßig aktiviert. Dadurch wird eine vollständige Wiederherstellung bis zu dem Zeit des Störfalls gewährleistet. Andernfalls ist eine Wiederherstellung nur bis zu dem letzten Checkpoint-File möglich. Das Schreiben der Logdateien kann entweder synchron oder asynchron erfolgen, je nach den individuellen Performance- und Sicherheitsanforderungen. Performance SolidDB kann sowohl für speicherbasierte als auch für plattenbasierte Datenbanken genutzt werden. Häufig verwendete Tabellen sollten demnach in den Hauptspeicher gelegt werden, um die Zugriffsgeschwindigkeit zu verbessern. Bei ausreichend vorhandenem Speicher kann auch der gesamte Datensatz im Speicher vorgehalten werden, es handelt sich dann um eine reine In-Memory-Datenbank, als welche solidDB hier auch betrachtet wird. Wenn die IBM-Hochverfügbarkeitslösung HotStandby zum Einsatz kommt, kann der sekundäre Datenbankserver von den Anwendern mitgenutzt werden. Um die Konsistenz 49 IBM solidDB 7.0 Information Center (Abfragedatum: 26. Mai 2012). 35 zu gewährleisten, sind allerdings nur read only Operationen möglich, die vor allem bei dem Generieren von Reports zustande kommen. Weiterhin können Datenbank-Backups von der sekundären Datenbank erstellt werden. Durch die beiden vorgenannten Faktoren kann die primäre Datenbank mit vorhandenen Mitteln (Hochverfügbarkeitslösung) erheblich entlastet werden. Weitere Performanceverbesserungen sind zum Beispiel durch eine individuelle Bestimmung, wann der Sever die Transaktionsdaten in das Transaction Log schreibt, möglich. Die Einstellung „relaxed“ (asynchron) bedeutet, dass der Server die Daten nicht direkt nachdem er sie bestätigt hat in das log file schreiben muss. Der Server wartet bis er weniger stark ausgelastet ist, um dann gleichzeitig mehrere Daten in das log file zu schreiben. Diese Einstellung erhöht die Performance, aber auch das Risiko, das aktuelle Daten bei einem Crash der primären Datenbank verloren gehen können, da die Daten unter Umständen noch nicht in ein log file geschrieben wurden. Weder die sekundäre noch die primäre Datenbank haben dann die Möglichkeit diese Daten wiederherzustellen.50 Zusätzlich stehen weitere Parameter zur Verfügung, die von DatenbankAdministratoren zur Optimierung der Performance angepasst werden können. Skalierbarkeit Wie jede andere auf dem Markt erhältliche In-Memory-Datenbank lässt sich IBMs InMemory-Datenbank skalieren, um ein wachsendes Datenvolumen und mehr Benutzer zu absorbieren. Eine vertikale Skalierbarkeit wird ermöglicht, da die neuesten Technologien (64-bit, multi-core, u.w.) unterstützt werden und neue, leistungsstärkere Server eingesetzt werden können. Weiterhin lässt sich solidDB auf zwei verschiedene Arten horizontal skalieren. Zum einen kann derselbe Datenbestand auf mehreren Datenbankinstanzen gespiegelt und damit die Last und die Anwender auf mehrere physikalische Server verteilt werden. Zum anderen können sehr große Tabellen auf mehrere physikalische Server aufgeteilt werden. Mit den beiden vorgenannten Skalierungsmöglichkeiten lässt sich die Reaktionszeit einer Datenbank unter Umständen bemerkbar verbessern.51 6.2.2 Oracle TimesTen 11g Unterstützte Plattformen 50 51 Vgl. IBM solidDB 7.0 Information Center (Abfragedatum: 26. Mai 2012). Vgl. IBM SolidDB data sheet (Abfragedatum: 26. Mai 2012). 36 TimesTen unterstützt laut Herstellerangaben die folgenden Plattformen: Microsoft Windows Server, Linux, Solaris und IBM AIX. Hochverfügbarkeit Als Hochverfügbarkeitslösung von Oracle TimesTen kommt zusätzlich zur aktiven Datenbank eine Standby-Datenbank zum Einsatz. Nur die primäre Datenbank kann direkt aktualisiert werden, die Standby-Datenbank erhält die Updates über die primäre Datenbank und kann bei einem Störfall auf der primären Datenbank den aktiven Part übernehmen. Das Umschalten von der aktiven auf die Standby-Datenbank kann mittels Oracle Clusterware automatisiert werden. Oracle Clusterware entdeckt Fehler und leitet Benutzer auf die Standby-Datenbank um und startet den Datenwiederherstellungsprozess auf der primären Datenbank. TimesTen bietet nahezu die gleichen Konfigurationsmöglichkeiten wie IBM solidDB bezüglich der Replikation zwischen primärer und sekundärer Datenbank, je nach individuellem Fokus auf Performance und Hochverfügbarkeit des Unternehmens. Datenwiederherstellung (Checkpoint-Files & Transaction Logs) Die bei TimesTen ausgeführten Checkpoints sichern nur die Daten, die sich seit dem letzten Checkpoint verändert haben. Neue oder veränderte Daten werden im Checkpoint-File aktualisiert, während nicht mehr benötigte Daten in dem Checkpoint gelöscht werden. TimesTen bietet zwei verschiedene Typen von Checkpoints an: Nonblocking Checkpoints: Diese werden standardmäßig und automatisch im Hintergrund der aktiven Datenbank nach beliebiger Frequenz erstellt. Während der Ausführung müssen keine Tabellen auf der Datenbank gesperrt werden und andere Transaktionen können parallel ausgeführt werden. Die Datenbank kann ohne Unterbrechung von den Applikationen bzw. den Anwendern während eines Checkpoints genutzt werden. Blocking Checkpoints: Diese können nur manuell erstellt werden. Im Unterschied zu den Nonblocking Checkpoints werden hier alle anderen Transaktionen pausiert und erst dann wieder gestartet, wenn das Checkpoint-File fertig gestellt wurde. Dies kann zur Folge haben, dass von Anwendern ausgeführte Operationen sich verzögern, hat aber den Vorteil, dass das Checkpoint konsistent ist. Log files können je nach gewünschter Sicherheit vor Datenverlust und Performance auf verschiedene Weise auf die Festplatte geschrieben werden. Wird der Parameter Durab- 37 leCommit auf „1“ gesetzt, wird die Transaktion erst ausgeführt, wenn das log file auf die Festplatte geschrieben und selbiges bestätigt wurde. Die Transaktion ist damit garantiert dauerhaft und kann bei einem Fehler der Datenbank wiederhergestellt werden. Wird der Parameter auf „0“ gesetzt, verbessert sich die Performance der Datenbank, aber es besteht die Gefahr, dass kürzlich ausgeführte Transaktionen, die noch nicht auf die Festplatte geschrieben wurden, bei einem Problem auf der Datenbank verloren gehen. Performance Auch bei TimesTen kann bestimmt werden, wann Transaktionen in das Transaction Log geschrieben werden. Weiterhin kann die sekundäre Datenbank für read onlyTransaktionen mitgenutzt werden. Zusätzlich stehen weitere Parameter zur Verfügung, die von Datenbank-Administratoren zur Optimierung der Performance angepasst werden können.52 Skalierbarkeit TimesTen selbst lässt sich nur vertikal, durch zusätzlichen Speicher und CPUs oder einen neuen Server, skalieren. Eine horizontale Skalierung wird in der betrachteten Version nicht unterstützt. Über Umwege lässt sich jedoch auch eine horizontale Skalierung erreichen. Dies wird ermöglicht, in dem TimesTen nur als Datenbank-Cache für eine festplattenbasierte Oracle-Datenbank eingesetzt wird. TimesTen arbeitet in diesem Fall nur als Beschleuniger einer plattenbasierten Datenbank, nicht aber als die Hauptdatenbank. Da bei diesem Produktvergleich nur reine In-Memory-Datenbanken verglichen werden sollen, wird auf eine nähere Erläuterung verzichtet. 6.2.3 SAP Sybase ASE 15.7 Unterstützte Plattformen Die Sybase ASE Datenbank ist mit den folgenden Server-Plattformen kompatibel: Microsoft Windows Server, Linux, Solaris, IBM AIX und HP-UX. Hervorzuheben ist, dass alle Microsoft Windows Server Versionen die In-Memory-Version von Sybase ASE nicht unterstützen.53 Hochverfügbarkeit 52 53 Vgl. Oracle TimesTen In-Memory Database Documentation (Abfragedatum: 23. Juni 2012). Vgl. Sybase ASE 15.7 Features (Abfragedatum: 23. Juni 2012). 38 Sybase ASE unterstützt in der vorgestellten Version keine reinen In-MemoryDatenbanken. Es gibt keine Möglichkeit die primäre In-Memory-Datenbank mit einer sekundären In-Memory-Datenbank zu replizieren und dadurch eine Hochverfügbarkeitslösung zu schaffen. Datenwiederherstellung (Checkpoint-Files & Transaction Logs) Sybase ASE bietet als reine In-Memory-Datenbank keine Möglichkeit zur Datenwiederherstellung. Der Parameter, der die Dauerhaftigkeit der Datenbank bestimmt, muss bei einer Nutzung als reine In-Memory-Datenbank auf „no_recovery“ gesetzt werden. Nach einem geplanten Neustart oder ungeplanten Störfall der Datenbank sind alle Daten verloren. Transaction Logs werden weiterhin geschrieben, jedoch nicht auf einen persistenten Festspeicher, sondern nur in den Hauptspeicher, um beispielsweise fehlerhafte Transkationen rückgängig machen zu können. Performance Sybase ASE ermöglicht weder eine Replikation zu einer Standby-Datenbank noch das Ausführen von Checkpoints in seiner In-Memory-Version. Weiterhin werden die Transaction Logs auf keinen Festspeicher geschrieben. Diese Faktoren machen die Datenbank hochperformant, mit der Kehrseite der dadurch nicht mehr gewährleisteten Dauerhaftigkeit der Daten. Skalierbarkeit Wie auch die beiden anderen vorgestellten Datenbanken lässt sich die In-MemoryVersion von Sybase ASE vertikal skalieren. Ob sich die Datenbank auch horizontal skalieren lässt, konnte trotz eines eingehenden Studiums der Benutzerdokumentation nicht abschließend herausgefunden werden.54 6.3 Ergebnis des Produktvergleichs In den Kapiteln 6.2.1 bis 6.2.3 wurden die Funktionalitäten der drei In-MemoryDatenbanken anhand der Kriterien aus dem Kriterienkatalog betrachtet. In diesem Kapitel werden diese Informationen herangezogen und in eine Nutzwerttabelle übertragen, wobei das Produkt mit dem höchsten Nutzwert als das Optimale anzusehen ist. Die Kriterien der Nutzwertanalyse werden unterschiedlich gewichtet und geben in der Summe 100. Das Kriterium Performance wird mit 40 Punkten am stärksten gewichtet, 54 Vgl. SAP Sybase ASE Documentation (Abfragedatum: 23. Juni 2012). 39 da es das Hauptkriterium für den Einsatz einer In-Memory-Datenbank ist. Die restlichen 60 Punkte verteilen sich auf die unterstützten Plattformen, Hochverfügbarkeit, Datenwiederherstellung und Skalierbarkeit, wobei die Kriterien unterstützte Plattformen und Skalierbarkeit die geringste Gewichtung mit jeweils 10 Punkten erhalten. Der Erfüllungsgrad gibt an, wie gut ein Produkt das jeweilige Kriterium erfüllt. Die hier benutzte Skala reicht von 1-5 und hat die in Tabelle 4 gezeigten Bedeutungen. Wert Erfüllungsgrad 1 nicht erfüllt 2 teilweise erfüllt 3 erfüllt 4 gut erfüllt 5 sehr gut erfüllt Tabelle 4: Bedeutung Erfüllungswerte der Nutzwertanalyse Die Gewichtung mit der Erfüllung multipliziert ergibt den Nutzwert. Die Summe der einzelnen Nutzwerte eines Produktes ergibt das Ergebnis und zeigt auf, welches der drei Produkte die Anforderungen am besten erfüllt. Die Nutzwertanalyse für die drei verglichenen In-Memory-Datenbanken ist in Tabelle 5 ersichtlich. Nach der Nutzwertanalyse erfolgt eine Erläuterung für die eingetragenen Erfüllungswerte je Kriterium und Datenbank. Kriterien Gewichtung Unterstützte Plattformen Hochverfügbarkeit Datenwiederherstellung Performance Skalierbarkeit Gesamt 10 20 20 40 10 100 IBM solidDB 7.0 Oracle TimesTen 11g Sybase ASE 15.7 Erfüllung Nutzwert Erfüllung Nutzwert Erfüllung Nutzwert 5 50 4 40 4 40 4 80 5 100 1 20 4 80 4 80 1 20 3 120 3 120 5 200 4 40 2 20 2 20 370 360 300 Tabelle 5: Nutzwertanalyse In-Memory-Datenbaken Unterstützte Plattformen Alle drei Produkte sind im Wesentlichen mit den wichtigsten Betriebssystemen kompatibel. IBM solidDB unterstützt alle wichtigen Server-Plattformen und erreicht die höchste Punktzahl. Oracle TimesTen und Sybase ASE werden von jeweils einer Plattform nicht unterstützt und erhalten Abzüge. 40 Hochverfügbarkeit Die Hochverfügbarkeitslösungen von IBM und Oracle werden mittels Replikation auf eine Standby-Datenbank realisiert. Die jeweiligen Lösungen beinhalten auch ein Überwachungsprogramm, das Fehler erkennt und, wenn nötig, einen automatischen Failover von der primären auf die Standby-Datenbank durchführt. Beide Anbieter erfüllen die gestellten Anforderungen, wobei Oracle mehr Konfigurationsmöglichkeiten mit dem Fokus auf Performance und Datensicherheit bietet und daher die Höchstpunktzahl erhält. Die In-Memory-Version von Sybase ASE bietet in der untersuchten Version keine Hochverfügbarkeitslösung, die Anforderung ist damit nicht erfüllt. Datenwiederherstellung (Checkpoint-Files & Transaction Logs) TimesTen und solidDB erfüllen alle gestellten Anforderungen an die Datenwiederherstellung. Checkpoint-Files werden inkrementell erstellt, das heißt es werden nur veränderte Daten gesichert. Weiterhin werden log files auf einen Festspeicher geschrieben. Beide Hersteller bieten vielfältige Konfigurationsmöglichkeiten und erfüllen die Anforderungen damit gut. Sybase unterstützt als In-Memory-Datenbank keine Datenwiederherstellung und muss bei einem Störfall von neuem aufgesetzt werden. Die Daten der Datenbank gehen bei diesem Prozess verloren. Performance Es ist davon auszugehen, dass alle drei Produkte ihre diskbasierten Konkurrenten in Bezug auf die Performance um ein Vielfaches übertreffen. Hervorzuheben ist das Produkt von Sybase, welches komplett auf Performance ausgelegt ist. Dieses wird durch die nicht vorhandene Hochverfügbarkeitslösung und die fehlende Möglichkeit der Datenwiederherstellung ersichtlich. Die Sicherungsmechanismen bremsen auch eine InMemory-Datenbank aus, wenn beispielsweise das notwendige Schreiben von Transaction Logs auf den Festspeicher betrachtet wird. Auf Grund des nach wie vor notwendigen Schreibens auf einen Festspeicher erhalten die Produkte von IBM und Oracle zwei Punkte Abzug. Durch das Fehlen dieser Schutzmechanismen ist Sybase ASE rein von den technischen Daten her die In-Memory-Datenbank mit der besten Performance. Skalierbarkeit Alle drei Datenbanken lassen sich vertikal skalieren. Eine horizontale Skalierung wird laut dem Kenntnisstand des Autors nur von solidDB unterstützt, womit solidDB diesen Vergleich für sich entscheidet. TimesTen lässt sich nur als Cache genutzt horizontal 41 skalieren. Zu den horizontalen Skalierungsmöglichkeiten von Sybase ASE konnte der Autor keine Informationen ausfindig machen. Das Ergebnis der Nutzwertanalyse zeigt, dass die Produkte von IBM und Oracle einen erheblichen Vorteil gegenüber der Datenbank von Sybase haben, wobei IBM mit 370 Punkten noch einen kleinen Vorsprung gegenüber Oracle mit 360 Punkten aufweist. Der Gewinner der Nutzwertanalyse ist damit IBM solidDB, zusätzlich erfüllt es als einziges Produkt alle fünf gestellten Kriterien. Sybase dagegen liegt mit lediglich 300 Punkten deutlich hinter den beiden anderen Produkten. Diese In-Memory-Datenbank besticht lediglich durch die sehr gute Performance. Die Kriterien Hochverfügbarkeit, Datenwiederherstellung und Skalierbarkeit werden nicht oder nur teilweise unterstützt. Die folgende Abbildung 11 zeigt anhand eines Netzdiagramms die Stärken und Schwächen der drei verglichenen In-Memory-Datenbanken und verstärkt die im vorigen Absatz getätigten Aussagen. Die Gewichtung findet hier keine Beachtung. SolidDB und TimesTen sind starke Allrounder, mit leichten Schwächen bei der Performance, während Sybase ASE ihre eindeutige Stärke in der Performance hat, bei den meisten anderen Kriterien aber nur mäßig abschneidet. Abbildung 11: Netzdiagramm In-Memory-Datenbanken 42 7. Fazit Global agierenden Unternehmen bleibt oft nichts anderes übrig, als sich einem immer stärker werdenden Wettbewerb zu stellen. Nischenmärkte werden mit der zunehmenden Globalisierung zur Seltenheit und so müssen sich Unternehmen von ihrer Konkurrenz absetzen. Die angebotenen Güter und Dienstleistungen müssen hinsichtlich der Qualität, der Vielfalt und des Preises konkurrenzfähig sein. Die IT kann bei diesem Unterfangen als Unterstützer und sogar als Wegbereiter dienen - die richtigen Prozesse, Technologien und Mitarbeiter vorausgesetzt. Durch den Einsatz von In-Memory-Computing können sich Unternehmen von der Konkurrenz absetzen und optimierte Güter und Dienstleistungen zu einem niedrigeren Preis anbieten, in dem Daten beispielsweise schneller prozessiert (z.B. Aufträge) und analysiert (z.B. Kaufverhalten) werden. Während das Erstellen eines kritischen Statusreports zum Kaufverhalten bei Unternehmen A beispielsweise zwei Tage dauert, kann das Konkurrenzunternehmen B, bei dem eine In-Memory-Datenbank zum Einsatz kommt, bereits nach einer Stunde auf den gleichen Report zugreifen. Das gibt dem Unternehmen B zwei Tage Vorsprung, um beispielsweise auf ein verändertes Kaufverhalten eingehen zu können und es kann damit letztendlich dem Unternehmen A Marktanteile abnehmen. Auf Basis der Nutzwertanalyse kann angenommen werden, dass die IBM In-MemoryDatenbank solidDB als optimal angesehen wird, da hier alle vorgenannten Kriterien erfüllt werden. Dagegen wird bei den anderen Produkten mindestens ein Kriterium nicht oder nur teilweise erfüllt. In der Praxis kann jedoch nicht pauschal gesagt werden, dass diese Lösung für alle Unternehmen optimal ist. Es muss hier je nach Unternehmen eine genaue Analyse erfolgen, welche Kriterien für das jeweilige Unternehmen wichtig sind. Es müssen alle Stärken und Schwächen der einzelnen Produkte betrachtet und dann anhand der individuellen Bedürfnisse eine Entscheidung getroffen werden. Selbst die in der Nutzwertanalyse schlecht abgeschnittene Datenbank Sybase ASE kann für den Einsatz bestimmter Anwendungen Sinn machen. Für Unternehmen, die Anwendungen einsetzen, welche Daten nur für einen kurzen Zeitraum benötigen und damit nicht dauerhaft sein müssen, kann diese Datenbank auf Grund der herausragenden Performance die beste Lösung sein. Als Beispiel kann der Warenkorb bei einem Online-Shop genannt werden. Nach einem Check-Out zum Bezahlvorgang wird der Warenkorb nicht mehr 43 benötigt. Es ist davon auszugehen, dass die Entwicklung von In-Memory-Datenbanken in den nächsten Jahren verstärkt vorangetrieben wird. Mit einem gleichzeitig vermehrten Praxiseinsatz sind vielfältige Neuerungen und Verbesserungen in diesem Bereich zu erwarten. Abschließend kann gesagt werden, dass jedes Unternehmen für sich entscheiden muss, welche der hier verglichenen bzw. auf dem Markt verfügbaren In-MemoryDatenbanken für einen Einsatz in Frage kommt. Es kann durchaus möglich sein, dass ein Einsatz für Unternehmen zu dem jetzigen Zeitpunkt oder generell keinen Sinn macht. Soll die vorhandene IT-Landschaft dennoch aufgewertet werden, kommt alternativ ein Upgrade der vorhanden IT-Landschaft (hardware- und softwareseitig) in Frage, um der steigenden Informationsflut und den stetig wachsenden Anforderungen des Business gerecht zu werden. Allerdings bleibt der Einsatz von In-Memory-Datenbanken eine zukünftige Option für Unternehmen, wenn auf mehr Erfahrungen zurückgegriffen werden kann. 44 Literaturverzeichnis Faeskorn-Woyke, H./Bertelsmeier, B./Riemer, P./Bauer, E. (2007): Datenbanksysteme: Theorie und Praxis mit SQL2003, Oracle und MySQL, München, S. 19, S. 22. Färber, F./Jäcksch, B./Lemke, C./Große, P./Lehner, W. (2010): Hybride Datenbankarchitekturen am Beispiel der neuen SAP In-Memory-Technologie, entnommen aus: Datenbank-Spektrum: Zeitschrift für Datenbanktechnologie und Information Retrieval, Band 10, Heft 2, Berlin-Heidelberg, S. 81. Groth, H./Forster, A. (2011): SAP In-Memory: Decision Making at the Speed of Thought (siehe: SAP In-Memory - Decision Making at the Speed of Thought.pdf, S. 10). Kannengiesser, C./Kannengiesser, M. (2007): PHP 5/MySQL 5, 2. Auflage, Poing, S. 613 f. Kemper, A./Eickler, A. (2011): Datenbanksysteme: Eine Einführung, 8. Auflage, München, S. 19 ff, S. 71, S. 203 ff, S. 289, S. 529 ff, S. 668. Krueger, J./Grund, M./Tinnefeld, C./Eckart, B./Zeier, A./Plattner, H. (2010): Hauptspeicherdatenbanken für Unternehmensanwendungen: Datenmanagement für Unternehmensanwendungen im Kontext heutiger Anforderungen und Trends, entnommen aus: Datenbank-Spektrum: Zeitschrift für Datenbanktechnologie und Information Retrieval, Band 10, Heft 3, Berlin-Heidelberg, S. 1 f, S. 4 f, S. 7. Nüßer, W./Stein, M./Hass, A./Kugelberg, T./Kley, F. (2006): SAP on Linux: Architektur, Implementierung, Konfiguration, Administration, Berlin-Heidelberg, S. 36 f, S. 399 f, S. 409 f. Ott, J./Stirnimann, R. (2012): In-Memory-Datenbanken im Vergleich, entnommen aus: Computerwoche 3/12 (siehe: In-Memory-Datenbanken im Vergleich.pdf, S. 1, 3, 4). Plattner, H. (2009): A Common Database Approach for OLTP and OLAP Using an InMemory Column Database (siehe: A Common DB Approach for OLTP and OLAP Using an In-Memory Column DB.pdf, S. 6 f). 45 Plattner, H./Zeier, A. (2011): In-Memory Data Management: An Inflection Point for Enterprise Applications, Berlin-Heidelberg, S. 9, S. 15, S. 22. Stirnimann, R./Ott, J. (2011): In-Memory Datenbanken auf den Zahn gefühlt! (siehe: In-Memory Datenbanken auf den Zahn gefühlt.pdf, S. 6 f). 46 Sonstige Quellen http://www.computerwoche.de/software/software-infrastruktur/2369870 (Abfragedatum: 27. Dezember 2011, siehe: Oracle dominiert - Datenbankeinsatz im SAPUmfeld.pdf). Stangneth, H. (2011): http://www.de.capgemini.com/it-trends-blog/2011/07/5- bereiche-denen-echtzeit-echte-vorteile-verschafft (Abfragedatum: 5. Mai 2012, siehe: 5 Bereiche, in denen Echtzeit echte Vorteile verschafft - IT-Trends-Blog - Capgemini.pdf). http://docs.oracle.com/cd/E11882_01/timesten.112/e21631/availability.htm (Abfragedatum: 18. Juni 2012, siehe: Oracle Data Availability and Integrity.pdf). http://docs.oracle.com/cd/E21901_01/welcome.html (Abfragedatum: 23. Juni 2012, siehe: Oracle TimesTen In-Memory Database Documentation.pdf). http://www.exasol.com/exasolution/vorteile.html (Abfragedatum: 6. Mai 2012, siehe: EXASOL - Vorteile - Das Richtige für alle im Unternehmen.pdf). http://www.isreport.de/news-events/news/archiv/2010/08/05/article/sap-appliancesoll-erp-datenbank-abloesen.html (Abfragedatum: 13. November 2011, siehe: SAPAppliance soll ERP-Datenbank ablösen.pdf). http://www.ibm.com/common/ssi/cgibin/ssialias?infotype=PM&subtype=SP&htmlfid=POD03031DEDE&attachment= POD03031DEDE.PDF&appname=STGE_PO_PO_DEDE_SP (Abfragedatum: 10. Januar 2012, siehe: IBM Power 770 Server Datenblatt.pdf). Jackson, J. (2010): http://www.infoworld.com/d/data-management/sybase-releasesits-first-in-memory-database-827 (Abfragedatum: 12. Mai 2012, siehe: Sybase releases its first in-memory database.pdf). http://infocenter.sybase.com/help/index.jsp?docset=/com.sybase.infocenter.help.ase .15.7/title.htm&docSetID=1797 (Abfragedatum: 23. Juni 2012, siehe: SAP Sybase ASE Documentation.pdf). 47 http://www.oracle.com/us/corporate/customers/customersearch/shanghai-sihua-1berkeley-db-ss-488833.html (Abfragedatum: 7. Mai 2012, siehe: Oracle_Shanghai Sihua_Erfolgsgeschichte.pdf). http://openbook.galileocomputing.de/linux/linux_05_001.htm#mj5498e5c72106a7b 330c22ded68392cc2 (Abfragedatum: 25. November 2011, siehe: Linux - Das umfassende Handbuch - Galileo Openbook.pdf). http://pic.dhe.ibm.com/infocenter/soliddb/v7r0/index.jsp (Abfragedatum: 26. Mai 2012, siehe: IBM solidDB 7.0 Information Center.pdf). http://public.dhe.ibm.com/common/ssi/ecm/en/imb14128usen/IMB14128USEN.PD F (Abfragedatum: 26. Mai 2012, siehe: IBM SolidDB data sheet.pdf). http://www.sap.com/austria/about/events/worldtour10/assets/2010/A_3_OMV_BW A_SAP%20World%20Tour%202010.pdf (Abfragedatum: 13. November 2011, siehe: A_3_OMV_BWA_SAP World Tour 2010.pdf). http://www.sap-kunden.de/erfolge/wp-content/uploads/CSS_Charite_de.pdf (Ab- fragedatum: 6. Mai 2012, siehe: SAP_Charite Berlin_Erfolgsgeschichte.pdf). http://www.sybase.com/files/Success_Stories/UAM-Customer-CS.pdf (Abfrageda- tum: 7. Mai 2012, siehe: Sybase_Universität_Erfolgsgeschichte.pdf). http://www.sybase.com/files/Data_Sheets/Sybase_ASE_15.7_Features_DS.pdf (Abfragedatum: 23. Juni 2012, siehe: Sybase ASE 15.7 Features.pdf). Foley, M.-J. (2012): http://www.zdnet.com/blog/microsoft/microsoft-hey-were-anin-memory-database-player-too/12393 (Abfragedatum: 28. April 2012, siehe: Microsoft Hey, we're an in-memory database player, too.pdf). 48 Eidesstattliche Versicherung Hiermit versichere ich, dass die vorliegende Arbeit von mir selbstständig und ohne unerlaubte Hilfe angefertigt worden ist, insbesondere dass ich alle Stellen, die wörtlich oder annähernd wörtlich aus Veröffentlichungen entnommen sind, durch Zitate als solche gekennzeichnet habe. Ich versichere auch, dass die von mir eingereichte schriftliche Version mit der digitalen Version übereinstimmt. Weiterhin erkläre ich, dass die Arbeit in gleicher oder ähnlicher Form noch keiner anderen Prüfungsbehörde vorgelegen hat. Ich erkläre mich damit nicht einverstanden, dass die Arbeit der Öffentlichkeit zugänglich gemacht wird. Ich erkläre mich damit einverstanden, dass die Digitalversion dieser Arbeit zwecks Plagiatsprüfung auf die Server externer Anbieter hochgeladen werden darf. Die Plagiatsprüfung stellt keine Zurverfügungstellung für die Öffentlichkeit dar. Steinbach, den 15. Juli 2012 ____________________