Database Snapshot Management via Converter Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems face challenges in performing management tasks like integrity checks and optimizer statistics calculation without causing system downtime or performance issues, as current methods either deny client access or use locks that conflict with client requests.

Innovation Solution

The system creates a database snapshot by marking 'last known good' pages as non-overwriteable, allowing management tasks to access previous database states while maintaining system responsiveness and performance by using converter pages to map logical page numbers to physical locations and generating snapshot-specific file identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database objects are locked prior to execution of a management task, then the management task can operate on the database objects, but the locks conflict with client application requests and negatively impact system performance

Engineering Contradiction:
Improvemanagement task operationVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the database system into multiple components: the original database system, a snapshot subsystem, and a converter table. The snapshot contains a copy of database objects at a specific point in time, while the converter table maps logical page numbers to physical locations in both the original and snapshot data areas. This segmentation allows management tasks to operate on snapshots independently without locking the live database, thus maintaining system performance while enabling reliable management task execution.

Inventive Principle:
Principle #1Segmentation

2Reliability

If client applications are denied access to the database system during management task operation, then changes to database objects are prevented, but system downtime becomes unacceptable

Engineering Contradiction:
Improvedata integrity during management taskVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a snapshot of the database objects before executing the management task. This preliminary action captures the state of database objects at a specific point in time, allowing the management task to operate on this static copy without affecting the live database. Client applications continue to access and modify the original database objects while the management task runs independently on the snapshot, eliminating system downtime while ensuring data integrity during the management operation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the database system allows concurrent access during management tasks, then system responsiveness is maintained, but conflicts arise between management tasks and client requests

Engineering Contradiction:
Improvesystem responsivenessVSAvoidconflict-free operation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a converter table as an intermediary component that resolves conflicts between management tasks and client requests. The converter table contains mappings between logical page numbers and physical locations in both the original and snapshot data areas. When a management task needs to access a database object, the converter table directs access to the appropriate snapshot copy, preventing conflicts with client requests accessing the original database. This intermediary mechanism maintains system responsiveness while ensuring conflict-free operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2336901B1Online access to database snapshots
Publication Date: 2018.03.21 SAP SE
  • EP2336901B1 patent drawingFigure 1
  • EP2336901B1 patent drawingFigure 2
  • EP2336901B1 patent drawingFigure 3

AI summary

An executing database instance includes a first plurality of database pages associated with a previous state of the database instance, a cache storing a current converter of the executing database instance, the current converter not representing the first plurality of database pages, and a database management system. The database management system is to receive a request for access to the first plurality of database pages, and perform a database task using one or more of the first plurality of database pages while the database instance is executing.