Tempomacher sind gefragt

In der heutigen Geschäftswelt dreht sich alles um Geschwindigkeit.

Kunden erwarten ständige Verfügbarkeit, direkten Einblick in ihre Daten, ein personalisiertes Einkaufserlebnis und Lieferungen möglichst noch am Tag der Bestellung. Wartezeiten werden selten toleriert, unnötige Abfragen speziell nach Daten, die bereits vorliegen sollten, ebenso wenig, So gehen im schlimmsten Fall Kunden verloren.

Angesichts dieser Entwicklungen verwundert es nicht, dass leistungsstarke In-Memory-Datenbanken und -Caches in vielen Branchen verstärkt Verbreitung finden. Sie erfordern keine persistente Datenspeicherung auf Festplatte und gleichen mit ihrem Tempo einem schnellen Superbike-Motorrad. Demgegenüber wirken traditionelle festspeicherbasierte Datenbanken wie schwerfällige Lkws – sie verarbeiten große Workloads zwar zuverlässig und flexibel, sind aber hinsichtlich ihres maximalen Tempos äußerst limitiert.

Hohe Geschwindigkeiten bergen Risiken

Die Leistungsstärke von In-Memory-Datenbanken ist jedoch auch an einige Nachteile geknüpft:

Höhere Gesamtbetriebskosten.  In-Memory-Datenbanken verfügen über keinen permanenten Datenspeicher.  Deshalb müssen Unternehmen zur Bewältigung des vorhandenen Datenaufkommens nicht nur genügend Arbeitsspeicher bereitstellen, sondern auch zusätzlichen Arbeitsspeicher vorhalten, damit neue Daten eingepflegt sowie Datenanalysen und Datenabfragen durchgeführt werden können.

Skalierbarkeit nur mit harter Obergrenze.  Daten und Datenabfragen – speziell große Datenanalysen – können den gesamten Arbeitsspeicher in Anspruch nehmen. Das gilt insbesondere für Anwendungen, die schnell wachsen oder großen Lastschwankungen ausgesetzt sind. Wenn der verfügbare Arbeitsspeicher ausgelastet ist, stoppt die Anwendung und es droht ein Komplettausfall des Servers.

Verzögerungen beim Neustart.  Bei In-Memory-Datenbanken werden die Speicherinhalte regelmäßig in Prüfpunktdateien geschrieben. Folgedaten werden dann in Write-Ahead-Log-Dateien gespeichert. Wenn der Speicher ausgelastet ist und es zu einem Ausfall kommt – was durchaus vorkommt –, kann es Stunden dauern, den aktuellsten Stand der Dateien wiederherzustellen. Gerade bei geschäftskritischen Anwendungen können solche Betriebsunterbrechungen ein Unternehmen ins Mark treffen. Eine Option wäre natürlich, die im Produktionsbetrieb verwendeten Daten redundant zu halten; das treibt jedoch die Betriebskosten weiter in die Höhe.

Und was ist mit In-Memory-Caches?

In-Memory-Cache werden zwischen einer persistenten Datenbank und den Anwendungsservern installiert, um den schnellen Zugriff auf kürzlich verwendete Daten zu ermöglichen. Dieser Ansatz weist die gleichen Schwachstellen wie In-Memory-Datenbanken auf und erhöht zudem die Komplexität der Datenbank- und Anwendungsarchitektur. Hinzu kommen zusätzliche CPU-Kosten, da die Daten angesichts der unterschiedlichen Struktur von Cache und Anwendungsschicht umgewandelt werden müssen.

Vor kurzem veröffentlichten Forscher von Google und der Stanford University eine Studie zu diesem Architekturansatz. Ihr Fazit: „Die Zeit des [Remote In-Memory Key-Value Store] ist bereits vorbei: Die Komplexität ihrer Domain-unabhängigen APIs (z. B. PUT/GET) überträgt sich auf die Anwendung, was zu zusätzlichen (Un)Marshalling-Kosten und Netzwerk-Hops führt.“

Die bessere Alternative zu In-Memory Lösungen

Eine moderne Datenplattformtechnologie wie InterSystems IRIS® benötigt diese Extra-Cache-Ebene architekturbedingt nicht und bietet im Vergleich zu In-Memory-Key-Value Stores deshalb eine bessere Leistung und Effizienz, während gleichzeitig die Architektur- und Anwendungskomplexität verringert wird.

Wie das im Detail funktioniert, erfahren Sie in unserem kostenlosen Technology Brief:  Eine überlegene Alternative zu In-Memory-Datenbanken und Key-Value Stores


Quellen:

http://wi-wiki.de/doku.php?id=bigdata:inmemory

https://de.wikipedia.org/wiki/In-Memory-Datenbank

Joe Lichtenberg

Joe Lichtenberg ist verantwortlich für das Produkt- und Industriemarketing des Bereichs Datenplattformen bei InterSystems. Er bringt jahrzehntelange Erfahrung in der Arbeit für verschiedene Anbieter von Datenmanagement-, Analyse- und Cloud-Computing-Technologien mit.

Kommentar verfassen

*