Don’t just remember when a data record has changed. Also remember from which point it is active and never erase a thing. The advantage of that is that you have a database which can show the state it was in at any time. That is like having a complete backup of your database anytime you change anything in it.
You can compare data from one day to the other, even by the minute or second for that matter. If you every wanted to be 100% revision safe, now you can be. The traditional way would have you go back to a backup from some point and then check if that thing you are trying to find out happened then or not. This is a very time consuming process and there is no gurantee that you will find the problematic data. Often, data which is entered on one day and erased before the backup is lost forever.
Using the Bi-Temporal Database this can never happen. Each record’s history is completely covered and accessable, because each record is changed and added as a new record. So, does this not increase the footprint of the database extremely? It would, but using the right compression/filesystem, the increase in size is marginal.