Database Failover Framework for Continuous Availability During Upgrade
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database upgrade procedures require a system outage, disrupting productive operations and are not suitable for applications that need continuous availability, such as online banking systems.
Innovation Solution
A temporary failover framework is established, including copies of unmodified repository tables and synonyms, allowing end-users to access and modify these tables during the upgrade, enabling continuous operation by redirecting application servers to a failover schema.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional database upgrade procedures are used, then the database system can be upgraded to apply enhancements and patches, but the complete system must be shut down causing downtime and loss of productive operation
Solution Approach 1:
The database system is segmented into two separate schemas: the original schema and a failover schema. The failover schema contains copies of unmodified database tables and synonyms, allowing application servers to continue accessing data while the original schema undergoes upgrade modifications. This segmentation enables independent operation of upgrade processes and application access without mutual interference.
Solution Approach 2:
The failover schema acts as an intermediary layer between application servers and the original database schema during upgrade. Application servers connect to the failover schema which provides continuous access to unmodified tables, while the original schema is upgraded in the background. This intermediary enables continuous availability without blocking upgrade operations.
2Adaptability or versatility
If the database system is shut down for upgrade, then structural changes and content adjustments can be applied to database objects, but productive operation is interrupted and no users can access the system
Solution Approach 1:
Before the upgrade process begins, a failover schema is created in advance containing copies of all unmodified database tables and synonyms. This preliminary preparation ensures that when the upgrade starts, application servers can immediately switch to the pre-prepared failover schema and continue operations without interruption while upgrade changes are applied to the original schema.
3Reliability
If application servers are shut down and restarted during upgrade, then upgraded database objects can be accessed, but user connections are disrupted and service continuity is broken
Solution Approach 1:
The failover schema serves as a mediator that allows application servers to maintain continuous user connections during upgrade. Instead of shutting down servers to apply updates, the servers remain active and serve users through the failover schema while the original schema is upgraded in the background, eliminating service disruption.
4Reliability
If a failover framework with copies of database tables is established, then continuous access during upgrade is enabled, but additional database objects and complexity are introduced
Solution Approach 1:
The failover schema is created by copying unmodified database tables and synonyms from the original schema. This copying approach enables continuous availability during upgrade while keeping the complexity manageable, as the copies are static and do not require synchronization logic. The copies are simply replicated structures that provide read-only access during the upgrade process.
Data Source
AI summary
Methods, systems and articles of manufacture are disclosed for upgrading a system while keeping applications continuously available. The upgrade of such a system which consists of several database applications requires an outage for the complete system due to the fact that database objects (e.g. tables, indexes or views) are structurally adjusted or the content of database tables is changed. To overcome this limitation there is provided a method. The method comprises in setting up a temporary failover framework in the same database to allow end-user read and write access to database tables which are not changed during the upgrade outage. The database applications based on these tables are thus made continuously available.


