Redis++: A High Performance In-Memory Database Based on Segmented Memory Management and Two-Level Hash Index
Abstract: Redis is an open source in-memory data structure store, used as a database, cache and message broker. However, there are two problems that will degrade its performance. One is the memory fragmentation problem, another is cache miss problem. For the purpose, this paper presents a high-performance in-memory database Redis++. In the memory management mechanism, Redis++ will allocate and deallocate a fixed-size memory segment from the system. The data in each memory segment are stored continuously, and the memory segment is reclaimed based on the profit evaluation model. Secondly, a two-level hash index structure is designed, the structure uses two-level index to complete only one cache mapping per query. In addition, instruction-level parallelism is implemented using the single instruction multiple data instruction set, which speeds up the query efficiency of the secondary index. The experiments prove the effect of Redis++ on memory utilization, response latency and throughput.
External IDs:dblp:conf/ispa/ZhangXYTLZ18
Loading