Continuous Database Backup via Partition Snapshots
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database backup solutions are time-consuming, resource-intensive, and limited in providing point-in-time restore capabilities, often requiring system downtime and offering only periodic snapshots that may not align with the user's needs for precise data recovery.
Innovation Solution
A continuous data protection system that captures changes to the database and builds snapshots by applying transaction logs to previous snapshots, allowing for on-demand backups and point-in-time restores without scanning the production data source, enabling fine-grained availability and reducing the burden on production systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If scan-based backup solutions are used to create periodic backups, then data can be backed up, but the backup process takes too much time and interrupts customer workflow
Solution Approach 1:
The patent extracts only the changed data portions (incremental partitions) from the full database and backs up only those changes using change logs, rather than scanning and backing up the entire database. This extraction approach maintains backup completeness for changed data while dramatically reducing backup time and resource consumption.
Solution Approach 2:
The system performs preliminary actions by continuously maintaining change logs that record all data modifications as they occur. When a backup is needed, the system already has the change information ready, eliminating the need for time-consuming scans during the backup operation itself.
2Reliability
If scan-based backup solutions are used, then backups can be created, but resources are tied up and compete with production workloads for read throughput
Solution Approach 1:
The patent extracts change information from change logs rather than scanning production data during backup operations. This eliminates resource competition with production workloads while maintaining the ability to create complete backups of changed data.
Solution Approach 2:
The system uses change logs as copies of data modifications, which can be applied to create backup copies without accessing or scanning the original production data. This copying mechanism preserves production read throughput while enabling backup creation.
3Ease of manufacture
If periodic backups are performed with fixed intervals, then backups can be created, but the time between backups is too long to restore to a specific point-in-time
Solution Approach 1:
The patent implements continuous data protection by continuously capturing changes in change logs and continuously applying them to base snapshots. This continuous action enables restoration to any point-in-time within the retention period, not just at fixed intervals, while maintaining simple backup operations.
Solution Approach 2:
The system dynamically adjusts backup granularity by allowing restoration to any specific point-in-time based on the continuous change log data, rather than being constrained to fixed periodic intervals. This dynamic capability provides precise point-in-time recovery while maintaining operational simplicity.
4Stability of the object's composition
If the entire database is backed up as a coherent whole, then consistency is achieved, but the backup process is time-consuming and resource-intensive
Solution Approach 1:
The patent segments the database into partitions and backs up only the changed partitions using incremental backups. Change logs track modifications at the partition level, allowing selective backup of only necessary segments rather than the entire database, maintaining consistency for changed portions while reducing overall backup time.
Solution Approach 2:
The system performs partial backup actions by backing up only the changed partitions identified through change logs, rather than performing excessive full database backups. This partial action approach maintains data consistency for changed portions while significantly reducing backup time and resource usage.
Data Source
AI summary
Changes made to a database table are accumulated, in durable storage, and snapshots of partitions of the table are obtained. For successive snapshots of a partition, the system accesses a previous snapshot, applies changes from the accumulated changes, and stores the updated snapshot to a durable data store. The accumulated changes and the successive partition snapshots are made available to restore the database to any point in time across a continuum between successive snapshots. Although each partition of the table may have a backup snapshot that was generated at a time different from when other partition snapshots were generated, changes from respective change logs may be selectively log-applied to distinct partitions of a table to generate an on-demand backup of the entire table at common point-in-time across partitions. Point-in-time restores of a table may rely upon a similar process to coalesce partition snapshots that are not aligned in time.


