Database Ownership Lock Management for Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Long-running locks held by messaging engines in database tables hinder ongoing maintenance operations, upgrades, and service integration in 24/7 production environments, as they prevent concurrent access and periodic commits, leading to timeouts and failed utilities.
Innovation Solution
Implementing a method that alternates between exclusive and overlapping shared locks on outer and inner database ownership tables, allowing periodic commits and ensuring no single long-running transaction, thus enabling maintenance and updates while preventing concurrent access by multiple messaging engines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If messaging engines hold exclusive locks on database tables to ensure data consistency, then data integrity is maintained, but maintenance operations and upgrades cannot proceed concurrently
Solution Approach 1:
The patent divides the single database ownership table into two separate tables (outer and inner database ownership tables). This segmentation allows the system to maintain exclusive locks on one table while performing maintenance on the other, thereby enabling concurrent maintenance operations without compromising data integrity.
Solution Approach 2:
The patent implements periodic switching between exclusive locks and shared locks on the database ownership tables. By alternating between lock modes at regular intervals, the system maintains data consistency while periodically allowing maintenance operations to proceed, thus resolving the contradiction between reliability and productivity.
2Reliability
If messaging engines maintain long-running transactions to ensure complete processing, then transaction integrity is preserved, but periodic commits cannot be performed leading to timeouts
Solution Approach 1:
The patent implements periodic switching between exclusive locks and shared locks on the database ownership tables. By alternating between lock modes at regular intervals, the system maintains data consistency while periodically allowing maintenance operations to proceed, thus resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent divides the single database ownership table into two separate tables (outer and inner database ownership tables). This segmentation allows the system to maintain exclusive locks on one table while performing maintenance on the other, thereby enabling concurrent maintenance operations without compromising data integrity.
3Reliability
If exclusive locks are held on database tables to prevent concurrent access, then data consistency is maintained, but database maintenance tasks fail due to access denial
Solution Approach 1:
The patent divides the single database ownership table into two separate tables (outer and inner database ownership tables). This segmentation allows the system to maintain exclusive locks on one table while performing maintenance on the other, thereby enabling concurrent maintenance operations without compromising data integrity.
Solution Approach 2:
The patent introduces an intermediary mechanism (the pair of outer and inner database ownership tables) that mediates between the need for exclusive access (for consistency) and the need for concurrent maintenance access. By switching between these tables, the system allows maintenance operations to proceed while preserving data consistency.
Data Source
AI summary
An exclusive lock is acquired on each of an outer database ownership table and an inner database ownership table to obtain ownership of a database. The exclusive locks are converted to a pair of overlapping shared locks on each of the outer database ownership table and the inner database ownership table, where release and re-acquisition of each of the pair of overlapping shared locks on the outer database ownership table and the inner database ownership table permits database maintenance operations to be performed while maintaining the ownership of the database.


