Distributed Database Healing for Writes During Network Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed database systems face challenges in maintaining consistent database versions across isolated regions due to network failures, leading to inconsistent data and requiring administrators to suspend write operations, compromising the robustness of disconnected operation.
Innovation Solution
Implement a disconnected mode where isolated regions provisionally commit transactions, using abstract locks and compensating actions, with a healing process to reconcile transactions and maintain global consistency upon network reconnection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed database systems suspend all write operations to maintain consistency during network failures, then database version consistency across nodes is preserved, but system productivity and operational continuity are lost
Solution Approach 1:
The system segments the distributed database into isolated regions that can operate independently during network failures. Each region maintains its own database version consistency locally while the system as a whole continues to accept write operations. This segmentation allows local consistency to be preserved without requiring global consensus, thereby maintaining productivity during connectivity issues.
Solution Approach 2:
The system performs preliminary actions by provisioning transaction logs and abstract locks before network connectivity is restored. When network failures occur, these pre-provisioned resources allow regions to continue processing transactions independently. The healing process then reconciles these pre-committed transactions once connectivity is restored, ensuring global consistency without having suspended operations during the failure period.
2Productivity
If distributed database systems allow continuous write operations during network isolation, then productivity and operational continuity are maintained, but database version consistency across isolated regions deteriorates
Solution Approach 1:
The system performs preliminary actions by provisioning transaction logs and abstract locks before network connectivity is restored. When network failures occur, these pre-provisioned resources allow regions to continue processing transactions independently. The healing process then reconciles these pre-committed transactions once connectivity is restored, ensuring global consistency without having suspended operations during the failure period.
Solution Approach 2:
Abstract locks serve as an intermediary mechanism that enables continuous write operations during network isolation while maintaining the possibility of global consistency. These locks track transaction conflicts across regions without requiring actual communication between them. The healing process uses this intermediary data structure to resolve conflicts and restore consistency once network connectivity is reestablished.
3Device complexity
If administrators manually intervene to resolve network connectivity issues, then system complexity is reduced, but response time and operational robustness increase
Solution Approach 1:
The system performs self-service by automatically detecting network connectivity issues and transitioning to disconnected mode without requiring administrator intervention. The healing process is also automated, using pre-provisioned transaction logs and abstract locks to automatically reconcile database versions across regions once network connectivity is restored. This self-service capability reduces operational complexity while minimizing recovery time through automated response.
Solution Approach 2:
The system implements feedback mechanisms that continuously monitor network connectivity status and trigger appropriate responses. When connectivity failures are detected, the system automatically adjusts its operation mode. Similarly, when connectivity is restored, the healing process is automatically initiated based on feedback from the network status, eliminating the need for manual intervention and reducing recovery time.
Data Source
AI summary
Techniques are disclosed for disconnected operation in a distributed database system. In an embodiment, the distributed database system implements a disconnected mode of operation allowing isolated regions of database nodes to provisionally commit transactions, with the global requirements of those transactions later satisfied by a transparent healing process after network connectivity is reestablished between the regions. The healing process, in turn, enables the distributed database system to construct a consistent global state of the database that accounts for the transactions provisionally-committed in each isolated region during the disconnected mode. Once the healing process completes, database clients “see” a healed version of the database that simulates or otherwise closely approximates a state of the database had the distributed database system performed the transactions during a normal, fully-connected, mode of operation.


