Database Connection Refresh for Server Instances
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing server instances face disruptions and reduced throughput during peak usage due to resource contention, particularly when applying patches to database systems, as static connections must be terminated, leading to interruptions in workload processing.
Innovation Solution
A notification system redirects incoming connection requests to a backup database, allowing threads to refresh their connections individually when idle, enabling patch application without interrupting active operations by maintaining static connections to the backup database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static connections to the database are terminated to apply patches, then the database can be updated, but workload processing is interrupted and throughput is reduced
Solution Approach 1:
A backup database is prepared in advance before the patch is applied to the primary database. Threads are redirected to the backup database before the patching operation begins, ensuring that workload processing continues uninterrupted while the primary database receives updates.
Solution Approach 2:
The backup database serves as an intermediary that allows threads to maintain their database connections during the patching process. Instead of terminating connections to the primary database, threads continue operating against the backup database, which mediates between the running workload and the updating primary database.
2Stability of the object's composition
If the database is taken offline to apply patches, then consistent workloads can be maintained, but processing operations are interrupted
Solution Approach 1:
The backup database is set up and configured before the patching operation starts. Threads are pre-configured to use the backup database, so when the primary database goes offline for patching, there is no interruption to workload processing.
Solution Approach 2:
The system changes the database connection parameter for threads from the primary database to the backup database. This parameter change allows threads to continue operating with modified connection settings while the primary database undergoes patching.
3Productivity
If multiple kernels and threads operate in parallel to handle thousands of workloads, then processing capacity increases, but resource contention becomes severe
Solution Approach 1:
The database resource is segmented into two separate databases: the primary database and the backup database. This segmentation allows different sets of threads to operate against different databases simultaneously, reducing contention on the primary database during patch operations.
Solution Approach 2:
The system adds a temporal dimension to database usage by having threads switch between primary and backup databases at different times. While the primary database is being patched, threads operate against the backup database, effectively adding a time-based dimension to resource allocation.
Data Source
AI summary
Threads and kernels across multiple server instances may maintain static connections to a database during operation. To apply a patch or other upgrade to the database, a notification may be sent to the database system that causes the database system to redirect new incoming connection requests for the database to a backup database. A second notification may also be sent to each of the server instances where threads maintain active connections to the database. These threads may be allowed to finish executing a current job, then when entering the idle state these threads may be directed to refresh their connections. This refresh operation may be redirected to the backup database. The patch may be applied after all connections have been switched to the backup database. This process switches static connections to the backup database as quickly as possible without interrupting existing thread operations.


