Accelerating Range Query Execution of In-Memory Stores: A Performance Study
The emergence of advanced technologies such as InfiniBand and Non-Volatile Memory together with decreasing in DRAM prices has enabled us to build ultra-low latency in-memory stores for backing real-time and large-scale services. Many studies have taken those opportunities to accelerate lookup operations of key-value stores. Meanwhile, there is a lack of researches that utilize them for improving range query performance. This paper reports a detailed performance analysis of range query execution of in-memory stores. Our findings show that in modern architecture, copying/serialization data for transmission over network is the major overhead of range query processing. To solve this issue, several methods could be considered, such as parallelism, caching, and utilizing RDMA Read. We have conducted some experiments to evaluate their potentials and surprisingly, the outcomes revealed that none of those performed well in every scenario. Optimizing performance gain when employing those techniques requires us to carefully address user behaviors, characteristics of data and even system architecture.