In-Memory Index Reconstruction in Distributed Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based data storage systems face performance issues during repair operations due to the use of locks, which complicate data block retrieval and updates, especially when data blocks change during the repair process.
Innovation Solution
An append-only data storage system that manages extents by changing them from an open state to a closed state through synchronization, ensuring all copies contain the same data blocks, and using indices for efficient data access, thereby eliminating the need for locks during repair operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If locks are used to prevent updates to data blocks during repair operations, then data integrity is maintained, but application performance deteriorates due to access blocking
Solution Approach 1:
The system divides the extent into multiple data blocks and processes them independently during repair operations. Each data block can be repaired separately without requiring locks on the entire extent, allowing applications to access other blocks simultaneously and maintaining performance while ensuring integrity.
Solution Approach 2:
The system performs preliminary validation and preparation of data blocks before repair operations. By pre-checking block integrity and preparing replacement blocks in advance, the system minimizes the duration and impact of locks during actual repair, reducing performance degradation while maintaining data integrity.
2Ease of repair
If multiple data blocks are retrieved from different storage devices for repair, then repair capability is enabled, but operation complexity increases
Solution Approach 1:
The system merges the repair process into a unified extent-level operation rather than individual block operations. By coordinating repair at the extent level across multiple storage devices, the system simplifies the overall process while maintaining the ability to retrieve and repair blocks from different devices simultaneously.
Solution Approach 2:
The system introduces an intermediary coordination layer that manages the complex multi-device repair operations. This intermediary handles the coordination of retrieving blocks from different storage devices, managing the repair process centrally, and reducing the complexity visible to individual components and applications.
3Loss of information
If data blocks change during repair operations, then data freshness is improved, but repair reliability deteriorates due to inconsistencies
Solution Approach 1:
The system implements periodic validation and synchronization checks during repair operations. By periodically verifying data block consistency and refreshing blocks as needed, the system maintains data freshness while ensuring repair reliability through controlled, incremental updates rather than continuous changes.
Solution Approach 2:
The system incorporates feedback mechanisms that monitor data block changes during repair operations. When changes are detected, the system receives feedback and adjusts the repair process accordingly, validating consistency and synchronizing blocks to maintain both freshness and reliability without introducing inconsistencies.
Data Source
AI summary
Reconstructing in-memory data block indices in a distributed data storage system where data blocks are stored in extents and the extents are replicated across storage devices. In one aspect, based on a reboot of a storage device and a copy of an extent stored in the storage device being in an open state, appends for data blocks in the copy of the extent stored in the storage device are replayed to reconstruct an in-memory data block index for the copy of the extent. In another aspect, based on a reboot of a storage device and a copy of an extent being in a closed state, a data block index for the copy of the extent is retrieved from non-volatile storage of the storage device and the retrieved data block index stored in memory at the storage device.


