Spider im Archiv

MariaDB bei BlaBlaCar

| Autor / Redakteur: Jan Schulze* / Ulrike Ostler

Einfacher dank XA-Transaktionen

Allerdings ist es für das Unternehmen keine Alternative, auf das Archiv zu verzichten. BlaBlaCar verfolgt die Strategie, die Datenbestände auf den produktiven Systemen möglichst gering zu halten und gleichzeitig historische Daten für Auswertungen und dergleichen vorzuhalten. Um das Problem des umständlichen Archivzugriffs in den Griff zu bekommen, begann das Unternehmen Anfang des vergangenen Jahres damit, die neue Storage-Engine „Spider“ einzuführen.

BlaBlaCar setzt auf geteilte Ressourcen.
BlaBlaCar setzt auf geteilte Ressourcen. (Bild: BlaBlaCar)

Spider ist eine Speicher-Engine mit integrierten Sharding-Funktionen, die Partitionen und XA-Transaktionen (verteilte Transaktionen) unterstützt. Tabellen auf verschiedenen Datenbank-Servern können dadurch so behandelt werden, als lägen sie auf derselben Maschine. Dabei spielt es keine Rolle, welche Storage-Engine für die jeweilige Tabelle selbst zum Einsatz kommt. Damit agiert Spider selbst wie ein eigenständiger Cluster. MariaDB unterstützt Spider seit Version 10.0.4.

Der Grund für diese Entscheidung seitens BlaBlaCar: „Die Lösung sollte einfach sein, leicht aufzusetzen und leicht zu administrieren“, erläutert Blanc. Bei der Einführung der Spider-Engine bekam das Unternehmen Unterstützung durch MariaDB, die auch beim Tuning der Lösung behilflich waren.

Spider arbeitet nun als Proxy-Tabelle, mit dessen Hilfe die MyISAM-Shards abgefragt werden können, die auf verschiedene Schemata verteilt sind. Nachdem Spider nun das BlaBlaCar-Archiv auf eine solide technologische Basis gestellt hat, werden seit Beginn dieses Jahres die Workflows optimiert, mit dem Daten aus den produktiven Systemen ins Archiv übernommen werden. Ein eigenes Entwicklerteam befasst sich mit diesem Redesign.

Die Spider-Engine erlaubt viele gesplittete Reads bei gleichzeitigen Partitionen-Scans.
Die Spider-Engine erlaubt viele gesplittete Reads bei gleichzeitigen Partitionen-Scans. (Bild: MariaDB)

Rechtzeitig an Archivierung denken!

Die Einführung der Spider-Engine wurde damit erfolgreich abgeschlossen. „Wir können nun unsere historischen Daten einfach abfragen“, zieht Blanc das Fazit. Jedoch stellt er auch klar: „Die Migration alter Archivdaten auf eine neue Architektur ist sehr zeitaufwändig.“

Zudem war einiges an Kopfarbeit im Vorfeld notwendig, um die neue Zielarchitektur auszuarbeiten. Auch sei Spider ein noch sehr junges Projekt, gibt Blanc zu bedenken. Man müsse nun aufmerksam verfolgen, wie sich die Engine entwickle.

Die Lesson Learned bei BlaBlaCar: „Wenn man im produktiven Umfeld eine neue Tabelle erzeugt, sollte man auch gleich definieren, wann die Daten in dieser Tabelle irrelevant werden. Denn wenn man über die Archivierung nachdenkt, wenn die Tabelle bereits drei Jahre alt und mehrere Gigabyte groß ist, wird die Archivierung ziemlich schwierig“, so Blanc.

* Jan Schulze ist feier Autor.

Inhalt des Artikels:

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44038703 / Software)