Database Cloning via Thin Provisioning and Copy-on-Write

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database cloning methods require storing an entire copy of the production database, consuming significant disk space and time, and often necessitate the use of snapshot functions tied to the underlying storage device, limiting the creation of multiple clones for development or test environments.

Innovation Solution

A database management system (DBMS) that maintains a clone database in a clone space without storing an entire copy of the database, using thin provisioning and copy-on-write techniques to store only modified data blocks, and employing a Bloom filter to determine data block storage, allowing for separate clone databases without relying on storage-specific commands or snapshot functions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a bit-by-bit copy of the complete production database is performed, then a complete clone database is obtained, but the disk space consumption and cloning time become undesirable

Engineering Contradiction:
Improveclone database completenessVSAvoiddisk space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the modified data blocks from the production database and stores them in the clone space, while the unmodified blocks are obtained on-demand from the backup copy. This extraction principle reduces the amount of data that needs to be stored locally in the clone database, thereby reducing disk space consumption while maintaining clone completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary actions by creating a backup copy of the production database and using it as a source for unmodified data blocks. This preliminary backup allows the clone database to avoid storing redundant data, as it can retrieve unmodified blocks from the backup copy when needed, thus reducing the clone's storage requirements.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a bit-by-bit copy of the complete production database is performed, then a complete clone database is obtained, but the cloning operation takes an undesirable amount of time

Engineering Contradiction:
Improveclone database completenessVSAvoidcloning operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the modified data blocks from the production database and stores them in the clone space, while the unmodified blocks are obtained on-demand from the backup copy. This extraction principle reduces the amount of data that needs to be copied and stored during the cloning operation, thereby reducing cloning time while maintaining clone completeness.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by cloning only the necessary modified blocks rather than the entire database. The clone database stores only the differential data (modified blocks) and retrieves unmodified blocks from the backup copy on-demand, reducing the cloning operation time while ensuring complete database functionality.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of manufacture

If snapshot functionality from underlying storage device is used, then database cloning is achieved, but the solution is dependent on the storage device and requires same server instance

Engineering Contradiction:
Improvecloning implementation easeVSAvoidstorage device independence
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal cloning mechanism that works independently of the underlying storage device by using a file-based approach. The clone database can be created on any server instance with access to a backup copy, without requiring storage-specific snapshot functionality. This multi-functional approach allows the same cloning mechanism to work across different storage systems and server configurations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a backup copy as an intermediary between the production database and the clone database. This intermediary serves as a universal source for unmodified data blocks, eliminating the need for storage device-specific snapshot functionality. The backup copy mediates the data transfer, allowing cloning to occur independently of the underlying storage system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8832028B2Database cloning
Publication Date: 2014.09.09 ORACLE INT CORP
  • US8832028B2 patent drawing
  • US8832028B2 patent drawing
  • US8832028B2 patent drawing

AI summary

A database management system (DBMS) maintains a clone database in a clone space without storing an entire copy of the database and without requiring a snapshot function from an underlying storage device. This DBMS may receive a database command to access a data block of the clone database, and may determine whether the data block is stored in the clone space. If the data block is not stored in the local clone space, the DBMS may receive the data block from a backup copy of the database. If the database command comprises a write operation, the DBMS may perform the write operation to update the data block, and may store the updated data block in the clone space. Also, if the database command comprises a read operation, the DBMS may perform the read operation on the data block received from the backup copy of the database.