[发明专利]一种内存数据库KV存储引擎索引的创建方法有效

专利信息
申请号: 202011201566.2 申请日: 2020-11-02
公开(公告)号: CN112269786B 公开(公告)日: 2023-02-03
发明(设计)人: 梁波;孙思清;张炜刚;贾德星;张晖;高传集 申请(专利权)人: 浪潮云信息技术股份公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/23;G06F16/2458;G06F16/27
代理公司: 济南信达专利事务所有限公司 37100 代理人: 郗艳荣
地址: 250100 山东省济南市高*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 数据库 kv 存储 引擎 索引 创建 方法
【说明书】:

发明特别涉及一种内存数据库KV存储引擎索引的创建方法。该内存数据库KV存储引擎索引的创建方法,首先在CockroachDB数据库插入ART树,并在ART树的叶子节点增加双向链表,然后基于ART树获取大于某key的节点,并计算出待插入key值对应的插入位置,将待插入key值对应的节点插入到双向链表中,最后遍历Key值范围即可。该内存数据库KV存储引擎索引的创建方法,通过在ART树的叶子节点增加双向链表,实现了key值范围遍历的快速响应以及对CockroachDB的排序规则的支持;通过ART树使用乐观锁机制、双向链表使用CAS无锁算法的方式保证了插入/查询操作时的高性能以及数据的一致性。

技术领域

本发明涉及数据库技术领域,特别涉及一种内存数据库KV存储引擎索引的创建方法。

背景技术

近年来,随着动态随机存储器(DRAM)容量的上升和单位价格的下降,使大量数据在内存中的存储和处理成为可能,Redis、Memcached等内存数据库管理软件逐渐成熟,应用范围越来越广。

内存数据库(MMDB:Main Memory Database,也叫主存数据库),就是将数据全部或者大部分放在内存中进行操作的数据库管理系统,对查询处理、并发控制与恢复的算法和数据结构进行重新设计,以更有效地使用CPU周期和内存。由于内存数据库与传统的磁盘数据库在设计和架构上都大不相同,所以传统的数据库索引不适用于内存数据库。

CockroachDB是一款开源的分布式数据库,具有NoSQL对海量数据的存储管理能力,又保持了传统数据库支持的ACID和SQL等,还支持跨地域、去中心、高并发、多副本强一致和高可用等特性。支持OLTP场景,同时支持轻量级OLAP场景。

CockroachDB使用rocksdb作为KV存储引擎,rocksdb不是内存存储引擎。如果将CockroachDB改造成内存数据库,需要研发替代rocksdb的KV内存存储引擎。ART树在目前流行的几种内存数据库索引中,具备最好的性能。因此,使用基于ART树构建的KV 内存存储引擎会具备很好的性能优势。

存储引擎主要用作存储数据、为存储的数据建立索引、更新、查询数据等技术的实现方法。KV存储引擎是专门用于存储KV类型表数据的一种存储机制。

KV内存存储引擎是指使用内存作为存储数据介质的KV存储引擎。

ART(Adaptive Radix Tree,自适应基数/前缀树),是以二进制位串为关键字的trie 树,是一种多叉树形结构,同时又类似多层索引表,每个中间节点包含指向多个子节点的指针数组,叶子节点包含指向实际的对象的指针。中间节点根据长度的不同分成若干种不同类型,随着数据的变化而自行调整。

ART树节点所在层数:指从根节点开始每往下一移一层计数加一。根节点为第0层,根节点的子节点们为第1层。

ART树使用字节序作为key的排序规则,而CockroachDB使用自定义的key值排序规则,因此不能直接使用ART树的排序作为输出。并且在CockroachDB中大量使用scan 函数扫描特定范围内的所有key值,并通过迭代器循环获取,ART树的深度遍历不能直接提供对这种操作的支撑。具体来说,如果ART树叶子节点的迭代器使用树的深度遍历算法,需要从根节点到该叶子节点的路径信息。由于ART树不断更新,内部节点可能会扩展前缀成两层内部节点,如果迭代器一直保存着路径的每个内部节点,会导致迭代产生的下一个叶子节点不正确。因此,迭代器每次next时都需要重新计算根节点到叶子节点的路径,但这样产生大量的计算,性能较低。

同时,在高并发的场景下,如何保证并发插入/查询数据一致性和处理性能,都是在创建KV存储引擎索引时亟待解决的难题。

基于上述情况,本发明提出了一种内存数据库KV存储引擎索引的创建方法。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011201566.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top