Spider im Archiv

MariaDB bei BlaBlaCar

| Autor / Redakteur: Jan Schulze* / Ulrike Ostler

"Spider" ist eine Speicher-Engine mit integrierten Sharding-Funktionen und nun nebst MariaDB bei BlaBlaCar im Einsatz.
"Spider" ist eine Speicher-Engine mit integrierten Sharding-Funktionen und nun nebst MariaDB bei BlaBlaCar im Einsatz. (Bild: BlaBlaCar/ dm_art/Fotolia.com)

BlaBlaCar, die moderne Form der Mitfahrzentrale, wächst schnell. Nicht nur die Geschäftstätigkeit der Plattform weitet sich aus – auch das Volumen der vorhandenen Daten steigt rapide an. Das Unternehmen hat sich deswegen entschlossen, sein Archiv künftig auf Basis der noch jungen Speicher-Engine „Spider“ mit MariaDB zu führen. Das Ziel des Projekts: Alle historischen Daten sollen einfach durchsuchbar sein, selbst wenn sich die Tabellen der produktiven Datenbanken ändern.

Alle Unternehmen, die ihre Dienste über das Internet anbieten, bekommen früher oder später das gleiche Problem: Die Datenmenge, die verwaltet und archiviert werden muss, steigt rapide an. Je mehr Erfolg ein Unternehmen hat, desto mehr aktuelle und historische Daten fallen an.

Um die Performance der produktiv genutzten Datenbanken zu gewährleisten, ist die Verlagerung aktuell nicht benötigter Daten in ein Archiv unvermeidlich. Doch auch die Archivbestände müssen jederzeit schnell für Abfragen zugänglich sein.

BlaBlaCar macht da keine Ausnahme. Das 2006 gegründete Unternehmen der Comuto SA mit dem Hauptsitz in Paris vermittelt Mitfahrgelegenheiten über ein Web-Portal und mobile Apps. Mittlerweile ist die Plattform in 22 Ländern aktiv, über 400 Mitarbeiter an 14 Standorten weltweit betreuen die Community und kümmern sich um die Technik.

In Deutschland unterhält das Unternehmen Büros in München und in Hamburg. BlaBlaCar verzeichnet 25 Millionen Mitglieder, pro Quartal nutzen rund zehn Millionen Reisende die Dienste der Community. Der Name leitet sich übrigens von einem besonderen Merkmal der Plattform ab: Nutzer können auf einer Skala von einem bis drei „Blas“ angeben, ob sie bei der gemeinsamen Fahrt lieber ihre Ruhe haben möchten oder ob sie gesprächsfreudig sind.

Komplexe IT, kritische Datenbanken

Den Kern von BlaBlaCar bildet die Datenbank „MariaDB“ in Version 10.0. Eine zentrale Anforderung an die Datenbank war von jeher, dass diese mit dem Unternehmenswachstum beliebig skalieren kann. Dabei liegt der Fokus von BlaBlaCar auf einer Scale-Out-Strategie: Mehr Datenbankleistung wird durch Hinzufügen weiterer Server in die bestehenden Cluster erreicht.

Inzwischen betreibt das Unternehmen in seinen beiden Rechenzentren fast 250 physikalische Server. Als Cluster-Lösung nutzt BlaBlaCar „MariaDB Enterprise Cluster“. Die Datenbank-Tabellen müssen aktuell über eine Million Logs pro Tag verarbeiten. Und dabei hochverfügbar sein, schließlich basiert das Geschäftsmodell des Unternehmens auf einer funktionierenden IT.

Ein typisches "Spider"-Deployment besitzt eine shared-nothing Cluster-Architektur.
Ein typisches "Spider"-Deployment besitzt eine shared-nothing Cluster-Architektur. (Bild: MariaDB)

Die verteilte Umgebung ist per se schon komplex. Noch komplexer wird es durch die unterschiedlichen Nutzungsbereiche der verschiedenen Datenbank-Cluster: Je nach Einsatzgebiet kommen verschiedene Storage-Engines zum Einsatz. Die produktiven Systeme speichern die Daten mittels der transaktionalen Engine „InnoDB“, die bis Version 10.0.8 der Standard bei MariaDB ist. Auf den Archiv-Shards in einem separaten Cluster hingegen kommt zusätzlich die schlankere auf Leseabfragen optimierte Storage-Engine MyISAM zum Einsatz.

„Es war recht schwer, Daten aus dem Archiv abzufragen“, erinnert sich Nicolas Blanc, Head of Platform Architecture bei BlaBlaCar. „Zudem ließ sich dieser Ansatz nicht skalieren, da alle Tabellen auf einem Server gespeichert werden müssen, um eine Abfrage über alle Tabellen hinweg auszuführen. Zudem stellte die Modifikation der Datenbank-Schemata eine Hürde dar: Wenn wir eine produktive Tabelle ändern, sollen wir dann auch alle Tabellen im Archiv ändern?“

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)