I'm designing a system where questions like "what was the sum of all records matching certain criteria, at a certain time" are important.
Multi-value concurrency control (MVCC) seems like the way to go here, since it keeps an audit trail forever.
However, it would be nice if the data storage could handle this for me, rather than cobbling it together out of other database features. Now, Oracle and CouchDB other database engines use MVCC, but only behind the scenes. They use it to resolve conflicts or to decide what to do when a long-running query encounters recently updated data. But I don't know of any systems that allow you to explicitly say "in the system state of 17:00 January 20 2009, what does this query return". So are there such systems out there? Ideally, open source?