Automated Database Release Management via Version Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database automation faces challenges in maintaining the production version intact and ensuring seamless deployment of parallel release changes due to differences in development and deployment processes, particularly in managing incremental changes and primary key-foreign key relationships.

Innovation Solution

A system that uses a database modeling tool to generate scripts through reverse engineering, compares versions to identify changes, and automatically generates incremental scripts and packages, while defining execution sequences based on primary key-foreign key relationships to ensure error-free deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual database release management is used, then flexibility in handling different release versions is maintained, but the risk of errors increases and deployment efficiency decreases

Engineering Contradiction:
Improvedeployment accuracyVSAvoiddeployment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables self-service automated database release management by comparing database objects across versions, automatically identifying changes, and generating deployment scripts without manual intervention, thereby improving both reliability and efficiency

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes of database release management with an automated computer-based system that performs version comparison, change identification, and script generation, eliminating human error and increasing deployment speed

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If parallel release changes are deployed without automated comparison, then deployment speed may increase, but the integrity of the production database cannot be ensured

Engineering Contradiction:
Improvedeployment speedVSAvoiddatabase integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary automated comparison of database objects between versions before deployment, identifying all changes in advance and generating appropriate deployment scripts, ensuring integrity is maintained while enabling fast parallel releases

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback by automatically comparing database versions and identifying changes, using this information to generate precise deployment scripts that maintain database integrity while enabling rapid deployment

Inventive Principle:
Principle #23Feedback

3Measurement precision

If comprehensive comparison of all database objects is performed, then accurate identification of changes is achieved, but the time required for release preparation increases

Engineering Contradiction:
Improvechange detection accuracyVSAvoidrelease preparation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system segments the database into discrete objects (tables, views, procedures, functions) and compares them individually, enabling precise change detection while automating the process to minimize preparation time

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The automated system performs comprehensive comparison of all database objects without manual intervention, achieving accurate change identification while reducing release preparation time through automation

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If the production database structure is modified directly during parallel development, then development flexibility is improved, but the risk of compromising production integrity increases

Engineering Contradiction:
Improvedevelopment flexibilityVSAvoidproduction integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system uses an intermediary automated comparison and script generation process between development changes and production deployment, allowing flexible parallel development while protecting production integrity through controlled, automated application of changes

Inventive Principle:
Principle #24Intermediary (Mediator)

5Reliability

If incremental scripts are generated automatically for each release, then deployment accuracy is improved, but the complexity of the release management system increases

Engineering Contradiction:
Improvedeployment accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system achieves deployment accuracy through automated self-service generation of incremental scripts based on object comparison, managing complexity through automation rather than manual processes

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11157468B2System for multi-release and parallel development of a database
Publication Date: 2021.10.26 BANK OF AMERICA CORP
  • US11157468B2 patent drawing
  • US11157468B2 patent drawing
  • US11157468B2 patent drawing

AI summary

Systems, computer program products, and methods are described herein for multi-release and parallel development of a database. The present invention is configured to determine a first version of a database release, wherein the first version is based on a first script; receive an incremental script associated with the first version of the database release; implement a database modeling tool to generate a second script, thereby creating a second version of the database release based on at least the first script and the incremental script; automatically generate an incremental database package based on at least the second version of the database release; and deploy the incremental database package, wherein deploying further comprises creating a second version of the database release based on the second script, wherein the second script is a baseline script for the second version of the database release.