Merge Master Conflict Resolution for Multi-Master Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed data services with single-master configurations face limitations such as performance bottlenecks, latency issues, and single points of failure, while multi-master configurations can lead to data versioning conflicts and inefficient conflict resolution processes, compromising data integrity and resource utilization.
Innovation Solution
Designating a merge master within a multi-master server set to coordinate and resolve data version conflicts, consolidating conflict resolution processes to reduce redundant processing and ensure deterministic outcomes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple masters are designated to update the data set, then performance and availability improve, but data versioning conflicts increase
Solution Approach 1:
A conflict resolution service is introduced as an intermediary component that receives conflict notifications from master servers, determines the winning update, and coordinates propagation to all masters. This mediator handles the complexity of conflict resolution centrally, allowing multiple masters to operate independently while maintaining consistency through coordinated conflict management.
2Extent of automation
If conflict resolution is handled by each master independently, then automation increases, but redundant processing and resource waste occur
Solution Approach 1:
The conflict resolution functionality is merged into a dedicated conflict resolution service that all masters utilize. Instead of each master independently implementing conflict resolution logic, the system combines these functions into a single centralized service that handles all conflicts, eliminating redundant processing and resource waste.
3Reliability
If a single master is designated, then data consistency is maintained, but performance bottlenecks occur
Solution Approach 1:
The system segments the master role into multiple independent master servers that can each handle write operations. By dividing the single-master function across multiple segments (masters), the system maintains data consistency through the conflict resolution service while improving write throughput through parallel processing capability.
Data Source
AI summary
A server set for a data set may designate a subset of “master” servers that update the data set in order to reduce data version conflicts involving mutually exclusive updates of the data set. Multi-master configurations may fulfill the performance constraints, and the subset of masters may detect and resolve data version conflicts. However, if multiple masters perform conflict resolution for a particular data version conflict, the resolution may produce inefficiency and redundancy (if the masters reach the same outcome) or additional data version conflicts (if the masters reach different outcomes). Instead, among the masters, a merge master may be identified that applies conflict resolution techniques to data version conflicts and forwards the conflict resolution outcome to the other masters for application to the data set to resolve the data version conflict. The other masters may temporarily store updates in a tentative update set until data version conflicts are resolved.


