Quorum-Based Data Replication for Zero RPO and Rapid Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data replication methods, such as synchronous and semi-synchronous replication, fail to achieve a Recovery Point Objective of zero and a low Recovery Time Objective, especially in the event of data center damage or failure, leading to potential data loss and prolonged downtime.
Innovation Solution
A system that replicates data sets across multiple storage devices with a quorum-based approach, where change requests are stored and applied only after confirmation by a majority of replicas, ensuring no data loss and minimizing downtime by allowing asynchronous application of changes and immediate recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous replication is used, then data loss risk is eliminated (Recovery Point Objective of zero), but recovery time is prolonged due to waiting for slave confirmation
Solution Approach 1:
The system performs preliminary storage of change requests in a log structure before they are applied to the data set. This allows the master to acknowledge receipt of changes immediately without waiting for slave application, yet ensures data can be recovered by replaying the log if needed, achieving both zero RPO and reduced RTO
Solution Approach 2:
The replication process is segmented into distinct phases: logging the change request, acknowledging receipt, and later applying the change to the data set. This segmentation allows the acknowledgment to be returned immediately while the actual data replication occurs asynchronously, reducing recovery time while maintaining data integrity
2Loss of time
If semi-synchronous replication is used, then recovery time is reduced by not waiting for all slaves, but data loss risk increases if fewer than half confirm
Solution Approach 1:
The system implements feedback through the quorum mechanism where the master monitors acknowledgments from slave replicators. Only when a quorum (minimum number) of slaves have acknowledged and applied the change request does the master commit the change. This feedback loop ensures data consistency without requiring all slaves to confirm, achieving both reduced recovery time and maintained reliability
3Loss of time
If asynchronous replication is used, then recovery time is minimized, but data loss occurs because changes are not confirmed before application
Solution Approach 1:
Change requests are preliminarily logged and acknowledged before being applied to slave data sets. This preliminary action creates a reliable record of changes that must be applied, allowing asynchronous replication without data loss. The log serves as a guarantee that once acknowledged, the change will be applied, combining speed with reliability
4Stability of the object's composition
If synchronous replication is used, then data consistency is maintained, but system complexity increases due to coordination requirements
Solution Approach 1:
The complex coordination logic is extracted from the slave replicators and centralized in the master replicator. Slaves only need to acknowledge receipt and apply changes, while the master handles logging, quorum tracking, and commit decisions. This extraction simplifies slave complexity while maintaining data consistency through centralized control
5Reliability
If data center damage occurs, then all replicated data may be lost, but traditional replication methods cannot prevent this
Solution Approach 1:
The system maintains a preliminary log of all change requests at the master before they are applied to slaves. In case of data center damage, this log serves as a recovery mechanism, allowing the system to replay changes and reconstruct the data set, preventing data loss even when slave replicators are destroyed
Data Source
AI summary
An improved data replication system with goals of Recovery Point Objective of zero, meaning a zero potential for loss of data, and a Recovery Time Objective in the seconds, meaning very short downtime after a failure. The system includes duplicates of a data set preferably on multiple drives in multiple computers. Change requests are stored within duplicates, and when a change request has been stored in enough duplicates, it may be applied to any duplicate after all prior change requests have been applied to that duplicate. The system applies changes to duplicates of a data set in the same order. The system further includes a replicator operable to implement accessing and changing steps to meet the goals.


