Database Snapshot Storage Allocation via Spatial Properties

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face inefficiencies in managing transactions due to potential conflicts between read and write transactions, leading to resource-intensive snapshot storage and delayed data access, as existing solutions like queuing and locking mechanisms are not optimal, especially in high-volume systems.

Innovation Solution

Implement a method where read transactions are initially configured to 'live' mode, transitioning to 'snapshot' mode upon conflict detection, using published snapshots to access data, and managing snapshot storage based on spatial properties to avoid unnecessary resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snapshot storage is allocated for every read transaction to ensure data consistency, then data consistency is maintained, but system resource consumption increases

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by creating snapshots only for specific data portions that are actually read during a transaction, rather than snapshotting entire databases. The system identifies individual data pages or records that need to be read and creates minimal snapshots only for those specific portions, reducing overall resource consumption while maintaining data consistency for the actual data accessed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the database into smaller data portions (pages, records, or tuples) and creates snapshots only for the specific segments that are read during a transaction. This segmentation approach allows the system to maintain data consistency for accessed data while avoiding the overhead of snapshotting entire databases, thereby reducing system resource consumption.

Inventive Principle:
Principle #1Segmentation

2Reliability

If read transactions are queued to maintain data consistency with write transactions, then data consistency is maintained, but transaction processing speed decreases

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent uses copying by creating lightweight snapshots of specific data portions that need to be read, rather than using heavy-weight queuing or locking mechanisms. These copies allow read transactions to proceed in parallel with write transactions without blocking, maintaining data consistency while improving transaction processing speed through concurrent execution.

Inventive Principle:
Principle #26Copying

3Reliability

If locking mechanisms are used to prevent conflicts between read and write transactions, then data consistency is maintained, but system resource consumption and transaction delay increase

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem resource management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the data consistency guarantee mechanism from traditional locking approaches and replaces it with snapshot-based isolation. Instead of using locks to prevent conflicts, the system takes out the locking overhead entirely and uses immutable snapshots of data portions, simplifying resource management while maintaining data consistency through versioning rather than blocking.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7502792B2Managing database snapshot storage
Publication Date: 2009.03.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7502792B2 patent drawing
  • US7502792B2 patent drawing
  • US7502792B2 patent drawing

AI summary

The present invention extends to methods, systems, computer program products, and data structures for managing database snapshot storage. Spatial properties database transactions are used to manage database snapshot storage allocation and reclamation. When a read transaction and subsequent write transactions refer to disjoint portions of a database, the read transaction can continue to read portions of data directly from the database. When a read transaction and subsequent write transactions refer to intersecting portions of a database, the read transaction can be transitioned to “snapshot” mode. The write transaction can publish a database snapshot can configure the read transaction to read contested portions of data from the published snapshot.