In-Memory-Datenbanken: Big Data speichern

Durch die digitale Kommunikation entstehen immer größere Datenmengen (Stichwort Big Data). Das ist eine große Chance für Firmen, die mit solchen Daten arbeiten. Doch je mehr Daten einem Unternehmen zur Verfügung stehen, desto größer ist die Herausforderung, Zusammenhänge, Muster und Aussagen herauszufiltern. IT-Lösungen und Systeme sind gefragt, um Unternehmen bei der Auswertung der Informationsflut zu unterstützen. Die Datenanalyse mithilfe von herkömmlichen Datenbanken reicht nicht mehr aus, um äußerst große Datensammlungen zu speichern, abzufragen und schließlich zu verarbeiten. Kommen klassische Datenbanken an ihre Grenzen, ist der Einsatz von In-Memory-Datenbanken gefragt.

Managed Database von IONOS

Datenbank-Services ohne Aufwand. Maßgeschneidert auf Ihre Bedürfnisse und individuell anpassbar!

Hochverfügbar
Sicher
Individuell

Was sind In-Memory-Datenbanken?

Eine In-Memory-Datenbank (IMDB) beruht auf einem Datenbank-Management-System, das seine Datensammlungen direkt im Arbeitsspeicher eines oder mehrerer Computer ablegt. Die Verwendung des Arbeitsspeichers bringt einen entscheidenden Vorteil mit sich: In-Memory-DBs verfügen über deutlich schnellere Zugriffsgeschwindigkeiten. Dementsprechend zügig stehen gespeicherte Daten zur Verfügung.

Fakt

Der Arbeitsspeicher wird auch RAM (Random Access Memory) genannt und enthält alle Programme, Programmteile und die dafür benötigten Daten, die aktuell ausgeführt werden. Nach Abschalten des Computers gehen alle kurzzeitig abgelegten Daten verloren.

Wie funktionieren In-Memory-Datenbanken?

In-Memory-Datenbanken speichern riesige Datenmengen und stellen Ihnen eine Reihe von Analyseergebnissen zur Verfügung. Aber wie genau funktioniert das Ablegen von Big Data und was für Technologien machen die Datenspeicherung möglich?

So werden Ihre Daten gespeichert

Bei der Datenspeicherung mit einer In-Memory-Datenbank unterscheidet man zwischen der spalten- und der zeilenbasierten Datenhaltung, wobei einige Datenbanksysteme beide Varianten der Datenspeicherung nutzen. Zeilenorientierte Datenbanken ordnen die erhobenen Datensätze gemeinsam in einer Zeile. Werden beispielsweise die Werte Name, Ort und Land gespeichert, würde die Anordnung der Daten folgendermaßen erfolgen: Name 1, Ort 1, Land 1, Name 2, Ort 2, Land 2. Bei einer spaltenbasierten Ablage werden die jeweiligen Daten ihren entsprechenden Kategorien zugeordnet: Name 1, Name 2, Ort 1, Ort 2, Land 1, Land 2.

Das Ablageformat der spaltenbasierten Datenhaltung heißt Column-Store-Format. Indem das System Daten mit identischen Werten zusammen speichert, minimiert sich die Anzahl aller vorhandenen Daten. Dementsprechend verringern sich Speicherplatz und Übertragungszeiten. Die Performanz der Analyse entwickelt sich ebenfalls positiv, da nur die benötigten und nicht alle Spalten analysiert werden müssen. Diese Form der Datenauswertung wird Columnar Projection genannt.

Folgende Technologien ermöglichen das Ablegen von Big Data

Das Konzept der In-Memory-Datenbanken ist nicht neu. Die Grundlagen der Datenbanktechnologien wurden bereits Mitte der 1980er Jahre entwickelt. Jedoch schlossen unzureichende IT-Infrastrukturen eine erfolgreiche Umsetzung aus. Moderne Computerarchitekturen wie Data-Warehouse, 64-Bit-Technologie und Multicore-Prozessoren ermöglichten schließlich eine sinnvolle Umsetzung des Konzepts. Zunehmend günstiger Arbeitsspeicher trieb die Verbreitung zusätzlich voran.

  • In-Memory-Datenbanken gehören in den meisten Fällen einem Data-Warehouse an. Diese Datenbanksysteme sammeln und verdichten Daten aus unterschiedlichen Quellen, sichern sie langfristig und bereiten sie für Analysen auf.

  • Mit der 64-Bit-Technologie gelingt es, die Kapazität des Arbeitsspeichers bis in den Terabyte-Bereich zu erhöhen. Dadurch sind In-Memory-DBs großen Datenmengen gewachsen.

  • Bei Multicore-Prozessoren arbeiten mehrere Prozessorkerne in einem Chip, wodurch es zu einer besseren Verarbeitungsleistung sowie einem höheren Datendurchsatz kommt. Der Datendurchsatz gibt die übertragene Netto-Datenmenge pro Zeit an.

Zu welchen Prozessen kommt es bei der Anwendung von In-Memory-Datenbanken?

Bei der praktischen Ausführung von In-Memory-Datenbanken kommt es zu wiederkehrenden, identischen Prozessen. Folgende Schritte durchläuft eine In-Memory-Datenbank, um Daten zu sichern:

  1. Starten der Datenbank: Mit dem Starten der Datenbank lädt das System den gesamten Datenbestand von der Festplatte in den Arbeitsspeicher. Somit müssen bei laufendem Betrieb der Datenbank keine Daten nachgeladen werden.

  2. Abgleich von geänderten Daten: Sollten sich Daten verändern, gleicht die Datenbank diese in regelmäßigen Abständen ab.

  3. Transaktionsprotokollsicherungen: Laufende Änderungen werden in sogenannten Transaction Logs vermerkt. Kommt es zu einem Fehler, kann die Datenbank zum Zeitpunkt vor Auftreten des Fehlers wiederhergestellt werden. Diesen Prozess bezeichnet man als „Rollforward“.

  4. Verarbeitung der Daten: Die Verarbeitung der Daten erfolgt wie bei traditionellen Datenbanken nach dem AKID-Prinzip (Atomarität, Konsistenz, Isolation und Dauerhaftigkeit). Dieses beschreibt gewünschte Eigenschaften von Vorgängen in Datenbank-Management-Systemen.

  5. Datenbankreplikation: Zur Sicherung kopiert der Prozess kontinuierlich Daten aus der Datenbank auf einen Computer oder Server.

IONOS Cloud Big Data Plattform

Offene Standards für unterschiedliche Szenarien und Architekturen mit flexiblen Big Data Lösungen von IONOS Cloud.

Daten- und Plattform Souveränität
Sichere und skalierbare Datenplattform
Größtmögliche Flexibilität

Vor- und Nachteile von In-Memory-Datenbanken

Wie bereits ausgeführt, gelingt es In-Memory-Datenbanken, mittels der Ablage von Daten im Arbeitsspeicher deutlich schnellere Zugriffsgeschwindigkeit zu erreichen. Der Vorteil der In-Memory-Datenbanken ist gleichzeitig die Ursache ihres größten Nachteils, denn eine dauerhafte Ablage von Daten auf dem Arbeitsspeicher ist nicht möglich. Welche Vor- und Nachteile gibt es sonst noch?

In-Memory-Datenbanken: Vorteile

Der größte Vorteil, den die Nutzung von In-Memory-Datenbanken mit sich bringt, sind die deutlich höheren Zugriffsgeschwindigkeiten, die auf die Verwendung des Arbeitsspeichers zurückzuführen sind. Dies führt auch zu einer beschleunigten Datenanalyse und einer präzise zu berechnenden Abfragezeit der Daten. Doch nicht nur die Beschleunigung optimiert die Datenanalyse. In-Memory-DBs ermöglichen eine Auswertung von strukturierten und unstrukturierten Daten aus beliebigen Systemen. Unternehmen und Software-Lösungen standen bislang vor der Herausforderung, große unstrukturierte Datenmengen, beispielsweise Texte, Bilder oder Audio- und Videodateien, abzulegen und weiterzuverarbeiten.

Durch den Einsatz von verteilten Infrastrukturen können in einer In-Memory-DB unstrukturierte Daten abgelegt werden, indem mehrere Recheneinheiten (Computer, Prozessoren etc.) parallel an einer gemeinsamen Aufgabe arbeiten (Parallelisierung) und diese auf verschiedene Servercluster verteilen. Daraus resultiert sowohl eine höhere Speicherkapazität als auch eine schnellere Verarbeitungs- und Übertragungsgeschwindigkeit der unstrukturierten Daten.

In-Memory-Datenbanken: Nachteile

Die Nutzung des Arbeitsspeichers sorgt einerseits für eine erhöhte Zugriffsgeschwindigkeit, bringt jedoch auch einen entscheidenden Nachteil mit sich: die lediglich kurzfristige Speicherung der Daten. Im Falle eines Systemabsturzes würden somit alle flüchtig gespeicherten Daten verloren gehen. Um dem Verlust der Daten entgegenzuwirken, haben sich folgende Methoden etabliert:

  • Schnappschuss-Dateien: Zu bestimmten Zeitpunkten, beispielsweise in routinemäßigen Abständen oder vor dem Abschalten, wird die vorliegende Version der Datenbank gespeichert. Ein wichtiger Kritikpunkt dieser Maßnahme ist jedoch, dass alle Dateien, die nach dem zuletzt getätigten Schnappschuss hinzugefügt wurden, verloren gehen.

  • Transaktionsprotokollsicherung: Der Vermerk von Änderungen in Transaction Logs ist als Sicherungsmethode im laufenden Prozess integriert. In Kombination mit regelmäßigen Schnappschüssen kann so nach einem Absturz der letzte Zustand nachverfolgt werden.

  • Replikation: In-Memory-Datenbanken verfügen bereits größtenteils über die Funktion, eine exakte Kopie der Datenbank auf einer herkömmlichen Festplatte abzulegen. Bei einem Ausfall kann so auf die hinterlegte Datenbank zurückgegriffen werden.

  • Nichtflüchtiger RAM-Speicher: Ein RAM-Speicher ist dann in der Lage, auch nach Neustart des Systems die Dateien zum Abruf zur Verfügung zu stellen, wenn er mit einem Energiespeicher kombiniert wird.

Ein weiterer Nachteil, der durch die Nutzung eines Arbeitsspeichers bedingt ist: Dem Computer selbst steht nicht mehr so viel RAM zur Verfügung. Um dieser Grenze entgegenzuwirken, kann vernetztes Grid-Computing eine Lösung sein. Beim Grid-Computing verbinden sich viele verschiedene Computer miteinander. Um an dieser Verknüpfung teilzunehmen, ist die Installation einer speziellen Software auf dem Computer erforderlich. Durch die Zusammenführung der ungenutzten Kapazitäten entsteht ein virtueller Hochleistungsrechner.

In-Memory-Datenbank vs. traditionelle Datenbanken

Unter einer Datenbank versteht man allgemein eine Sammlung von Informationen, die meist elektronisch verfügbar ist. Traditionelle Datenbanken legen ausschließlich strukturierte Daten ab. Um strukturierte Daten handelt es sich, wenn man eindeutig definierte Datenfelder in konkreten Datensätzen organisiert. Die Datensätze werden in Tabellen angeordnet, wobei jedes Datenfeld für ein unterschiedliches Attribut steht und dementsprechend benannt ist. Die Big-Data-Bewegung brachte das Modell an seine Grenzen, da es Schwächen hinsichtlich der Speicherung und Verarbeitung von großen Datenmengen aufzeigt. Eine weitere Herausforderung stellt die fehlende Anpassbarkeit der Datenbank dar. Unstrukturierte Daten wie Bilder und Dokumente in natürlicher Sprache lassen sich nicht ablegen und auswerten.

  In-Memory-Datenbank Traditionelle Datenbank
Daten strukturiert & unstrukturiert strukturiert
Zugriffsgeschwindigkeit Echtzeit langsam
Datensicherheit unsicher sicher

Wann ist eine In-Memory-Datenbank sinnvoll für Ihr Unternehmen?

Nach Ausführung der Vor- und Nachteile von In-Memory-Datenbanken sowie der direkten Gegenüberstellung mit traditionellen Datenbanken sollten Sie für Ihr Unternehmen abwägen, welches Datenbank-Management-System (DBMS) für Sie geeignet ist. Wenn Sie mit Big Data arbeiten, ist Ihnen die Entscheidung bereits abgenommen: Hier kommt nur eine In-Memory-DB in Frage. Doch auch in anderen Fällen könnte die Datenbank im Arbeitsspeicher die richtige Wahl sein.

Eine In-Memory-Datenbank ist das richtige DBMS für Ihre Daten, wenn:

  • Sie über eine große Datensammlung verfügen
  • Sie schnellen und häufigen Zugriff auf Ihre Daten benötigen
  • Ihre bestehenden Datenbank-Management-Systeme oder -server überlastet sind
  • die Persistenz Ihrer Daten nicht oberste Priorität hat
  • Sie einen möglichen Verlust Ihrer Daten in Kauf nehmen können

Beispiele für In-Memory-Datenbanken

Zu den bekanntesten In-Memory-Datenbanken zählen SAP HANA und Oracle TimesTen. Suchen Sie als Unternehmen nach einer Enterprise-Software mit vielfältiger Funktionalität, sind die Lösungen von SAP und Oracle am gängigsten. Beide Datenbank-Management-Systeme erreichen die höchstmögliche Performanz. Was zeichnet sie aus und wie sieht ihre praktische Anwendung in einem Unternehmen aus?

SAP HANA (High Performance Analytic Appliance)

Die In-Memory-Datenbank SAP HANA (High Performance Analytic Appliance) ist eine Kombination aus Hard- und Software. Die Software wurde eigens von SAP entwickelt, die Hardware (Server) hingegen stammt von 10 verschiedenen Herstellern. Im Gegensatz zu anderen In-Memory-Datenbanken legt SAP HANA die Daten nicht zwischenzeitlich, sondern dauerhaft auf dem Arbeitsspeicher ab und sichert die Daten mithilfe von Transaction Logs.

Die Verarbeitung von Transaktionen und Analysen in einer gemeinsamen Datenbank ermöglicht es, Informationen in Echtzeit zu bearbeiten. SAP HANA kann sowohl auf dem Unternehmensserver als auch in einer Cloud eingesetzt werden und verringert somit die Herausforderungen an die IT-Strukturen im Unternehmen. Zudem werden Kosten für bisherige Methoden zur Datenverwaltung minimiert und Entscheider erhalten neue und genaue Prognosen.

Oracle TimesTen

Die Datenbank von Oracle hat viele Gemeinsamkeiten mit der von SAP. Die Datenverarbeitung geschieht ebenfalls in Echtzeit und die Anwendung kann sowohl mittels eines Servers als auch als Cloud-Service erfolgen. Im Gegensatz zu der Datenbank von SAP stammen Soft- und Hardware der Oracle TimesTen von Oracle selbst.

Dementsprechend handelt es sich um eine reine Oracle Appliance. Der daraus resultierende Vorteil für den Nutzer ist, dass man im Fall eines Fehlers intern handeln kann und das Unternehmen nicht auf diverse Hardware- und Software-Firmen angewiesen ist. Oracle legt die gesammelten Daten nicht ausschließlich im Arbeitsspeicher ab: Daten, die weniger auf eine hohe Performance angewiesen sind, können auf der Festplatte oder einer Flash Disk gespeichert werden

In-Memory-Datenbanken im Vergleich: SAP HANA und Oracle TimesTen

Die Funktionsweisen von SAP HANA und Oracle TimesTen sind größtenteils identisch. Daraus resultiert ein ebenfalls identischer Hauptnutzen der beiden Datenbanken für Ihr Unternehmen:

  • Beschleunigte Datenverarbeitung
  • Neuausrichtung des Unternehmens mittels innovativer Anwendungen
  • Gesteigerte Agilität in Form von Flexibilität, Aktivität und Anpassungsfähigkeit

Die folgende Tabelle fasst die Unterschiede und Gemeinsamkeiten der beiden In-Memory-Datenbanken zusammen:

  Oracle TimesTen SAP HANA
Datenspeicherung Ablage der Daten auf Arbeitsspeicher, Festplatte und Flash Disk Dauerhafte Speicherung der Daten im Arbeitsspeicher
Soft- und Hardware Soft- und Hardware von Oracle Software von SAP, Hardware von verschiedenen Herstellern
Installation Hardware & Cloud-Service Hardware & Cloud-Service
Datenbank Spaltenorientierte Datenbank Spaltenorientierte Datenbank
Enterprise Information Management (EIM) Optimierung der Geschäftsprozesse durch diverse Funktionen zur Datenverwaltung Optimierung der Geschäftsprozesse durch diverse Funktionen zur Datenverwaltung
Big Data Entwickelt für Big Data Entwickelt für Big Data
Datenverarbeitung Echtzeit Echtzeit
Datenanalyse Direkt in der Datenbank Direkt in der Datenbank

Herausforderungen bei In-Memory-Datenbanken

Im Zuge der fortschreitenden Digitalisierung werden die ohnehin schon riesigen Datenberge weiter wachsen. Für die Entwickler von In-Memory-Datenbanken steht somit die stetige Weiterentwicklung bisheriger Systeme an. Folgende Aufgaben gilt es anzugehen:

  • Daten aus einer wachsenden Anzahl von Quellen erfassen
  • IT-Strukturen weiterhin vereinfachen und gleichermaßen Antwortzeiten und Analysegeschwindigkeiten reduzieren
  • Weitere Erkenntnisse aus der Datenanalyse gewinnen und Unternehmen bei ihrer Entscheidungsfindung unterstützen
  • Entwicklung von Anwendungen, die noch stärker auf die Herausforderungen des digitalen Wandels ausgerichtet sind
Fazit

In-Memory-Datenbanken haben sich als erfolgreiche Technologie für das Speichern und Verarbeiten von Daten im Arbeitsspeicher etabliert. Sie ermöglichen es Unternehmen, die mit großen Datenmengen hantieren müssen, nun erstmals, Big Data schnellstmöglich zu analysieren und jederzeit darauf zuzugreifen. Ein effektiver Einsatz von In-Memory-Datenbanken ist allerdings nur dann gegeben, wenn der Speicherort der Daten nicht ausschließlich eine In-Memory-Datenbank ist und standardisierte Systeme zur Datensicherung in die Abläufe integriert werden.