Speicherresidente Datenbank MemSQL mit MySQL-Schnittstelle

Mit einem speziellen Query-Cache und durch das Halten sämtlicher Daten im Speicher will MemSQL die "weltweit schnellste Datenbank" sein. Als Abfragesprache dient der SQL-Dialekt von MySQL.

In Pocket speichern vorlesen Druckansicht 55 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Wie andere aktuelle Datenbanksysteme hält auch das jetzt vorgestellte proprietäre MemSQL den gesamten Datenbestand im Speicher. Das vermeidet die wesentlich langsameren Festplattenzugriffe. Neu ist an diesem Produkt jedoch, dass es SQL-Abfragen erst in C++ wandelt, diesen Code übersetzt und dann ausführt.

Einmal so übersetzte Queries speichert MemSQL in generischer Form, analog zu den "prepared statements" klassischer Datenbanken. Dabei ersetzt es alle Literale durch Platzhalter. Wird dieselbe Abfrage ein zweites Mal mit anderen Parametern ausgeführt, greift der Server auf das vorliegende Template zurück und trägt anstelle der Platzhalter die aktuellen Werte ein.

Ähnlich gehen viele moderne Datenbanksysteme vor, die Abfragepläne zur wiederholten Ausführung vorhalten. Von MemSQL behauptet jedoch die Webseite, es sei die "schnellste Datenbank der Welt". Einen Beleg dafür gibt es nicht.

MemSQL lässt sich auf der Kommandozeile mit SQL abfragen. Das MySQL-Werkzeug mysqldump dient zum Exportieren von Daten auch aus MemSQL, der Import erfolgt ebenfalls wie bei MySQL durch Einlesen einer Exportdatei. Da MemSQL das MySQL-Protokoll benutzt, sollen sich auch viele MySQL-Schnittstellen gleichermaßen mit MemSQL nutzen lassen. Die Website erwähnt ausdrücklich Python und Ruby.

Zwar bietet auch MemSQL Transaktionen, aber viele Fähigkeiten aktueller Datenbanken fehlen ihm noch. Dazu gehören Views, Stored Procedures, Trigger, Prepared Statements. Eine Demoversion der Software gibt es als Binärpaket für Linux zum Herunterladen. (ck)