Database Replica Recovery with Delta Storage Computers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
State-of-the-art database replica recovery is inefficient due to sequential data synchronization, leading to increased network and processing load, and unbounded waste of resources during recovery, which affects OLTP latency and disk lifespan.
Innovation Solution
Implementing a delta storage computer that persistently stores only modified database blocks, acting as a proxy for the failed storage computer, to accelerate recovery by avoiding content interpretation and optimizing network transmission.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If sequential data synchronization is used for database replica recovery, then data consistency is maintained, but recovery time increases and network load increases
Solution Approach 1:
The patent segments the synchronization data into change vectors that track only modified database blocks. Instead of transmitting and replaying complete sequential data streams, the system divides the recovery process into discrete block-level changes, allowing parallel processing and reducing overall recovery time while maintaining data consistency through version vectors.
Solution Approach 2:
The system performs preliminary actions by maintaining change vectors and version information during normal operation. When a replica fails, the recovery process can immediately apply pre-computed change vectors without needing to reprocess entire data streams, significantly reducing recovery time while ensuring consistency through the pre-established version ordering.
2Reliability
If sequential replay of change vectors is performed, then data consistency is ensured, but processing load and network transmission time increase
Solution Approach 1:
The patent segments the recovery workload into independent block-level operations using change vectors. Each change vector represents a discrete modification that can be applied independently, enabling parallel processing across multiple cores or nodes while maintaining consistency through version vector ordering, thus increasing processing throughput without sacrificing reliability.
Solution Approach 2:
The system adds a version vector dimension to the traditional sequential replay approach. By incorporating version vectors that encode causal relationships and timestamps, the system enables parallel execution in the time dimension while maintaining consistency through the version ordering dimension, effectively transforming a one-dimensional sequential process into a multi-dimensional parallelizable process.
3Reliability
If complete data transmission is used for replica recovery, then recovery accuracy is maximized, but network bandwidth consumption increases
Solution Approach 1:
The patent extracts only the essential change information needed for recovery by maintaining change vectors that record modifications to database blocks. Instead of transmitting complete data sets or extensive metadata, the system extracts and transmits only the minimal necessary change information, reducing network bandwidth consumption while preserving recovery accuracy through the structured change vector format.
4Reliability
If interpreted replay of redo entries is performed, then data consistency is maintained, but disk write operations increase reducing disk lifespan
Solution Approach 1:
The system uses change vectors as lightweight copies of modification information rather than replaying complete redo entries. The change vectors contain essential modification data that can be applied directly to database blocks without requiring extensive disk write operations, reducing wear on persistence media while maintaining consistency through the version vector ordering mechanism.
Data Source
AI summary
For database high availability and for accelerated recovery of a failed replica of a database, a storage computer is dynamically allocated and temporarily persists database content modifications until the database replica is ready to receive the modifications. The storage computer is not allocated storage that stores the database. The storage computer persists a recent portion of the database and later receives a request to synchronize the recovering replica. During recovery, the storage computer responsively sends the portion of the database to the recovering replica. For acceleration, recovery herein does not entail content interpretation such as replay of a redo log. For horizontally scaled acceleration involving two distinct storage computers per recovering replica, multiple replicas are concurrently recovered by respective storage computers that each receives recovered database content only from a respective distinct other storage computer.


