One of the big issues in the database world is how to deal with historical records. The goal is to keep each version of the record from its initial insertion through its other, different versions over time. It sounds simple, but its implementation is not so easy. DBA and developers were using different tools, techniques, and hacks to achieve this goal. Some of them are as follows:
- Triggers
- Audit logs
- Data warehouses
- Custom solutions
Any of them are efficient, but unfortunately, they are not built into the database engine, and in order to be implemented, it requires some things to be reconsidered:
- Learning new tools
- Learning new concepts
- Administration
- Changes in the application layer
Everything listed here costs time and money. This is the main reason why temporal databases exist as a concept. Microsoft is actually implementing this concept into SQL Server...