Database Schema Evolution During Application Runtime

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database schema update processes require application downtime and are inefficient, as they typically involve manual SQL script execution in batch processes, making the system unavailable during schema evolution.

Innovation Solution

The method involves analyzing application metadata to compare and update the database schema dynamically, reducing downtime by using normal application database access to generate and apply necessary schema changes, such as adding or removing tables, columns, or altering relationships, without requiring the application to be offline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional batch schema update process is used, then schema evolution is achieved, but application downtime occurs

Engineering Contradiction:
Improveapplication availabilityVSAvoidapplication downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent transforms the static batch schema update process into a dynamic online update process. The schema evolution is performed incrementally while the application remains operational, allowing the system to adapt the database schema dynamically without requiring the application to be taken offline. This resolves the contradiction by making the update process flexible and continuous rather than fixed and disruptive.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary schema evolution actions before they are needed by the application. By proactively evolving the schema in the background before the application requires the new schema features, the system ensures that schema updates are ready when needed, eliminating downtime while maintaining application availability.

Inventive Principle:
Principle #10Preliminary action

2Extent of automation

If manual SQL script execution is used, then schema updates are applied, but manual intervention is required

Engineering Contradiction:
Improveschema update automationVSAvoidmanual intervention complexity
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent enables the database system to perform schema evolution automatically without requiring manual SQL script execution. The system self-updates its schema by detecting changes in application metadata and automatically applying the necessary schema transformations, eliminating the need for manual intervention while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a feedback mechanism where the system continuously monitors application metadata and database schema state, automatically triggering schema evolution when discrepancies are detected. This closed-loop approach eliminates manual SQL script execution by making the schema update process responsive and self-regulating based on actual application needs.

Inventive Principle:
Principle #23Feedback

3Reliability

If schema evolution is performed online, then application availability is maintained, but system complexity increases

Engineering Contradiction:
Improveapplication availabilityVSAvoidschema update process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the schema evolution process into independent, manageable tasks that can be executed incrementally. By dividing the overall schema update into smaller discrete operations that can be performed individually while the application runs, the system maintains application availability without overwhelming complexity, as each segment can be handled independently with proper error handling and rollback capabilities.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9280568B2Zero downtime schema evolution
Publication Date: 2016.03.08 SAP SE
  • US9280568B2 patent drawing
  • US9280568B2 patent drawing
  • US9280568B2 patent drawing

AI summary

A method for updating a database schema may include maintaining a database, database schema and a first version of an application. The method may include generating application schema for the first version of the application, the application schema including a mapping of one or more classes of the application to a respective table in the database. The method may include executing the first version of the application and storing an application data object in the database in accordance with the application schema. While the first version of the application is executing, the method may include receiving a request to update the first version of the application to a different version, identifying application metadata for the different version of the application, comparing the application metadata for the different version of the application with the database schema for the database, and updating the database schema based on the comparison.