MoSQL: Wo PostgreSQL und MongoDB sich treffen

Weil sie die Daten ihres MongoDB-Clusters mit SQL analysieren wollten, haben Entwickler mit MoSQL eine Möglichkeit geschaffen, Daten in eine PostgreSQL-Datenbank zu exportieren und Änderungen wohl live an den so erzeugten Mirror zu streamen.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 1 Min.
Von
  • Julia Schmidt

Um ein live Back-up ihres MongoDB Clusters in einer PostgreSQL-Instanz erzeugen zu können, haben die Programmierer des Online-Payment-Dienstes Stripe MoSQL entwickelt. Die Ruby-Anwendung, deren Quellcode jetzt unter der MIT-Lizenz zur Verfügung steht, streamt Änderungen innerhalb des MongoDB Clusters und formatiert sie in einen SQL Stream um. Der lässt sich dann an eine relationale, SQL-nutzende Datenbank weitergeben und dort verwenden.

Auf diese Weise kann laut Stripe das Produktivsystem ein MongoDB-Cluster nutzen, während die Analyse- und Berichterstattungsfähigkeiten von SQL offline bei den in der SQL-Datenbank gespeicherten Änderungen verwendet werden.

Um MoSQL für eigene Zwecke anzupassen, ist wohl eine "Collection Map" zu erstellen, die die Felder eines JSON-Dokuments auf die Spalten einer SQL-Datenbank abbildet. Optional lässt sich zur späteren Analyse mit _extra_props eine Extraspalte einrichten, die alle Felder aufzeichnet, die MoSQL durchlaufen. Die Entwickler der Anwendung empfehlen, sie das erste Mal auf einem sekundären Knoten eines MongoDB Clusters laufen zu lassen, da der Vorgang die Plattenaktivität sehr in die Höhe treiben kann. (jul)