Ich bin auf der Suche nach einer Datenbankbibliothek, die in einem Editor verwendet werden kann, um ein benutzerdefiniertes Dokumentformat zu ersetzen. In meinem Fall würde das Dokument ein funktionales Programm enthalten.Gibt es eine Datenbankimplementierung mit Benachrichtigungen und Revisionen?
Ich möchte, dass Anwendungsdaten auch während der Bearbeitung persistent sind, so dass bei einem Programmabsturz keine Daten verloren gehen. Ich weiß, dass alle Datenbanken das bieten.
Darüber hinaus möchte ich auf das Dokument zugreifen und bearbeiten von mehreren Threads, Prozesse, möglicherweise sogar mehrere Computer.
Format: eine einfache Schlüssel/Wert-Datenbank würde völlig ausreichen. SQL muss normalerweise verpackt werden, und wenn ich vermeiden kann, eine schwere ORM-Abhängigkeit zu ziehen, wäre das großartig.
Revisionen: Ich möchte in der Lage sein, Änderungen bis zur ersten Änderung an dem Dokument, das jemals gemacht wurde, nicht nur in einer Sitzung, sondern auch zwischen Sitzungen/Programmläufen rückgängig zu machen.
Ich brauche Benachrichtigungen: jeder Prozess muss in der Lage sein, über Änderungen am Dokument benachrichtigt zu werden, damit es seine Ansicht entsprechend aktualisieren kann.
Ich sehe diese Anforderungen als ziemlich einfach, eine Grundlage, um die üblichen schwierigen Probleme einer Bearbeitungsanwendung zu lösen: Undo/Redo, mehrere Ansichten auf den gleichen Daten. Daher sollte das Datenbanksystem leicht und anspruchslos sein.
Vielen Dank für Ihre Einsichten im Voraus :)
Ich weiß, das ist ziemlich alt, aber ich arbeite an einer Datenbank, die genau Ihre Anforderungen erfüllen würde. Es heißt aodbm (siehe http://sf.net/projects/aodbm/). Es ist im Moment ziemlich einfach und es ist wahrscheinlich, dass das Dateiformat vor der ersten Veröffentlichung geändert wird, aber es ist in einem brauchbaren Zustand und wird gerade entwickelt. –