Hierarchical Key-Value Store Architecture for Latency and Capacity Trade-offs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current key/value stores face challenges in simultaneously achieving high performance and large capacity due to the limitations of hardware and cost, with typical systems optimized for either performance or capacity but not both effectively.
Innovation Solution
A three-tiered key/value store architecture is implemented, utilizing Dynamic Random Access Memory (DRAM) for high-performance key storage, Solid State Drive (SSD) for intermediate capacity and performance, and Hard Disk Drive (HDD) for large capacity, with hierarchical query processing that decouples key and value storage to optimize both performance and capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single storage device is used for both keys and values, then device complexity is reduced, but performance and capacity cannot be simultaneously optimized
Solution Approach 1:
The patent divides the storage system into three separate tiers: a first storage device for keys, a second storage device for values, and a third storage device for metadata. This segmentation allows each storage device to be optimized for its specific function, enabling simultaneous improvement of performance and capacity without increasing overall system complexity
Solution Approach 2:
The patent introduces a hierarchical query processing system with a query processing layer that acts as an intermediary between the storage devices and users. This intermediary manages the complexity of coordinating multiple storage devices, translating user queries into optimized access patterns across the three-tier storage architecture
2Speed
If high-performance storage (DRAM) is used, then latency is reduced and throughput is increased, but capacity is limited
Solution Approach 1:
The patent extends the storage hierarchy by adding a third dimension of capacity through the second storage device (SSD/NVMe) and third storage device (HDD). This multi-dimensional storage architecture allows the system to achieve high speed for frequently accessed keys while providing extensive capacity through lower-cost storage media for values and metadata
3Quantity of substance
If large capacity storage (HDD) is used, then storage capacity is increased, but latency increases and throughput decreases
Solution Approach 1:
The patent applies local quality by placing high-performance storage (first storage device) specifically for keys that require fast access, while using high-capacity storage (third storage device) for values that are accessed less frequently. This localized optimization ensures that critical operations maintain high speed while the system as a whole achieves large capacity
4Ease of operation
If keys and values are stored together, then storage management is simplified, but query processing efficiency decreases
Solution Approach 1:
The patent extracts keys from values and stores them in separate storage devices. This separation allows the query processing system to quickly locate keys in the first storage device without the overhead of searching through value data, significantly improving query processing efficiency while the hierarchical structure manages the complexity of separate storage locations
Data Source
AI summary
A key/value store comprising a first tier storage device configured to store information about a plurality of keys for a plurality of values without the values, and a second tier storage device coupled to the first tier storage device and configured to store the values associated with the keys without the keys, wherein the first tier storage device has lower latency and higher throughput than the second tier storage device, and wherein the second tier storage device has higher capacity than the first tier storage device. Also disclosed is a method comprising receiving a key/value operation request at a first tier storage device, mapping a key in the key/value operation request to a locator stored in a second tier storage device if the key/value operation request is valid, and mapping the locator to a value in a third tier storage device if the key has a corresponding locator.


