Master Data Versioning for Concurrent Update Conflict Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data management systems, concurrent changes to master data can lead to inconsistencies when multiple systems attempt to update the same data simultaneously, especially when updates have not been propagated across all systems.
Innovation Solution
A method is implemented where a client notifies a server of a proposed change to master data, and the server indicates if a concurrent change is occurring. The client then decides, with user input, whether to make or abort the change, and subsequently checks again for any subsequent concurrent changes before saving the proposed change.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple data management systems update the same master data concurrently without coordination, then each system can independently make updates, but data inconsistencies occur across systems
Solution Approach 1:
The system performs a preliminary consistency check by comparing the version number of the master data retrieved from the database with the version number provided by the client before allowing an update. This preliminary action detects concurrent modifications and prevents inconsistent updates from being applied, thereby maintaining data consistency while allowing rapid updates when no conflicts exist.
2Reliability
If the system checks for concurrent changes before every update, then data consistency is maintained, but update operations become slower
Solution Approach 1:
The system uses version numbers as a parameter to track changes to master data. By comparing version numbers instead of performing complex conflict detection algorithms, the system maintains data consistency through a simple, fast numerical comparison. This parameter-based approach enables rapid consistency checks that do not significantly impact update speed.
3Productivity
If the system allows concurrent updates without checking, then update operations are fast and simple, but data inconsistencies and loss occur
Solution Approach 1:
The system implements a feedback mechanism where the database returns the current version number of the master data to the client during the update process. The client compares this returned version number with the version number it originally retrieved. If they differ, it indicates concurrent modifications occurred, and the client can respond by aborting the update or retrieving the latest data, thus preventing data loss while maintaining high update throughput through version-based feedback.
Data Source
AI summary
Processing proposed changes to data includes notifying a server of a proposed change to master data, receiving, from the server, an indication as to whether there is a concurrent change to the master data, where the concurrent change corresponds to a change to the master data in addition to the proposed change, and deciding whether to make the proposed change or to abort the change.


