[发明专利]数据库管理方法及数据库系统有效
申请号: | 201710031732.0 | 申请日: | 2017-01-17 |
公开(公告)号: | CN108319602B | 公开(公告)日: | 2020-10-16 |
发明(设计)人: | 郑主能 | 申请(专利权)人: | 阿里巴巴(中国)有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F16/13;G06F16/18 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 310052 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 管理 方法 系统 | ||
本发明公开了一种数据库管理方法及数据库系统。用于存储多条数据,其中,每条所述数据包括相对应的键和值,数据存储流程如下:将多条数据写入外部存储器中的日志文件;将日志文件中的数据写入内部存储器中的内存表,其中,写入内存表中的数据按照键的大小有序存储;在内存表的大小超过预定阈值时,将内存表转化为只读内存表,将日志文件中的后续数据写入新的内存表;将只读内存表中的数据写入外部存取器中,以得到第一级存储文件;合并两个或更多个第一级存储文件,以得到第二级存储文件。由此,最终存储在外部存储器中的文件仅有两层,冗余度较低,查找起来比较方便。
技术领域
本发明涉及数据库存储技术领域,特别是涉及一种数据库管理方法及数据库系统。
背景技术
近年来,随着NoSql的兴起,涌现了各种KV型的存储引擎。有针对缓存的,也有针对持久化的,在持久化领域中具有代表性的要属LevelDB了。LevelDB是Google开发的高性能KV存储引擎,其灵感源自于Google的BigTable。
尽管LevelDB在小数据量的场景下,已经可以发挥非常不错的性能,然而大数据量(上百G)、高频度写入的情况下,LevelDB在读、写、合并、数据清理、重启恢复等多方面都暴露了其不足之处。如何在大数据量、高频度写入的情况下,依然保障高效的服务质量,是目前亟需解决的技术问题
发明内容
本发明的主要目的在于提供一种新的数据库管理方法及数据库系统以解决上述技术问题。
根据本发明的一个方面,提供了一种数据库管理方法,用于存储多条数据,其中,每条数据包括相对应的键和值,该方法包括:将多条数据写入外部存储器中的日志文件;将日志文件中的数据写入内部存储器中的内存表,其中,写入内存表中的数据按照键的大小有序存储;在内存表的大小超过预定阈值时,将内存表转化为只读内存表,并将日志文件中的后续数据写入新的内存表;将只读内存表中的数据写入外部存取器中,以得到第一级存储文件;以及合并两个或更多个第一级存储文件,以得到第二级存储文件。
由此,最终存储在外部存储器中的文件仅有两层,冗余度较低,查找起来比较方便。
优选地,该数据块管理方法还可以包括:以第一命名规则指定第一级存储文件的主文件名;以及以第二命名规则指定第二级存储文件的主文件名,第一命名规则与第二命名规则不同,以便基于主文件名区分存储文件是第一级存储文件还是第二级存储文件。
由此可以根据对存储文件的主文件名来确认其属于第一级存储文件还是第二级存储文件。
优选地,内存表可以由一个哈希表组成,哈希表包括一个或多个哈希桶,每个哈希桶对应一个跳表,内存表中的每条数据构成跳表的一个元素,其中,跳表中的元素的顺序是按照键的大小有序排列的。
在跳表前插入内存表,可以降低锁粒度,对于并发读写操作,如果键不相同,则可在各自的哈希桶所对应的跳表中进行快速的查找插入,另一方面,在扩大内存表的大小的同时,不至于扩大跳表的大小,这可以降低跳表随着数据量变大而变成线性查找的概率,从而提高整体的查找效率。
优选地,该数据块管理方法还可以包括:在内部存储器中维护只读内存表队列,在只读内存表中的数据未全部写入外部存储器,而新的内存表的大小超过预定阈值时,将新的内存表转化为另一个只读内存表,并放入只读内存表队列。
由此通过维护内存表队列可以应对在高频度写的时候不至于因为数据来不及合并,而内存表又写满之后出现阻塞的问题。
优选地,存储文件的数据结构可以包括:文件头,用于记录存储文件的元数据信息;数据块,用于存放值;以及索引块,用于以B+树的形式存放值对应的键,其中,所有键及其对应的值在数据块中的逻辑地址均分别记录于B+树中的叶子节点中,并且构成B+树的所有节点在物理上连续存储。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴(中国)有限公司,未经阿里巴巴(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710031732.0/2.html,转载请声明来源钻瓜专利网。