Snapshot Orchestration in Distributed Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems lack an efficient method for creating snapshots of distributed databases and applications, making it difficult to revert to previous states without risking critical data corruption during testing or configuration changes.
Innovation Solution
A network environment with a storage manager coordinating snapshot creation across compute and storage nodes, involving quiesce instructions, snapshot ID management, and garbage collection to ensure data integrity and efficient rollback processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snapshots are created for distributed databases, then data integrity and rollback capability are improved, but system complexity and coordination overhead increase
Solution Approach 1:
The system segments the database into multiple snapshots that can be independently managed. Each snapshot is a discrete point in time that can be created, deleted, and restored without affecting the entire database system. This segmentation allows for improved data integrity through selective rollback while managing complexity by treating each snapshot as an independent unit.
Solution Approach 2:
The patent introduces a snapshot manager as an intermediary component that coordinates between the database system and the rollback operation. This mediator handles the complexity of coordinating snapshot creation across distributed nodes, managing the snapshot table, and orchestrating rollbacks, thereby improving data integrity without requiring complex direct coordination between all system components.
2Ease of operation
If rollback to previous snapshots is enabled, then testing and configuration changes become safer, but storage requirements and garbage collection complexity increase
Solution Approach 1:
The system implements automatic garbage collection that discards old snapshots when they are no longer needed, freeing up storage space. The snapshot manager tracks which snapshots are active and which can be removed, allowing the system to maintain a manageable history of previous states for testing while automatically recovering storage capacity by deleting obsolete snapshots.
Solution Approach 2:
The snapshot management system is dynamic, allowing snapshots to be created, deleted, and replaced based on testing needs. The garbage collection mechanism dynamically identifies and removes obsolete snapshots, adapting storage usage to current requirements. This dynamic approach enables safe testing by maintaining recent snapshots while automatically reducing storage requirements by discarding old ones.
3Stability of the object's composition
If distributed snapshot coordination is implemented, then data consistency across nodes is improved, but coordination overhead and performance impact increase
Solution Approach 1:
The system performs preliminary actions by pre-establishing a snapshot table structure and pre-defining the snapshot management protocol before actual snapshot operations occur. The snapshot manager is pre-configured with the necessary data structures to track snapshots across distributed nodes. This preliminary preparation reduces coordination overhead during actual snapshot creation and rollback operations while maintaining data consistency.
Solution Approach 2:
The snapshot manager implements feedback mechanisms that monitor snapshot status across distributed nodes and adjust coordination accordingly. When snapshots are created or rolled back, the system receives feedback about the state of individual nodes and coordinates accordingly, only communicating with nodes that require updates. This feedback-driven coordination reduces unnecessary communication while ensuring data consistency across the distributed system.
Data Source
AI summary
A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. Once pending write requests from the computing nodes are completed, storage nodes create a new snapshot for the storage volume by allocating a new segment to the new snapshot and finalizes and performs garbage collection with respect to segments allocated to the previous snapshot. Subsequent write requests to the storage volume are then performed on the segments allocated to the new snapshot. An orchestration layer implements a multi-role application that is provisioned with virtualized storage and computation resources. A snapshot of the application may be created and used to rollback or clone the application. Clone snapshots of storage volumes may be gradually populated with data from prior snapshots to reduce loading on a primary snapshot.


