Database Change Protection via Staging Table Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in efficiently and accurately reversing unintended changes, such as those caused by application errors or malicious actions, which can lead to security risks and data loss, especially when these changes are followed by intended modifications, making it difficult to restore the database to a previous state without affecting subsequent changes.

Innovation Solution

Implementing a system that applies changes to a staging table first, evaluates them for unintended changes, and only applies them to the live database if approved, allowing for easy reversal of unintentional changes while managing dependencies between tables to ensure data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the database is restored to a state prior to an unintended change, then the unintended change is reversed, but any intended changes made after the unintended change are also eliminated

Engineering Contradiction:
Improvedata integrityVSAvoidtime to restore database
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the database change process into distinct phases: an evaluation phase where changes are tested in a sandbox environment, and an implementation phase where approved changes are applied to the live database. This segmentation allows unintended changes to be detected and reversed without affecting the implementation of intended changes, resolving the contradiction between restoring data integrity and preserving subsequent intended changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by evaluating and validating database changes in a sandbox environment before they are applied to the live database. This preliminary evaluation phase identifies unintended changes early, allowing them to be reversed without requiring restoration of the entire database, thus reducing the time loss while maintaining data integrity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If database changes are applied directly to the live database, then productivity is improved, but the risk of unintended changes increases

Engineering Contradiction:
Improvedatabase update speedVSAvoidchange accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a sandbox database as an intermediary between the source of database changes and the live database. Changes are first applied to the sandbox environment where they can be evaluated for unintended consequences. Only changes that pass the evaluation phase are then applied to the live database. This intermediary mechanism maintains productivity by automating the evaluation process while significantly improving change accuracy by filtering out unintended changes before they reach the live database.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If a sandbox environment is used to evaluate changes before applying them, then change accuracy is improved, but device complexity increases

Engineering Contradiction:
Improvechange evaluation accuracyVSAvoidsystem structure
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a simplified copy of the database schema in a sandbox environment rather than duplicating the entire complex database system. This copy contains only the necessary structure to evaluate changes without the full complexity of the production database. This copying approach improves change evaluation accuracy by providing a safe testing environment while minimizing the increase in device complexity by keeping the sandbox lightweight and focused.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11334539B2Change-protected database system
Publication Date: 2022.05.17 SALESFORCE INC
  • US11334539B2 patent drawing
  • US11334539B2 patent drawing
  • US11334539B2 patent drawing

AI summary

A plurality of database access requests are received at a database system within a designated database access scope. The plurality of database access requests may include a first request to read from a first database table and a second request to write to a second database table. The second request may occur during or after the receipt of the first request. A database access dependency rule linking the first database table and the second database table may be created. The database access dependency rule may impose a protected database access framework when executing a subsequent write request to the second database table when the first database table is updated. The protected database access framework may store one or more values associated with the subsequent write request in a staging table that are capable of being used to undo the subsequent write request.