Disk-Based Lock Manager for Clustered Database Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In high-availability clustered database management systems, unresponsive nodes holding exclusive locks on shared resources can impede IO fencing, leading to potential data corruption and lock granting issues, as other nodes cannot determine if the unresponsive node is alive or dead, especially during write operations.
Innovation Solution
Implementing multiple master nodes with direct access to shared storage, where each master node can generate in-memory copies of shared resources, manage locks, and prioritize IO operations, allowing for direct access and caching, while also enabling recall operations and failover mechanisms to handle unresponsive nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single master node manages locks for all shared resources, then lock management is simplified, but system reliability deteriorates when the master node fails or becomes unresponsive
Solution Approach 1:
The patent divides the single master node into multiple master nodes, each managing locks for specific shared resources. This segmentation ensures that if one master node fails, other master nodes can continue managing locks for their respective resources, improving system reliability without significantly increasing overall complexity.
Solution Approach 2:
Each master node is assigned specific shared resources to manage, creating local expertise and responsibility. This allows each master node to operate independently for its designated resources, ensuring continued functionality even when other master nodes are unresponsive or failed.
2Speed
If nodes can access shared storage directly, then data access speed improves, but data integrity deteriorates due to potential concurrent write conflicts
Solution Approach 1:
The patent introduces master nodes as intermediaries between data access requests and shared storage. Master nodes manage lock grants and coordinate access, allowing direct data access for performance while preventing concurrent write conflicts through centralized lock management.
Solution Approach 2:
Before allowing direct access to shared storage, the system performs preliminary lock acquisition through master nodes. This ensures that only one node can write to a given resource at a time, preventing data corruption while maintaining high read performance through direct access.
3Device complexity
If the system waits for unresponsive nodes to respond before granting locks, then lock management is simplified, but productivity deteriorates due to prolonged lock acquisition delays
Solution Approach 1:
The patent implements feedback mechanisms where master nodes monitor the responsiveness of other nodes. When a node is deemed unresponsive, master nodes can proceed to grant locks to other waiting nodes without waiting for the unresponsive node to respond, thereby improving productivity while maintaining manageable complexity through automated detection.
4Reliability
If multiple master nodes are implemented, then system reliability improves during node failures, but device complexity increases
Solution Approach 1:
The patent segments the master node functionality into multiple independent master nodes, each managing specific resources. This segmentation improves reliability by ensuring continued operation during failures while managing complexity through clear division of responsibilities and automated failover mechanisms.
Data Source
AI summary
A method and apparatus for managing shared resources in a clustered database management system is provided. In an embodiment, multiple master nodes exist in a database management system. A master node receives a lock request from a second node. The lock request is a request for a lock on a shared resource. The master node grants the lock request to the second node. While the second node holds the lock, the second node causes the master node to modify the shared resource.


