Zero Downtime Database Maintenance via Shadow System Mirroring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database upgrade methods often result in extended downtime, which is unacceptable for systems requiring continuous availability, and are technology-dependent, restrictive, and prone to failure risks due to the need for modifications, add-ons, and data adjustments during the upgrade process.
Innovation Solution
The method involves creating a shadow system that mirrors the production system, allowing upgrades to be performed on the shadow system without disrupting the production environment, by copying applications and data, locking or recording changes, and migrating them to ensure the shadow system is in a consistent state, thereby minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional database upgrade methods are used, then the database can be upgraded to a new release, but extended downtime occurs which is unacceptable for systems requiring continuous availability
Solution Approach 1:
The patent applies preliminary action by creating a shadow system in advance that mirrors the production database. The shadow system is prepared with the new release version before the production system needs upgrading. Data is copied and changes are recorded in advance, so when the upgrade is needed, the shadow system is already ready to take over immediately, minimizing downtime.
Solution Approach 2:
The patent uses copying by creating a shadow system that is a copy of the production database. The shadow system contains copied data and a copied instance of the new release version. This copy can be prepared independently without affecting the production system, and once ready, can replace the production system with minimal interruption.
2Adaptability or versatility
If modifications, add-ons, and data adjustments are made during database upgrade, then the database can be updated with new features and corrections, but the upgrade process becomes complex and prone to failure risks
Solution Approach 1:
The patent applies segmentation by separating the upgrade process into distinct phases: (1) creating a shadow system with copied data, (2) applying modifications and add-ons to the shadow system independently, (3) recording changes in a container, and (4) migrating the shadow system to production. This segmentation allows complex modifications to be tested and applied in isolation on the shadow system without risking the production system.
Solution Approach 2:
The shadow system acts as an intermediary between the old production system and the desired upgraded state. All complex modifications, add-ons, and data adjustments are applied to this intermediary shadow system first. The container serves as another intermediary to record and manage changes. Only after successful preparation does the shadow system replace the production system, reducing failure risks.
3Stability of the object's composition
If data changes are locked or recorded during the upgrade process, then data consistency can be maintained, but additional processing steps are required
Solution Approach 1:
The patent uses feedback by implementing a container that records all data changes made to the shadow system during the upgrade process. This recorded feedback information is then used to update the production system after the shadow system is successfully created. The feedback mechanism ensures data consistency by tracking and applying changes systematically rather than manually managing each change.
Data Source
AI summary
The subject matter disclosed herein provides methods and apparatus, including computer program products, for providing software updates. In one aspect there is provided a method. The method may include copying an application to a shadow system, the application used to upgrade the shadow system rather than a production system; copying data from the production system to the shadow system; selecting whether to lock changes to data in the production system or record changes to the data in the production system; recording one or more changes to data in the production system, the changes recorded in a container, when record changes has been selected; migrating recorded data in the container to the shadow system, so that the shadow system and production system are in a similar data state; and using the shadow system, upgraded with the application and at least one of data copied from the production system and recorded data from the container, for production rather than the production system. Related systems, apparatus, methods, and/or articles are also described.


