RDMA (Remote Direct Memory Access) is widely exploited in building key-value stores to achieve ultra low latency. In RDMA-based key-value stores, the indexing time takes a large fraction (up to 74%) of the overall operation latency as RDMA enables fast data accesses. However, the single index structure used in existing RDMA-based key-value stores, either hash-based or sorted index, fails to support range queries efficiently while achieving high performance for single-point operations. In this paper, we reconsider the adoption of hybrid index in the key-value stores based on RDMA, to combine the benefits of hash table and sorted index. We propose HiStore, an RDMA-based key-value store using hash table for single-point lookups and leveraging skiplist for range queries. To maintain strong consistency in a lightweight and efficient approach, HiStore introduces index groups where a skiplist corresponds to a hash table, and asynchronously applies updates to the skiplist within a group. Guided by previous work on using RDMA for key-value services, HiStore dedicatedly chooses different RDMA primitives to optimize the read and write performance. Furthermore, HiStore tolerates the failures of servers that maintain index structures with index replication for high availability. Our evaluation results demonstrate that HiStore improves the performance of both GET and SCAN operations (by up to 2.03x) with hybrid index.
翻译:RDMA (远程直接内存存存) 被广泛用于建设关键值商店, 以实现超低延迟。 在基于 RDMA 的 关键值商店中, 指数化时间需要整个运行时间的很大一部分( 高达74% ), 因为 RDMA 能够快速访问数据。 但是, 现有基于 RDMA 的关键值商店( 散列或分类指数) 所使用的单一指数结构无法有效支持范围查询, 而单点操作的性能却很高。 在本文中, 我们重新考虑在基于 RDMA 的 关键值商店中采用混合指数, 以合并散列表格和排序索引的优点。 我们建议HiStore, 以RDMA 为基础的关键值表格为基础, 关键点查点搜索并利用跳板查询。 要保持较强的一致性, HiStorre 引入了索引组, 使跳板与单列表相匹配, 并在一个组内对基值商店采用更新更新。 由RDMA 和S 智能S 的S 高级S 测试, 与S 最佳Simalto 高级S 的S 更新演示, 和 高级S 高级S 更新S 的Silviewlaview 进行S 的S 高级S 的S