Java MongoDB Object Versioning

Muss ich tun, Versionierung auf (einfache) Java-Objekt-Graphen gespeichert, die in eine Dokument-orientierte Datenbank (MongoDB). Für relationale Datenbanken und Hibernate, entdeckte ich Envers und bin sehr erstaunt über die Möglichkeiten. Gibt es etwas ähnliches, die verwendet werden können mit Spring-Daten-Dokumenten?

Fand ich dieser Beitrag Gliederung der Gedanken, die ich hatte (und mehr...) zum speichern der objektversionen, und meine aktuelle Implementierung funktioniert ähnlich, dass es speichert Kopien der Objekte in einer separaten history-Kollektion mit timestamp, aber ich möchte, um dies zu verbessern, um Speicherplatz zu sparen. Also, ich glaube, ich brauche beide implementieren eine "diff" - operation auf Objekt-Bäume und ein "merge" - operation für die Rekonstruktion der alten Objekte. Gibt es Bibliotheken gibt, helfen mit diesem?

Bearbeiten:
Irgendwelche Erfahrungen mit MongoDB und Versionsverwaltung sehr geschätzt! Ich sehe die meisten wahrscheinlich, es wird nicht eine Spring-Data-Lösung.

  • Nicht vollständige Versionierung, aber wir haben implementiert eine winzige auditing-system - Protokollierung, die verändert, die alten Werte zu neuen. Wir sind mit Morphia ' s prePersist() - Methode (die funktioniert nur für vollständige Entität speichert, nicht-spezifische updates). Einige code-Beispiele, aber es ist nichts anspruchsvolles...
  • Vielen Dank für Ihren Kommentar! Ich wäre sehr daran interessiert, etwas mehr details zeigen Sie Ihre Lösung. Nur full-tracking-Einheit spart, ist definitiv ok: Das ist unsere wichtigste Anwendungsfall zu. Ein sehr interessanter Punkt ist die Art und Weise Sie vergleichen die alte auf die neue Gesellschaft über, die Identifizierung der veränderten Eigenschaften. Ich sah in den Grafik-Vergleich-frameworks hier aber nicht zu finden, die eine schnelle und einfache Lösung.
Schreibe einen Kommentar