Database Schema Evolution During Application Runtime
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If traditional batch schema update process is used, then schema evolution is achieved, but application downtime occurs
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.
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.
2Extent of automation
If manual SQL script execution is used, then schema updates are applied, but manual intervention is required
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.
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.
3Reliability
If schema evolution is performed online, then application availability is maintained, but system complexity increases
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.
Data Source
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.


