Hash-Offset Table for Key-Value Store Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Searching for and retrieving a random key in a key-value store incurs significant overhead due to multiple key comparisons, leading to high CPU cycle usage.
Innovation Solution
A method and system that map a hash-offset table to a key-value table, allowing for the calculation and sorting of hash-values, enabling binary search to locate target key-value pairs with reduced CPU cycles by using a hash-offset table with entries corresponding to keys and offsets, thereby simplifying the search process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple key comparisons are used to search for a random key in a key-value store, then the search can be performed using standard sorting algorithms, but the CPU cycle usage increases significantly
Solution Approach 1:
The patent transforms the search key from its original form into a hash value, changing the parameter being searched. By converting keys to hash values and storing corresponding offsets in a hash-offset table, the system enables faster lookup through hash-based indexing rather than traditional key comparison, thereby reducing CPU cycle usage while maintaining search accuracy
Solution Approach 2:
The patent introduces a hash-offset table as an intermediary data structure between the search key and the actual key-value pairs. This intermediary contains hash values and corresponding offsets that guide the search process, eliminating the need for direct key comparisons and reducing computational overhead
2Productivity
If a hash-offset table is introduced to reduce CPU cycles, then search efficiency improves, but the data structure complexity increases
Solution Approach 1:
The patent segments the key-value storage into two distinct components: a hash-offset table containing hash values and offsets, and the actual key-value pairs. This segmentation allows the search operation to be divided into two simpler steps: hashing the search key and using the offset to locate the value, thereby improving search efficiency while organizing complexity into manageable segments
Data Source
AI summary
Provided is a system and method for searching for a target key in a database, the method including populating a hash-offset table of a sorted key table with hash-offset table entries, the hash-offset table entries having a hash-value corresponding to a respective key, and a hash offset, sorting the hash-offset table entries based on the hash-values, searching for a target hash-value of the hash-values corresponding to a target key in the hash-offset table, locating a target key-value pair corresponding to the target key based on the target hash-value, and saving a location of the target key-value pair.


