Bloom Filter Instance Recovery Database Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-node database management systems, instance failures lead to data consistency issues and prolonged unavailability during instance recovery, as the entire database is inaccessible during the scan and claim phases, known as a 'brown-out', which needs to be minimized.
Innovation Solution
The use of a Bloom filter is introduced to indicate whether a data block is excluded from the recovery set, allowing surviving instances to grant or deny lock requests in a distributed manner, thereby reducing the need for locking the recovery set and making the database available earlier.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire recovery set is locked during scan and claim phases to ensure data consistency, then data consistency is maintained, but the database becomes completely unavailable (brown-out)
Solution Approach 1:
The patent segments the recovery set into individual data blocks and uses a Bloom filter to track which blocks are excluded from recovery. This allows surviving instances to selectively access data blocks that are not part of the recovery set while the recovery process ongoing, rather than locking the entire database. The Bloom filter enables fine-grained control at the data block level, permitting partial database availability during instance recovery.
2Productivity
If the database is made fully available during instance recovery, then database availability is improved, but data consistency may be compromised due to unauthorized access to recovering data blocks
Solution Approach 1:
The Bloom filter serves as an intermediary mechanism between the recovery process and data access requests. It provides a probabilistic interface that allows surviving instances to determine whether data blocks can be safely accessed without interfering with the recovery process. The Bloom filter mediates access decisions by indicating which data blocks are excluded from the recovery set, enabling safe read access while preventing access to blocks that might be modified during recovery.
3Reliability
If traditional locking mechanisms are used to protect the recovery set, then data consistency is ensured, but the brown-out period is prolonged due to centralized lock management
Solution Approach 1:
The Bloom filter enables a self-service approach where each surviving instance independently determines which data blocks can be accessed without requiring centralized lock coordination. Instances can autonomously check the Bloom filter and proceed with access to permitted blocks without waiting for lock acquisition or release, eliminating the need for centralized lock management during the recovery process and significantly reducing the brown-out period.
Data Source
AI summary
Techniques related to instance recovery using Bloom filters are disclosed. A multi-node node database management system (DBMS) includes a first database server instance and a second database server instance. A recovery set includes a set of data blocks that have been modified by a first database server instance and not persisted. A Bloom filter is generated to indicate whether data blocks are excluded from the recovery set. The Bloom filter is sent to the second database server instance, which determines whether the Bloom filter indicates that a particular data block is excluded from the recovery set. Based on determining that the Bloom filter indicates that the particular data block is excluded from the recovery set, access to the particular data block is granted.


