Database Indexing via Pseudorandom Numbers to Mitigate Hot Block Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large-scale cloud-based multitenant computing systems face scalability and performance issues due to 'hot block' problems in B-tree indexes, where concurrent access requests to the latest data changes lead to significant contentions and overload conditions, resulting in non-linear deterioration of database service capabilities.
Innovation Solution
The use of pseudorandom numbers (PRNs) generated by a PRN generator, which are deterministically reproducible using a seed value and a time sequence of numerically ordered invocation numbers, to identify and index data changes, avoiding the concentration of access in a single block and thus mitigating the 'hot block' issue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If B-tree indexes based on system timestamps are used to manage data changes, then data changes can be accessed in temporal order, but concurrent access requests to the same last blocks cause significant contentions and overload conditions leading to non-linear deterioration of database service capabilities
Solution Approach 1:
The patent changes the indexing parameter from system timestamps to pseudorandom numbers (PRNs). Each data change is assigned a PRN instead of using timestamps for indexing. This parameter change eliminates the temporal ordering requirement while distributing access patterns across the index structure, preventing hot block contention and maintaining database service capability under high concurrency.
Solution Approach 2:
The patent creates a copy of the data change identification mechanism by using PRNs that can be deterministically reproduced from invocation numbers. Instead of relying on system timestamps that cause contention, the system uses these reproduced PRN copies to identify and access data changes, maintaining functionality while eliminating the hot block problem.
2Stability of the object's composition
If system timestamps are used to index data changes, then chronological ordering is maintained, but clock synchronization issues arise in distributed systems
Solution Approach 1:
The patent extracts the ordering function from system timestamps by using invocation numbers that are sequentially assigned by the PRN generator. The chronological ordering is maintained through the sequential nature of invocation numbers rather than through timestamp comparisons, eliminating clock synchronization requirements while preserving the ability to order data changes.
Solution Approach 2:
The patent introduces PRNs as an intermediary between data changes and their identification. Instead of directly using system timestamps that require synchronization, the PRNs serve as a mediator that can be deterministically generated from invocation numbers, providing a reliable ordering mechanism without clock synchronization in distributed systems.
3Stability of the object's composition
If sequence numbers are used to identify data changes, then ordering is maintained, but the same hot block problem occurs as with timestamps
Solution Approach 1:
The patent inverts the traditional approach by not using sequential numbers directly for indexing. Instead of indexing with invocation numbers or sequence numbers that would concentrate access on the last block, it uses pseudorandom numbers generated from these sequential identifiers. This inversion maintains the ordering capability through the generation sequence while distributing access patterns to eliminate hot block contention.
Data Source
AI summary
A seed value assigned to a database table is determined. Numerically ordered invocation numbers are determined. Unordered pseudorandom numbers are generated based on the seed value and the invocation numbers to index temporally ordered data changes to the database table. It is determined whether the total number of yet-to-be-saved pseudorandom numbers reaches a maximum total number threshold. If so, the yet-to-be-saved pseudorandom numbers and a sequence of corresponding invocation numbers are saved in a sync table.


