Forum OpenACS Q&A: Re: Databases with native bi-temporal support?

Posted by Andrew Piskorski on
Back in June 2003 when I was looking into this, I also found Tiger, TimeDB, Espresso, and JTemporal, all of which look like emulation layers of sorts. TimeDB is clearly closed source, I'm not sure about Tiger. Espresso and JTemporal are open source. Tiger and TimeDB both appear to be inactive.

Around that same time (June 2003), I also asked Rick Snodgrass about this and got back some useful info from him:

I think the list of resources in your message is quite complete. I don't know of any other efforts, except for our effort in the TAU project (see to add transaction-time support to the internals of BerkeleyDB and MySQL. We're going for a production-quality system. Our alpha system works well, but is not of sufficiently high performance, so we're hard at work on making things run even faster. We plan on releasing the system as open source by the end of the year.


There are no plans right now to support valid time. The support generally occurs in different modules. For MySQL/BerkeleyDB, the bulk of the tt support is in BDB. For valid time, the bulk would be in MySQL. If our tBDB/tMySQL takes off, then we'll consider adding vt support.


Yes, that's how we do it. Not that much has changed in MySQL, though we are now considering ways to take a predicate in transaction time in the WHERE clause and get it to BDB.

Note that they're reusing their transaction-time enabled BerkeleyDB as the MySQL storage manager, which is probably the basic reason they're using MySQL at all.

On the confused state of the Temporal SQL standards mentioned above, he said:

That is still the state. Basically the US and UK delegations couldn't agree, so the ISO committee gave up. I still have hopes that a DBMS vendor will decide that temporal support is sufficiently important to support natively; the draft standards provide a good design to implement.
So, in case anyone else is ever interested in this temporal database stuff, that's everything I learned!