[发明专利]一种优化索引持久化的方法、系统、设备及介质有效
申请号: | 202011181128.4 | 申请日: | 2020-10-29 |
公开(公告)号: | CN112434025B | 公开(公告)日: | 2022-08-12 |
发明(设计)人: | 宋奇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F3/06 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛;张腾 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 索引 持久 方法 系统 设备 介质 | ||
本发明公开了一种优化索引持久化的方法、系统、设备和存储介质,方法包括:将持久内存设备初始化为非易失性持久模式,并在持久内存设备中创建命名空间;响应于接收到线程申请内存资源的请求,判断线程是否为持久化索引文件类型的线程;响应于线程为持久化索引文件类型的线程,判断持久内存设备的状态是否健康;以及响应于持久内存设备的状态健康,向线程提供持久内存存储型内存资源,并根据索引文件的大小在命名空间中分配索引缓存内存。本发明利用持久内存设备代替传统磁盘作为索引持久化的存储介质,并且通过持久内存设备中创建的命名空间,提升查询或检索数据的性能,并提升读写索引文件的效率。
技术领域
本发明涉及持久内存领域,更具体地,特别是指一种优化索引持久化的方法、系统、计算机设备及可读介质。
背景技术
索引作为一种独立的对数据表中一个或多个字段的值进行排序的存储结构,对于关系型数据库的高效运行十分重要,合理运用索引能够极大地提升查询或检索效率。索引持久化是将内存中的索引文件保存于永久存储介质中,避免掉电后索引文件丢失,省去宕机重启后新建索引带来的时间消耗,提升查询或检索性能。索引持久化通常是将索引文件序列化后保存在磁盘等永久性存储介质中,此过程将产生大量的磁盘IO;另外,当利用索引查询或检索数据时,需要将持久化索引文件经过反序列化等操作写入内存,该过程同样产生大量的磁盘IO。
一般情况下,索引文件的大小占到其关联数据表空间的8%左右,在海量数据的查询或检索任务中,索引文件所占空间便不容忽视。此时,读写持久化索引文件所产生的磁盘IO将影响查询或检索数据的性能。
发明内容
有鉴于此,本发明实施例的目的在于提出一种优化索引持久化的方法、系统、计算机设备及计算机可读存储介质,通过持久内存设备代替传统磁盘作为索引持久化的存储介质,并且通过持久内存设备中创建的命名空间,提升查询或检索数据的性能,并提升读写索引文件的效率。
基于上述目的,本发明实施例的一方面提供了一种优化索引持久化的方法,包括如下步骤:将持久内存设备初始化为非易失性持久模式,并在所述持久内存设备中创建命名空间;响应于接收到线程申请内存资源的请求,判断所述线程是否为持久化索引文件类型的线程;响应于所述线程为持久化索引文件类型的线程,判断所述持久内存设备的状态是否健康;以及响应于所述持久内存设备的状态健康,向所述线程提供持久内存存储型内存资源,并根据索引文件的大小在所述命名空间中分配索引缓存内存。
在一些实施方式中,所述向所述线程提供持久内存存储型内存资源包括:重构关系型数据库的内存存储引擎和索引缓存内存。
在一些实施方式中,所述向所述线程提供持久内存存储型内存资源包括:重写内存存储引擎中缓存索引文件的指向地址,并添加持久内存存储的层级。
在一些实施方式中,所述向所述线程提供持久内存存储型内存资源包括:将缓存索引文件的存储方式指向所述持久内存设备。
在一些实施方式中,方法还包括:响应于所述线程不为持久化索引文件类型的线程,判断所述线程是否为查询或检索数据类型的线程;以及响应于所述线程为查询或检索数据类型的线程,为所述线程分配动态随机存取存储器运行内存资源。
在一些实施方式中,所述为所述线程分配动态随机存取存储器运行内存资源包括:根据查询或检索数据语句的类型对不同类型的使用内存进行分配。
在一些实施方式中,所述在所述持久内存设备中创建命名空间包括:获取所述持久内存设备的实际容量,并根据所述实际容量创建多个大小相同且相互隔离的命名空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011181128.4/2.html,转载请声明来源钻瓜专利网。