[發(fā)明專利]一種優(yōu)化索引持久化的方法、系統(tǒng)、設備及介質(zhì)有效
| 申請?zhí)枺?/td> | 202011181128.4 | 申請日: | 2020-10-29 |
| 公開(公告)號: | CN112434025B | 公開(公告)日: | 2022-08-12 |
| 發(fā)明(設計)人: | 宋奇 | 申請(專利權)人: | 蘇州浪潮智能科技有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F3/06 |
| 代理公司: | 北京連和連知識產(chǎn)權代理有限公司 11278 | 代理人: | 張濤;張騰 |
| 地址: | 215100 江蘇省蘇州市吳*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 優(yōu)化 索引 持久 方法 系統(tǒng) 設備 介質(zhì) | ||
本發(fā)明公開了一種優(yōu)化索引持久化的方法、系統(tǒng)、設備和存儲介質(zhì),方法包括:將持久內(nèi)存設備初始化為非易失性持久模式,并在持久內(nèi)存設備中創(chuàng)建命名空間;響應于接收到線程申請內(nèi)存資源的請求,判斷線程是否為持久化索引文件類型的線程;響應于線程為持久化索引文件類型的線程,判斷持久內(nèi)存設備的狀態(tài)是否健康;以及響應于持久內(nèi)存設備的狀態(tài)健康,向線程提供持久內(nèi)存存儲型內(nèi)存資源,并根據(jù)索引文件的大小在命名空間中分配索引緩存內(nèi)存。本發(fā)明利用持久內(nèi)存設備代替?zhèn)鹘y(tǒng)磁盤作為索引持久化的存儲介質(zhì),并且通過持久內(nèi)存設備中創(chuàng)建的命名空間,提升查詢或檢索數(shù)據(jù)的性能,并提升讀寫索引文件的效率。
技術領域
本發(fā)明涉及持久內(nèi)存領域,更具體地,特別是指一種優(yōu)化索引持久化的方法、系統(tǒng)、計算機設備及可讀介質(zhì)。
背景技術
索引作為一種獨立的對數(shù)據(jù)表中一個或多個字段的值進行排序的存儲結(jié)構,對于關系型數(shù)據(jù)庫的高效運行十分重要,合理運用索引能夠極大地提升查詢或檢索效率。索引持久化是將內(nèi)存中的索引文件保存于永久存儲介質(zhì)中,避免掉電后索引文件丟失,省去宕機重啟后新建索引帶來的時間消耗,提升查詢或檢索性能。索引持久化通常是將索引文件序列化后保存在磁盤等永久性存儲介質(zhì)中,此過程將產(chǎn)生大量的磁盤IO;另外,當利用索引查詢或檢索數(shù)據(jù)時,需要將持久化索引文件經(jīng)過反序列化等操作寫入內(nèi)存,該過程同樣產(chǎn)生大量的磁盤IO。
一般情況下,索引文件的大小占到其關聯(lián)數(shù)據(jù)表空間的8%左右,在海量數(shù)據(jù)的查詢或檢索任務中,索引文件所占空間便不容忽視。此時,讀寫持久化索引文件所產(chǎn)生的磁盤IO將影響查詢或檢索數(shù)據(jù)的性能。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例的目的在于提出一種優(yōu)化索引持久化的方法、系統(tǒng)、計算機設備及計算機可讀存儲介質(zhì),通過持久內(nèi)存設備代替?zhèn)鹘y(tǒng)磁盤作為索引持久化的存儲介質(zhì),并且通過持久內(nèi)存設備中創(chuàng)建的命名空間,提升查詢或檢索數(shù)據(jù)的性能,并提升讀寫索引文件的效率。
基于上述目的,本發(fā)明實施例的一方面提供了一種優(yōu)化索引持久化的方法,包括如下步驟:將持久內(nèi)存設備初始化為非易失性持久模式,并在所述持久內(nèi)存設備中創(chuàng)建命名空間;響應于接收到線程申請內(nèi)存資源的請求,判斷所述線程是否為持久化索引文件類型的線程;響應于所述線程為持久化索引文件類型的線程,判斷所述持久內(nèi)存設備的狀態(tài)是否健康;以及響應于所述持久內(nèi)存設備的狀態(tài)健康,向所述線程提供持久內(nèi)存存儲型內(nèi)存資源,并根據(jù)索引文件的大小在所述命名空間中分配索引緩存內(nèi)存。
在一些實施方式中,所述向所述線程提供持久內(nèi)存存儲型內(nèi)存資源包括:重構關系型數(shù)據(jù)庫的內(nèi)存存儲引擎和索引緩存內(nèi)存。
在一些實施方式中,所述向所述線程提供持久內(nèi)存存儲型內(nèi)存資源包括:重寫內(nèi)存存儲引擎中緩存索引文件的指向地址,并添加持久內(nèi)存存儲的層級。
在一些實施方式中,所述向所述線程提供持久內(nèi)存存儲型內(nèi)存資源包括:將緩存索引文件的存儲方式指向所述持久內(nèi)存設備。
在一些實施方式中,方法還包括:響應于所述線程不為持久化索引文件類型的線程,判斷所述線程是否為查詢或檢索數(shù)據(jù)類型的線程;以及響應于所述線程為查詢或檢索數(shù)據(jù)類型的線程,為所述線程分配動態(tài)隨機存取存儲器運行內(nèi)存資源。
在一些實施方式中,所述為所述線程分配動態(tài)隨機存取存儲器運行內(nèi)存資源包括:根據(jù)查詢或檢索數(shù)據(jù)語句的類型對不同類型的使用內(nèi)存進行分配。
在一些實施方式中,所述在所述持久內(nèi)存設備中創(chuàng)建命名空間包括:獲取所述持久內(nèi)存設備的實際容量,并根據(jù)所述實際容量創(chuàng)建多個大小相同且相互隔離的命名空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于蘇州浪潮智能科技有限公司,未經(jīng)蘇州浪潮智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202011181128.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





