workshop: MongoMVCC: Versionsverwaltung für die Datenbank

Event_large

Wenn Begriffe wie "Committen" und "Branchen" fallen, denkt man meist instinktiv an Vorgänge in einer Versionsverwaltung wie Git und Konsorten.
In der Tat ist es häufig so, dass der Quelltext von Anwendungen wie ein Augapfel behütet, versioniert und archiviert wird.
Die Anwendungsdaten hingegen fristen ein stiefmütterliches Dasein in der Datenbank. Die Differenz zwischen dem Erstellungszeitpunkt und dem letzten Änderungsdatum sind die einzigen Hinweise auf eine bewegte Historie der Datensätze. Aber warum eigentlich?

MongoMVCC ist eine Bibliothek des Frauenhofer IGD, das die Konzepte aus der Versionsverwaltung aufgreift und für die Endanwendung abstrahiert.
Hierzu zählen unter Anderem:


  • Eine durchgängige Versionsgeschichte

  • Die Möglichkeit einen Datenstand zum Zeitpunkt X auszuchecken

  • Mehreren Datenbankständen (Branches) parallel zu verwenden

In diesem Talk werden wir einen Blick auf das MVCC-Konzept werfen. Anschließend werden wir das Gelernte in einer Live-Coding-Session vertiefen.
Zum Mitprogrammieren ist eine Java-Entwicklungsumgebung, ein Git-Client und ein lokaler MongoDB-Server von Vorteil.