1 .一种Key‑value分离存储方法,其特征在于:将ART前缀树作为数据索引的基本数据
结构,在每条数据的节点Node内部为key值和value值分别分配空间进行存储,并在节点
Node内存储对应的SequenceNumber和ValueType,实现对Key‑value的分离,同时数据存储
过程中不再进行编码,而是直接对key、SequenceNumber、ValueType和value进行存储与读
取,进而降低IO吞吐量,增加CPU cache命中率,提升数据库的读写性能。
2.根据权利要求1所述的Key‑value分离存储方法,其特征在于,包括以下步骤:
S1 .数据写入时,先建立一个新的节点Node作为Key‑value数据的一个版本,并在当前
版本节点Node中为key和value分配内存空间,将key和value拷贝存入当前版本Node中;
S2 .为节点Node成员SequenceNumber和ValueType分别进行赋值,以存储的当前版本信
息;
S3.待全部信息存入节点Node后,将节点Node地址挂载到ART索引树上;
S4 .读取数据时获取当前节点Node,调用对应的取值函数GetXX( )即可获取信息,无需
进行额外的解码操作。
3 .根据权利要求2所述的Key‑value分离存储方法,其特征在于:对迭代器进行改造,不
再通过内存首地址获取数据信息,而是通过节点Node的Get操作直接获取当前Key‑value数
据的相关信息,减少对数据的解码操作。
4 .根据权利要求3所述的Key‑value分离存储方法,其特征在于:当不同版本间比较时,
直接使用节点Node获取key信息进行比较即可。
5 .根据权利要求3所述的Key‑value分离存储方法,其特征在于:进行查询操作时,直接
传入节点Node指针获取相应key信息即可。
6 .根据权利要求1~5所述的Key‑value分离存储方法的系统,其特征在于:包括ART前
缀树模块和节点Node管理模块,所述ART前缀树模块用于生成数据索引的基本数据结构,所
述节点Nod e管理 模 块 用于 为 k e y 和va lue分配内存空间 进行 存储 ,同 时 存储 对 应的
SequenceNumber和ValueType,以实现对Key‑value的分离。
7 .一种计算机设备,其特征在于:包括存储器和处理器,所述存储器存储有计算机程
序,所述处理器执行所述计算机程序时实现权利要求1~5所述的Key‑value分离存储方法
的步骤。
8.一种计算机可读存储介质,其特征在于:其上存储有计算机程序,所述计算机程序被
处理器执行时实现权利要求1~5所述的Key‑value分离存储方法的步骤。
权 利 要 求 书
1/1 页
2
评论