top of page
Search

The power of a central change history mechanism

  • Writer: Blair Kjenner
    Blair Kjenner
  • Apr 10, 2023
  • 3 min read

Looking for a better way to track changes in your enterprise system? The next generation of enterprise systems is a decentralized architecture that allows enterprise systems to communicate. It includes a robust change history function that is designed to provide a comprehensive and immutable record of changes made to the data, including before and after images of the records that have been altered.


Change history is a feature that allows for the tracking of changes made to records in a central location. It is characterized by the following key features:


Immutability: Once a change is recorded, it cannot be altered or deleted.


Central storage: All change records are stored in a central location and include a before and after image of the records that have been changed.


Data Driven: The parameters that govern change history are stored in the data dictionary, and all results from the change history data are linked to the data dictionary.


Front-end and batch initiation: Changes can be initiated by both the front-end (when a user executes a command) and by batch processes. The system will create a change history record that is linked to the user/command when a change is made.


Tracking commands: Change history can be used to track that a command has been executed, such as when a staff member views a personnel record.


Transaction-based: When users make updates to the system it often affects records from different tables getting updated, inserted, and deleted. The log for these changes needs to be grouped under a change history record.


Compact design: Change history is designed to be as compact as possible to minimize performance impacts on the front-end process and to minimize locking issues.


Tracks temporal and non-temporal changes: Change history can be used to track changes to both temporal and non-temporal data.

A user-friendly view of the change history data is accessible from four different perspectives.


Record: Drilling down from a record (such as a contact) to see a history of all changes.


User: Seeing all changes to the database that were initiated by a particular user.


Command: Viewing all change history events that resulted from a command being executed


Database column: Viewing all change history events that affected a particular database column.


The change history function includes the capability to undo a change history event and restore the database to its original state before the change. This is especially useful for undoing complex transactions like temporal updates.


The change history function is leveraged in the data exchange component which allows systems to exchange data. Whenever data that is subscribed to changes, it is tracked by the change history function and then exported by the data exchange component.

The key benefits of the change history function are:

· Enables auditing and compliance by keeping a log of critical data changes.

· Helps with debugging and troubleshooting by providing a clear view of changes made to the system.

· Allows for undoing and restoring previous changes.

· Improves data governance by providing transparency on who made changes and when.

· Facilitates data exchange between systems by keeping track of changes to subscribed data.

· Enhances decision-making by providing a historical view of data changes.

· Supports AI engines by providing information on how data changes over time.

· Minimizes performance impacts and locking issues.


If you want more information on the change history function, you can check out the source code at https://github.com/bkjenner/3dEnterpriseSystems or visit the website at www.3d-ess.com. There is also a video explaining change history at www.3d-ess.com/videos (020.070 Change History).

I appreciate your comments, questions, and likes.

Thank you for your attention.


 
 
 

Recent Posts

See All

Comments


bottom of page