It might be of interest to you given your current project.
[1][2] 'persistent' means different things here.
If only there was an open source implementation of this concept that I could run on my own hardware. Does anyone know of such a beast?
And, no, I don't want to roll my own versioned/timestamped row schema in an RDBMS - been there, suffered that.
(that is, concatenate the entity, attribute name and timestamp in a lexically sorting string)
At larger scale, hyperdex http://hyperdex.org/ might do the job but I don't know much about it
[1] http://en.wikipedia.org/wiki/Persistence_(computer_science)
I'm working on a project to bring persistent data-structures to disk ( https://github.com/DanielWaterworth/Siege ). It's currently undergoing a rethink, hence the lack of recent activity, but it's still in development.
A more extensive description/case study of bi-temporal database design: http://www.cs.arizona.edu/people/rts/tdbbook.pdf
This case study tried to be somewhat rigorous, but from what I recall the SQL did get complex and expensive pretty quickly. There are a few attempts to create products to mask the complexity as well:
http://www.timeconsult.com/Software/Software.html
For living in time and dealing with it regularly in a common sense sort of way, it is really rather challenging to manage effectively as data.
Unfortunately, it is also ridiculously expensive.
Since I'm writing a history-aware application at the moment, I recently looked into different patterns for this and trying a mixed strategy at the moment (SQL DB used as document store and a single event log, that accumulates changes - a lean approach though, a few hundred lines python for the data access layer; what always gets ugly is the validation, which your application must take care of).
I wish, there was more hands-on material on the subject (some resources dive depth into bi-temporal modeling, but I feel your schemas can get complex (= expensive) very fast).