EN | DE

BigData Tech Series: MemSQL, die MySQL-kompatible In-Memory-Datenbank

Inhalt

Big-Data-Tech-Series-Teil-4MemSQL ist eine vollständig zu MySQL kompatible In-Memory-Datenbank und kann diese direkt ersetzen. MemSQL wurde von den beiden ehemaligen Facebook-Entwicklern Eric Frenkiel und Nikita Shamgunov entwickelt, um eine schnelle In-Memory-Alternative zu MySQL haben. Was macht MemSQL so besonders?

Beim Schreiben der Daten auf die Festplatte ist MemSQL rund 30-mal schneller als MySQL. Um die hohen Geschwindigkeiten zu erreichen, wandelt MemSQL die SQL-Anfragen in C++-Code um und hält diesen im Speicher vor. Dazu entfernt MemSQL sämtliche Konstanten aus der Query. Die parametrisierte Query wird dann in ein C++-Programm konvertiert und danach in ein Shared-Object kompiliert. Dieses Shared-Object wird fortan für alle Abfragen des gleichen Type verwendet.

Obwohl das Abarbeiten der ersten Query deutlich länger dauert, werden alle weiteren Anfragen sehr viel schneller beantwortet. Damit die Daten bei einem Systemabstürz nicht verloren gehen, werden die Daten nach Abschluss einer Transaktion auf die Festplatte geschrieben. Durch die Kombination von Write-Ahead-Logging und Snapshotting ist MemSQL ACID-kompatibel.

Im Gegensatz zu MySQL ist MemSQL in der Lage, Anfragen verlässlich und ohne große Schwankungen bei der Antwortzeit zu beantworten. MemSQL kann auch als Cluster betrieben werden. Außerdem lassen sich MemSQL und MySQL gleichzeitig betreiben, sodass sich z.B. Archivdaten mit Echtzeitdaten kombinieren lassen.

Unterschiedliche Antwortzeit
Die beiden Screenshots zeigen, wie die Antwortzeit zwischen MySQL und MemSQL differieren kann:

 

Während bei MySQL starke Schwankungen bei den Abfragen erkennbar sind, sieht man bei MemSQL am Anfang eine lange Antwortzeit und danach relativ konstante Antwortzeiten. Der starke Anstieg zu Beginn liegt am erstmaligen Konvertieren der SQL-Query in C++-Code und dem anschließenden Kompilieren in ein Shared-Object (die Tests wurden mit jeweils 1500 SQL-Queries mit MySQL und MemSQL durchgeführt, die analog auf demselben System liefen).

Diese Artikel der „Big Data Tech Series“ könnten Sie auch interessieren:

Es war noch nie so einfach anzufangen

Lassen Sie uns über Ihr Projekt sprechen.

Wir sollten uns kennenlernen!

STANDORTE
it-novum GmbH Deutschland
Hauptsitz
Edelzeller Straße 44 36043 Fulda Deutschland

Niederlassungen
Ruhrallee 9, 44139 Dortmund Königsallee 92a, 40212 Düsseldorf
E-Mail: info@it-novum.com
Tel.: +49 661 103-434
it-novum Zweigniederlassung Österreich
Ausstellungsstraße 50 / Zugang C
1020 Wien

E-Mail: info@it-novum.at
Tel.: +43 1 205 774 1041

it-novum Schweiz GmbH
Hotelstrasse 1,
8058 Zürich

E-Mail: info@it-novum.ch
Tel.: +41 44 567 62 07