[發(fā)明專利]一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 202010909904.1 | 申請(qǐng)日: | 2020-09-02 |
| 公開(kāi)(公告)號(hào): | CN111767289A | 公開(kāi)(公告)日: | 2020-10-13 |
| 發(fā)明(設(shè)計(jì))人: | 張艷清;肖杰;張永飛;楊堯;胥莉君 | 申請(qǐng)(專利權(quán))人: | 成都四方偉業(yè)軟件股份有限公司 |
| 主分類號(hào): | G06F16/22 | 分類號(hào): | G06F16/22 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 610041 四川省*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 內(nèi)存 數(shù)據(jù)庫(kù) 數(shù)據(jù) 存儲(chǔ) 方法 裝置 | ||
本發(fā)明公開(kāi)了一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法及裝置,主要解決現(xiàn)有技術(shù)中存在的現(xiàn)有內(nèi)存數(shù)據(jù)庫(kù)數(shù)據(jù)查詢時(shí),需要在內(nèi)存中篩選需要的數(shù)據(jù),讀取出很多無(wú)用的數(shù)據(jù),造成讀放大,浪費(fèi)資源的問(wèn)題。該一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法包括以下步驟:按設(shè)定列數(shù)量將數(shù)據(jù)分塊后存儲(chǔ);建立多級(jí)索引,各級(jí)索引內(nèi)均建立反向索引。通過(guò)上述方案,本發(fā)明達(dá)到了避免無(wú)用數(shù)據(jù)的檢索,減小讀放大,減少內(nèi)存消耗的目的,具有很高的實(shí)用價(jià)值和推廣價(jià)值。
技術(shù)領(lǐng)域
本發(fā)明涉及內(nèi)存數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,具體地說(shuō),是涉及一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法及裝置。
背景技術(shù)
數(shù)據(jù)庫(kù)是存放數(shù)據(jù)的倉(cāng)庫(kù),而這個(gè)倉(cāng)庫(kù)是按照我們?cè)O(shè)定的數(shù)據(jù)結(jié)構(gòu)來(lái)進(jìn)行組織、存儲(chǔ)和管理數(shù)據(jù),這樣才能更加方便的對(duì)數(shù)據(jù)進(jìn)行保留和使用;根據(jù)數(shù)據(jù)存儲(chǔ)位置的不同,從大方向上將數(shù)據(jù)庫(kù)分為磁盤(pán)數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù),內(nèi)存數(shù)據(jù)庫(kù)基本全面取代磁盤(pán)數(shù)據(jù)。
現(xiàn)有內(nèi)存數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)采用多列組成一個(gè)索引進(jìn)行排序,根據(jù)索引讀取數(shù)據(jù);即多個(gè)列組成一個(gè)primaryKey,部分列查詢時(shí),會(huì)根據(jù)組合的primarykey獲取到數(shù)據(jù),然后再根據(jù)指定列進(jìn)行數(shù)據(jù)篩選;在查詢時(shí)會(huì)將primaryKey的所有數(shù)據(jù)讀取出來(lái),在內(nèi)存中篩選需要的數(shù)據(jù),讀取出很多無(wú)用的數(shù)據(jù),造成讀放大,浪費(fèi)資源。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法及裝置,以解決現(xiàn)有內(nèi)存數(shù)據(jù)庫(kù)數(shù)據(jù)查詢時(shí),需要在內(nèi)存中篩選需要的數(shù)據(jù),讀取出很多無(wú)用的數(shù)據(jù),造成讀放大,浪費(fèi)資源的問(wèn)題。
為了解決上述問(wèn)題,本發(fā)明提供如下技術(shù)方案:
一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法包括以下步驟:
按設(shè)定數(shù)量將數(shù)據(jù)分塊后存儲(chǔ);
建立多級(jí)索引,各級(jí)索引內(nèi)均建立反向索引。
通過(guò)上述方案,優(yōu)化數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),根據(jù)反向索引減少直接檢索到對(duì)應(yīng)數(shù)據(jù),避免無(wú)用數(shù)據(jù)的檢索,減小讀放大,減少內(nèi)存消耗。
進(jìn)一步的,多級(jí)索引建立的過(guò)程為:
S101、建立Manifest Block;
S102、對(duì)步驟S101中Manifest Block根據(jù)設(shè)定閾值建立多個(gè)下級(jí)Index Block;
S103、根據(jù)步驟S102中根據(jù)設(shè)定閾值建立多個(gè)下級(jí)Data Block。
當(dāng)查詢時(shí)按照指定的條件首先會(huì)去查找一級(jí)索引,根據(jù)以及索引找到對(duì)應(yīng)的二級(jí)索引塊,在二級(jí)索引塊中篩選索引,然后根據(jù)二級(jí)索引找到對(duì)應(yīng)的數(shù)據(jù)塊,最后在數(shù)據(jù)塊中根據(jù)索引查找對(duì)應(yīng)的數(shù)據(jù),減少了讀放大。
進(jìn)一步的,步驟S101中Manifest Block為一個(gè),存放的是每一個(gè)Index Block中索引最大的值,以及指向Index Block的指針。
進(jìn)一步的,步驟S102中Index Block存放的是每一個(gè)Data Block中索引最大的值,以及指向Data Block的指針。
進(jìn)一步的,步驟S103中Data Block 存放索引,并存放真正的數(shù)據(jù)。
進(jìn)一步的,根據(jù)數(shù)據(jù)的固定列建立反向索引,將固定列拼接成primary key。
進(jìn)一步的,數(shù)據(jù)塊的量級(jí)大于設(shè)定閾值,且非primary key列查詢頻率高于設(shè)定閾值時(shí)所述數(shù)據(jù)庫(kù)進(jìn)行壓縮;否則不壓縮。
一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)裝置包括
存儲(chǔ)器:用于存儲(chǔ)可執(zhí)行指令;
處理器:用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的可執(zhí)行指令,實(shí)現(xiàn)一種基于內(nèi)存數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都四方偉業(yè)軟件股份有限公司,未經(jīng)成都四方偉業(yè)軟件股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010909904.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)管理系統(tǒng)及數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)構(gòu)筑裝置、數(shù)據(jù)庫(kù)檢索裝置、數(shù)據(jù)庫(kù)裝置、數(shù)據(jù)庫(kù)構(gòu)筑方法、以及數(shù)據(jù)庫(kù)檢索方法
- 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)處理方法
- 數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)更新方法、數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)更新程序
- 容器數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)同步方法及數(shù)據(jù)庫(kù)
- 一種MongoDB數(shù)據(jù)庫(kù)對(duì)象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲(chǔ)方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 數(shù)據(jù)庫(kù)語(yǔ)句執(zhí)行方法及裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





