Dynamic Request Slicing for Key-Value Database Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memcached systems face inefficiencies in processing data queries due to the lack of effective methods for managing requests to key-value databases, particularly under varying workloads and load intensities, leading to increased latency and performance degradation.
Innovation Solution
A method that dynamically splits or merges requests based on threshold numbers to optimize latency, where requests exceeding a first threshold are split into multiple requests and those below a second threshold are merged with previous or subsequent requests, submitted in parallel using threads for faster processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If requests with many keys are processed as single queries, then fewer total requests are submitted to the database, but query processing time increases and latency increases
Solution Approach 1:
The patent divides large requests containing many keys into multiple smaller sub-requests. Each sub-request contains a subset of the original keys, allowing parallel processing and reducing the time each individual query takes to execute. The results are then aggregated to form the complete response, thus resolving the contradiction between processing throughput and query latency.
2Loss of time
If requests are split into multiple smaller queries, then query processing time decreases and latency is reduced, but the number of requests submitted to the database increases
Solution Approach 1:
The patent combines multiple small requests into larger batches when the number of keys falls below a threshold. This merging operation reduces the total number of database round-trips required, improving overall throughput while maintaining low latency for individual queries. This resolves the contradiction by dynamically adjusting between splitting and merging based on request characteristics.
3Device complexity
If small requests are processed individually, then processing overhead is minimized, but efficiency decreases due to inability to amortize constant overhead
Solution Approach 1:
The patent merges multiple small requests into batches to amortize constant processing overhead across multiple operations. By combining requests that would otherwise be processed individually, the system reduces the relative impact of fixed overhead costs while maintaining low complexity in the processing logic through threshold-based decision making.
4Productivity
If dynamic threshold-based splitting and merging is implemented, then query processing efficiency is optimized, but system complexity increases
Solution Approach 1:
The patent uses dynamic threshold parameters to control the splitting and merging behavior. By adjusting these thresholds based on system conditions and workload characteristics, the system optimizes processing efficiency without requiring complex decision logic. This resolves the contradiction by using simple parameter-based control rather than complex algorithms.
Data Source
AI summary
The present disclosure relates to a method of managing requests to a key-value database. A non-limiting example of the method includes receiving a request that includes a number of keys. The number of keys can be compared with a first threshold number and second threshold number. If the number of keys exceeds the first threshold number, the request can be split. If the number of keys is smaller than the second threshold number, the request can be merged with at least one previous or subsequent request. Requests resulting from the splitting and merging steps can be submitted to the key-value database for further processing of the submitted requests.


