Sparse Database Snapshots for Storage Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database copying for snapshots is resource-intensive and storage-space-consuming, and can cause instability due to incompatible changes during the software development lifecycle, as it requires deep copying of all data and maintaining multiple copies of large databases.

Innovation Solution

Creating a sparse database snapshot that initially contains only metadata, with data files that are sparse files backed by the parent database, allowing for efficient read and write operations without the need for deep copying, enabling daisy chaining and reducing storage requirements through thin provisioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a database snapshot is created by deep copying all data, then data isolation and stability are improved, but storage space consumption and time required increase significantly

Engineering Contradiction:
Improvedata isolationVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The database snapshot is segmented into a sparse database structure that only stores modified blocks, rather than copying the entire database. The sparse database contains only the differences (delta) between the original and snapshot, significantly reducing storage requirements while maintaining data isolation through the separation of original and snapshot data paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of deep copying all data, the system creates a sparse copy that references the original database for unchanged blocks. Only modified blocks are copied to the sparse database, achieving a lightweight copy that maintains isolation without consuming full storage space.

Inventive Principle:
Principle #26Copying

2Reliability

If a database snapshot is created by deep copying all data, then data isolation is improved, but the time required for snapshot creation increases

Engineering Contradiction:
Improvedata isolationVSAvoidsnapshot creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The snapshot creation process is segmented into identifying modified blocks rather than copying all blocks. By segmenting the database into changed and unchanged portions, the system only processes and copies the necessary modified segments, dramatically reducing snapshot creation time while maintaining isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of modified blocks before actual copying. By pre-determining which blocks need to be copied based on change detection, the system avoids unnecessary copying operations and reduces overall snapshot creation time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple database copies are maintained for different development stages, then data isolation for each stage is improved, but resource stress and instability increase

Engineering Contradiction:
Improvedata isolationVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple sparse databases are maintained to represent different development stages, each containing only the differences from the previous stage. This segmentation allows data isolation between stages while minimizing the total data volume that needs to be managed, reducing resource stress compared to maintaining multiple full copies.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sparse databases are nested in a hierarchical structure where each sparse database references the previous stage's database. This nesting allows multiple development stages to be maintained with minimal duplication, as each stage only stores its differences relative to the previous stage, reducing overall resource consumption.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS10387447B2Database snapshots
Publication Date: 2019.08.20 ORACLE INT CORP
  • US10387447B2 patent drawing
  • US10387447B2 patent drawing
  • US10387447B2 patent drawing

AI summary

Techniques herein are for creating a database snapshot by creating a sparse database. A method involves receiving a creation request to create a sparse database. The creation request has an identity of a parent database. The creation request is processed to create a sparse database. The sparse database has the identity of the parent database. The sparse database does not contain data copied from the parent database. A write request to write data into the sparse database is received. The write request is processed by writing the data into the sparse database. The parent database does not receive the data.