Object-Level Database Locking With Cuckoo Filters for MPP Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems, particularly Massively Parallel Processing (MPP) systems, face challenges in managing concurrent data access requests due to table-level locks that unnecessarily block access to entire database tables, affecting concurrency and efficiency.
Innovation Solution
Implementing an object-level locking mechanism using cuckoo filters to control access to individual data objects within a database table, allowing concurrent access to non-conflicting data objects while minimizing overhead and inefficiencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If table-level locks are used to manage concurrent data access requests, then data consistency and integrity are maintained, but concurrency and processing efficiency are reduced due to unnecessary blocking of access to entire database tables
Solution Approach 1:
The patent segments the table-level lock into object-level locks by introducing a mapping between table-level locks and multiple object-level locks. Each object-level lock is associated with specific data objects within a table, allowing fine-grained control. This segmentation enables concurrent access to non-conflicting objects while maintaining data consistency through the lock mapping mechanism.
Solution Approach 2:
The patent introduces an intermediary structure (lock mapping mechanism) that mediates between table-level locks and object-level locks. This intermediary maintains the relationship between the coarse-grained table-level lock and fine-grained object-level locks, enabling efficient concurrency management while preserving data consistency through coordinated locking.
2Ease of operation
If table-level locks are used to ensure data consistency, then access control is simplified, but resource utilization is reduced due to locking entire tables for individual object operations
Solution Approach 1:
The patent segments the coarse-grained table-level access control into fine-grained object-level access control. By maintaining a mapping between table-level and object-level locks, the system provides simplified access control at the object level, allowing users to lock only specific objects rather than entire tables, thus improving resource utilization.
Solution Approach 2:
The patent applies partial action by implementing object-level locks only for the specific data objects being accessed, rather than locking the entire table. This partial locking approach reduces the scope of resource contention and improves overall resource utilization while maintaining adequate access control for the affected objects.
3Productivity
If object-level locking mechanisms are implemented, then concurrency and resource utilization are improved, but system complexity increases due to additional locking management overhead
Solution Approach 1:
The patent introduces an intermediary lock mapping mechanism that manages the complexity of object-level locking. This intermediary structure automatically maintains the mapping between table-level and object-level locks, handling the complexity of lock management and enabling high concurrency without requiring complex manual locking coordination.
Solution Approach 2:
The patent makes the lock mapping mechanism universal by using it to serve multiple functions: maintaining data consistency, enabling fine-grained access control, and managing the complexity of object-level locking. This multi-functional approach reduces overall system complexity by consolidating management tasks into a single reusable mechanism.
Data Source
AI summary
Improved techniques for management of access in computing environments and systems are disclosed. An object-level data access mechanism can be provided. to effectively provide an object-level locking mechanism for locking data objects of database tables, individually, as individual data objects. Furthermore, the object-level data access mechanism can be provided as a safe and efficient filtering mechanism (e.g., cuckoo filter) that effectively provide an object-level locking mechanisms for locking data objects of a database table, individually (i.e., as individual locks placed on individual data objects). For example, a set of filters (e.g., write cuckoo and read cuckoo) can be provided for a database table to facilitate concurrent database operations in a safe but efficient manner.


