Time Travel in an Enterprise Environment

Feng Yuan
3 min readSep 17, 2019

--

If you have ever worked in an enterprise environment on an CRM or ERP project you would have most certainly come across requirements relating to audit trails. Most commercial off-the-shelf such as SAP S4/HANA come with functionality to meet these requirements to certain and varying degrees.

What does have to do with time travel you might ask? For some you, you would have already made the connection. Audit trails essentially allows users to see the data objects stored in those systems at a specific point in time, as if time travelling…

This functionality, also sometimes referred to as change logs, becomes very powerful for fault finding and essential where there are multiple users and business processes which can change the data and when and who changed what becomes increasingly confusing

Take the following for example:
On 1st of Jan, Alice calls up an electricity retailer and signs up for an electricity utilities plan which was priced at $100/month.
A newly hired agent, John on the other end accidentally signs Alice up to a $200/month.
Alice gets a bill on the 4th of Feb, realising there’s something wrong proceeds to call the electricity retailer to address the problem.
The new agent, Bob equality as fat fingered as John attempts to address the problem but ends up entering $1000/month.
By the time Alice gets a new bill on the 4th of March, she decides logs a complaint. The complaints officer Mary, investigates the issue and as there was an audit trail, she apologises for John and Bob and finally resolves Alice’s issue and changes the plan to $100/month.

Audit trail for Alice after changes my Mary

Whilst data model for the example is completely unrealistic in the real world, it does demonstrate how this type of functionality can be used for trouble shooting and figuring out what occurred and when.

If you are attempting to roll your own CRM, ERP or just a small app with a database, complexities may arise depending on the implementation of this functionality as it can generate a lot of data when compared with a data model which does not have this type of functionality. However these days this is largely mitigated by sharding, scale out and tiering of data depending on how frequently the data is used, e.g. you would only care about the most current data, not what happened 5 years ago unless you were specifically looking for something.

Other challenges could be due to COTS solutions by default not enabling audit trails, only having audit trails for certain data attributes and/or audit trail data being stored in a separate table making it difficult for users to use, e.g. when audit trails are implemented as database triggers and are only visible to the IT department folks or database administrators.

In summary:
audit trails provide powerful functionality for troubleshooting and tracing data changes
provide audit trail/change log functionality for all data objects
provide users with an easy way to view history data

--

--

Feng Yuan
0 Followers

Applying technology to solve business problems