Purpose of History Server
No edit summary
No edit summary
Line 16: Line 16:
# Answering though questions on how data has ended up in the current state - this is frequently needed for business reasons, support reasons and for debugging reasons
# Answering though questions on how data has ended up in the current state - this is frequently needed for business reasons, support reasons and for debugging reasons
# Research into data change - how often has data changed historically - how does data grow over time
# Research into data change - how often has data changed historically - how does data grow over time
The cost of ownership of an MDrivenServer History database is very low since all of the normal issues with historic data transformation as often is costly in CQRS-systems is automatically handled by the server (mind you with certain dataloss when you drop old definitions). The gains are very high when a need to find why data is a certain way since the keeping of a history database allows for temporal browsing that is not possible by restoring old backups - and the resolution is complete for recent events unlike in backups that only hold snapshots.

Revision as of 09:55, 8 April 2021

History views past time in the eyes of todays definition

History is not a history of definition - its history of data

If new definition is applied no knowledge of this new definition is available prior to that time - and thus no data can be present prior to this point

If new definition removes existing definition - data that complies to that definition is also removed through out time - this cause data-loss of historic data that cannot be represented in the current definition

To keep history of definition use GIT on the model (or other repository for code/definition)

To keep full historic snapshots of data and definition use database backup -  and backup retention settings

What MDrivenServer-History database offer is a manageable middleground to track changes to help a user understand the evolution of data in the perspective of the current definition. This is a fantastic functionality for mostly stable definitions and help users to see the dynamics of data changes.

Reasons for keeping a history database

  1. Answering though questions on how data has ended up in the current state - this is frequently needed for business reasons, support reasons and for debugging reasons
  2. Research into data change - how often has data changed historically - how does data grow over time

The cost of ownership of an MDrivenServer History database is very low since all of the normal issues with historic data transformation as often is costly in CQRS-systems is automatically handled by the server (mind you with certain dataloss when you drop old definitions). The gains are very high when a need to find why data is a certain way since the keeping of a history database allows for temporal browsing that is not possible by restoring old backups - and the resolution is complete for recent events unlike in backups that only hold snapshots.

This page was edited 97 days ago on 02/10/2024. What links here