Database-Aware Snapshotting via Sidecar Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Volume snapshot mechanisms in data processing environments often delay transactions by freezing databases during snapshot creation, especially when shards are under heavy utilization, leading to user dissatisfaction and scalability issues.
Innovation Solution
Implementing database-aware snapshotting by using snapshot sidecar containers and a snapshot orchestrator to determine the best time for snapshotting based on current runtime environments, minimizing transaction delays by coordinating snapshots across multiple database shards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If volume snapshot mechanism is used to backup storage, then data backup reliability is improved, but transaction processing speed deteriorates due to database freezing during snapshot creation
Solution Approach 1:
The patent divides the database into multiple independent shards, each with its own snapshot sidecar container. This segmentation allows snapshots to be taken on individual shards rather than freezing the entire database, enabling other shards to continue processing transactions during snapshot operations.
Solution Approach 2:
The patent introduces snapshot sidecar containers as intermediary components that work with database containers to coordinate snapshot operations. These sidecar containers monitor database state and manage snapshot timing, acting as mediators between backup requirements and transaction processing needs.
2Reliability
If database snapshot is taken during heavy utilization, then backup completeness is improved, but user satisfaction deteriorates due to transaction delays
Solution Approach 1:
The patent implements dynamic snapshot scheduling that monitors database utilization metrics and adjusts snapshot timing accordingly. The system dynamically selects optimal moments to take snapshots based on current load conditions, avoiding periods of heavy utilization to minimize impact on user transactions.
Solution Approach 2:
The snapshot sidecar containers perform preliminary monitoring of database state and utilization metrics before initiating snapshot operations. This preliminary action allows the system to identify optimal snapshot时机 that ensure backup completeness while minimizing disruption to ongoing transactions.
3Ease of manufacture
If traditional volume snapshot mechanism is used, then implementation simplicity is improved, but scalability deteriorates due to database-wide freezing
Solution Approach 1:
The patent segments the snapshot mechanism into shard-level operations with dedicated sidecar containers for each shard. This architectural segmentation enables the system to scale horizontally by adding more shards and their corresponding sidecar containers without requiring changes to the core snapshot mechanism.
Solution Approach 2:
The snapshot sidecar container is designed as a universal component that can work with any database container across multiple shards. This multi-functional design allows the same sidecar architecture to serve diverse database workloads and scale across different environments without requiring implementation-specific modifications.
Data Source
AI summary
Database-aware snapshotting is disclosed. It is determined that a first snapshot of a database having a plurality of shards should be taken. Each shard has a corresponding snapshot sidecar container of a plurality of snapshot sidecar containers. A consensus state among the plurality of snapshot sidecar containers that the first snapshot should be taken is determined. A snapshot controller is directed to take the first snapshot of the database, the first snapshot generating a shard volume snapshot for each shard of a plurality of shards. Subsequent to the snapshot controller taking the first snapshot of the database, each snapshot sidecar container is informed to allow activity on the corresponding shard.


