title: Is there a database implementation that has notifications and revisions?
body: <p>I am looking for a database library that can be used within an editor to replace a custom document format. In my case the document would contain a functional program.</p>
  
  <p>I want application data to be persistent even while editing, so that when the program crashes, no data is lost. I know that all databases offer that.</p>
  
  <p>On top of that, I want to access and edit the document from multiple threads, processes, possibly even multiple computers.</p>
  
  <p>Format: a simple key/value database would totally suffice. SQL usually needs to be wrapped, and if I can avoid pulling in a heavy ORM dependency, that would be splendid.</p>
  
  <p>Revisions: I want to be able to roll back changes up to the first change to the document that has ever been made, not only in one session, but also between sessions/program runs.</p>
  
  <p>I need notifications: each process must be able to be notified of changes to the document so it can update its view accordingly.</p>
  
  <p>I see these requirements as rather basic, a foundation to solve the usual tough problems of an editing application: undo/redo, multiple views on the same data. Thus, the database system should be lightweight and undemanding.</p>
  
  <p>Thank you for your insights in advance :)</p>