I spent years making all kinds of databases, and I approve your message.
I recently noticed that CouchDB with its notion of map-reduce views can be used as a temporal database - make each change a "document", then make a map-reduce job to roll up the changes to the present state (or "as of" state", if you need it). Nice side effect is that you get free multi-master replication with automatic conflict resolution.
Do you have any other suggestions for a temporal database?
To my very great shame I am aware that there is an entire literature on the topic and I have barely even skimmed the surface of it.
Snodgrass, a leading researcher on temporal databases, wrote a book in 90s about it which is available for free from his website[1].
It's good because it was written before some temporal extensions were added in SQL:2003 (I think). The problem is that almost nobody has implemented those extensions (I believe some versions of DB2 have them), so you are left with doing things by hand. The Snodgrass book goes into amazing detail as to why you'd do such a thing and how to do it.
I recently noticed that CouchDB with its notion of map-reduce views can be used as a temporal database - make each change a "document", then make a map-reduce job to roll up the changes to the present state (or "as of" state", if you need it). Nice side effect is that you get free multi-master replication with automatic conflict resolution.
Do you have any other suggestions for a temporal database?