Database Upgrade Without Downtime via Stored Procedure Versioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database upgrade methods often result in service downtime, disrupting service availability for customers, especially for critical and low-latency services.

Innovation Solution

The solution involves upgrading a relational database by adding new tables and stored procedures without changing the functionality of existing stored procedures, allowing machines to interface with either old or new procedures, ensuring continuous service operation and minimizing downtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the database is upgraded by replacing existing tables and stored procedures, then the database structure is updated to new version, but service downtime occurs and service availability decreases

Engineering Contradiction:
Improveservice availabilityVSAvoidservice downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates new tables and stored procedures in advance before the upgrade is needed. The new database objects are prepared and validated while the old objects remain in use, allowing a seamless switchover without service interruption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a version indicator as an intermediary mechanism that allows the system to transition from old to new database objects. The version indicator acts as a mediator that directs queries to either the old or new stored procedures based on the upgrade status, enabling continuous service availability during the transition.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the database schema is upgraded before web servers are upgraded, then the database structure is updated, but restrictions must be placed on database operations during upgrade process

Engineering Contradiction:
Improvedatabase consistencyVSAvoiddatabase operation flexibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent makes the database schema dynamic by allowing both old and new table structures to coexist. The system can dynamically switch between old and new stored procedures based on the version indicator, providing flexibility in database operations during the upgrade process without compromising consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the version parameter of the stored procedures to indicate whether they are old or new versions. This parameter change allows the system to distinguish between different versions and manage operations appropriately, maintaining both consistency and operational flexibility.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If new tables and stored procedures are added to the database, then the database functionality is enhanced, but the complexity of the database structure increases

Engineering Contradiction:
Improvedatabase functionalityVSAvoiddatabase structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the database into distinct old and new components (old tables, new tables, old stored procedures, new stored procedures). This segmentation allows the system to maintain enhanced functionality through new components while managing complexity by keeping old and new structures separate and well-defined.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal interface where both old and new stored procedures can be invoked through a common mechanism (the version indicator). This multi-functionality allows the database to support both legacy and new functionality without increasing operational complexity, as the switching mechanism is standardized and manageable.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3405867B1Database and service upgrade without downtime
Publication Date: 2020.10.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3405867B1 patent drawingFigure 1
  • EP3405867B1 patent drawingFigure 2
  • EP3405867B1 patent drawingFigure 3

AI summary

The upgrading of a relational database on multiple of machines (e.g., a service) that perform data operations via stored procedures. The upgrade occurs without changing the functionality of the set of one or more stored procedures. Accordingly, even if the machine itself is not upgraded, the machines can still interface with the database via the set of one or more stored procedures. The upgrade of the relational database occurs by adding occur by adding new table(s) to the relational database, and thereafter adding new stored procedures to the stored procedure store, the new stored procedures referencing parameters of the new tables. Since the machines that interface with the relational database can still operate on the upgraded database using the old stored procedures, each machine may then be upgraded in an orderly manner to interface with the new stored procedures.