In-Memory-Datenbank: Schnelle MySQL-Alternative MemSQL ist fertig
MemSQL hat seine gleichnamige Datenbank veröffentlicht. Diese ist kompatibel zu MySQL, aber von Grund auf darauf ausgelegt, sämtliche Daten im RAM zu halten. Dadurch soll MemSQL rund 30-mal schneller sein als MySQL und sich so für die Echtzeitanalyse großer Datenmengen eignen.

MemSQL bezeichnet seine MySQL-kompatible In-Memory-Datenbank als Echtzeit-Analyse-Plattform, denn mit MemSQL sollen sich große Datenmengen in kurzer Zeit durchsuchen lassen. Um das zu erreichen, hält MemSQL sämtliche Daten im RAM und kann seine Daten aber auf mehrere Server verteilen. Das soll Unternehmen den Umstieg auf NoSQL-Lösungen ersparen, so dass sie weiterhin mit SQL arbeiten können. Da MemSQL weitgehend kompatibel mit MySQL ist, soll es zudem kaum notwendig sein, bestehende Software anzupassen.
Die Entwickler betonen, MemSQL sei deutlich mehr als nur ein MySQL, das seine Daten im Speicher hält. So werden lockfreie Datenstrukturen mit einer Code-Übersetzung kombiniert, um die Daten effizient im Speicher zu verwalten. SQL-Anfragen wandelt MemSQL in C++-Code um, der dann über die im Speicher gehaltenen Daten läuft. Dazu werden im ersten Schritt alle Konstanten aus der Query entfernt und die nun mit Parametern versehene Query in ein C++-Programm umgewandelt sowie anschließend in ein Shared-Object kompiliert. Dieses wird dann für alle weiteren Anfragen des gleichen Typs verwendet. Während das Abarbeiten der ersten Anfrage dadurch länger dauert, sollen alle weiteren Anfragen sehr schnell beantwortet werden können, was zusätzliche Caches überflüssig macht, versprechen die MemSQL-Macher.
MemSQL soll es zudem erlauben, große Datenmengen zu analysieren, während fortlaufend neue Daten hinzugefügt werden. So soll MemSQL letztendlich in der Lage sein, Anfragen verlässlich und ohne größere Schwankungen bei der Antwortzeit in weniger als einer Millisekunde zu beantworten, was eine schnelle Analyse großer Datenmengen erlaubt, auch auf Standardhardware.
MemSQL kann auch im Mischbetrieb mit MySQL-Servern verwendet werden. Das bietet sich an, wenn auf bestimmte Daten in Echtzeit zugegriffen werden soll, während andere eher als Langzeitarchiv dienen. Dabei skaliert MemSQL auch mit der Zahl der Kerne auf einem Server, verspricht das Unternehmen.
Zwar hält MemSQL alle Daten im Speicher, schreibt diese aber bei Abschluss jeder Transaktion auch auf die Festplatte oder SSD. Durch eine Kombination aus Write-Ahead-Logging und Snapshotting soll sichergestellt werden, dass keine Daten verloren gehen.
Zusammen mit MemSQL hat das Unternehmen auch MemSQL Watch veröffentlicht. Damit lässt sich im Browser beobachten, was MemSQL tut. MemSQL Watch zeigt Informationen zum Softwarestatus, der Hardwareleisutng und der Systemkonfiguration auf einen Blick an.
Wer MemSQL ausprobieren will, kann unter memsql.com/download eine Testversion herunterladen, die 30 Tage ohne Einschränkungen bei der zu speichernden Datenmenge genutzt werden kann. Preisangaben zu MemSQL veröffentlicht das Unternehmen nicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Beides sind Kernobstgewächse bzw. gelten beide auch als Apfelfrucht. Es gibt auch sehr...
"MemSQL kann auch im Mischbetrieb mit MySQL-Servern verwendet werden" Bedeuted das, dass...
Ich nutze selber für einen Chat MEMORY-Tables. Schneller kann ich mir das nicht mehr...
Naja, es gibt inzwischen genug HANA-Appliances mit mehreren TB RAM plus Scaleout.