Why our way works
Why our way works
In summary IBM / Teradata / Oracle / Microsoft / MarkLogic (as was) / and all other approaches all implement temporal capabilities but these still leave the developer with too much to do. A framework solution only succeeds when comprehensive capabilities are provided which are easy to use in addressing the most complex of event management requirements. A Time Travel environment is an all or nothing solution. Leaving developers in the weeds of coding around any aspects of time or periods of effect - in any part of a framework solution - causes too much pain!
Temporal capabilities need to be easy to use and make the handling of event management requirements straightforward to address. The major vendors essentially provide the developer with an indexing capability on timestamp values which is not enough for anything other than the most trivial of event management requirements. Our approach has successfully established a Time Travel infrastructure which supports the developer in the key areas of referential integrity, entity integrity, and multi user record level locking.
The diagram above depicts the developer working at the current view level and not having to write temporal logic code to ensure data integrity in the context of time. This approach gives the developer a much easier perspective on the coding for a system. Most importantly, all the considerations which a system may need to accommodate are available. We provide full temporal key constraint capabilities for Primary keys, Unique keys, and Transferable Foreign keys. We also support referential integrity rules for insert, update and delete where options of cascade, restrict, bounded and nullify are available as developer selectable options.
The main problem with all the above approaches is that the solutions replace one type of complexity with a new type of complexity which is arguably just as difficult as the original approach.
The common feature of all the above approaches is that the developers are not removed from having to write code to manipulate the time and date columns relating to the business data. Any requirement for direct coding to manage the versions and periods of effect of business data is complex. The only approach for step change improvement is where the developer is fully elevated above the weeds of coding how data changes over time.