[發(fā)明專利]數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理方法、裝置及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202011426584.0 | 申請(qǐng)日: | 2020-12-09 |
| 公開(公告)號(hào): | CN112380193A | 公開(公告)日: | 2021-02-19 |
| 發(fā)明(設(shè)計(jì))人: | 李年 | 申請(qǐng)(專利權(quán))人: | 北京海量數(shù)據(jù)技術(shù)股份有限公司 |
| 主分類號(hào): | G06F16/21 | 分類號(hào): | G06F16/21;G06F16/215;G06F16/22 |
| 代理公司: | 北京尚鉞知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11723 | 代理人: | 王海榮 |
| 地址: | 100083 北京市海淀區(qū)*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫(kù) 歷史數(shù)據(jù) 處理 方法 裝置 系統(tǒng) | ||
本發(fā)明提供數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理方法、裝置及系統(tǒng),該方法包括:在創(chuàng)建新的數(shù)據(jù)庫(kù)時(shí),同時(shí)創(chuàng)建獨(dú)立的歷史表空間,所述歷史表空間用于存儲(chǔ)歷史版本數(shù)據(jù)和事務(wù)信息;執(zhí)行Vacuum進(jìn)程時(shí),直接訪問所述歷史表空間來清除過期數(shù)據(jù)。本發(fā)明能提高過期數(shù)據(jù)的清理效率。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理方法、裝置及系統(tǒng)。
背景技術(shù)
在openGauss和PostgreSQL中,刪除只是標(biāo)記數(shù)據(jù)為刪除標(biāo)志,所以需要vacuum來定期清理過期數(shù)據(jù)。但由于數(shù)據(jù)庫(kù)只保留了事務(wù)標(biāo)記信息,vacuum必須掃描所有的數(shù)據(jù)文件的數(shù)據(jù)塊來處理這個(gè)問題。因此vacuum對(duì)數(shù)據(jù)量大的表非常慢,而且vacuum凍結(jié)結(jié)束前不允許執(zhí)行新事務(wù),導(dǎo)致極端情況下在vacuum凍結(jié)時(shí)全庫(kù)不可用。在openGauss和PostgreSQL中vacuum進(jìn)程經(jīng)常造成數(shù)據(jù)庫(kù)負(fù)載過大甚至不可用的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理方法、裝置及系統(tǒng),能提高過期數(shù)據(jù)的清理效率。
一方面,本發(fā)明提供一種數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理方法,包括:在創(chuàng)建新的數(shù)據(jù)庫(kù)時(shí),同時(shí)創(chuàng)建獨(dú)立的歷史表空間,所述歷史表空間用于存儲(chǔ)歷史版本數(shù)據(jù)和事務(wù)信息;
執(zhí)行Vacuum進(jìn)程時(shí),直接訪問所述歷史表空間來清除過期數(shù)據(jù)。
進(jìn)一步地,在同時(shí)創(chuàng)建獨(dú)立的歷史表空間的步驟之后包括:
接收用戶的歷史表空間管理信息,并根據(jù)所述歷史表空間管理信息調(diào)整所述歷史表空間的大小。
進(jìn)一步地,在同時(shí)創(chuàng)建獨(dú)立的歷史表空間的步驟之后包括:
在收到用戶的SQL處理信息時(shí),記錄SQL處理之前的歷史版本數(shù)據(jù)和事務(wù)信息至所述歷史表空間。
進(jìn)一步地,在同時(shí)創(chuàng)建獨(dú)立的歷史表空間的步驟之后包括:
接收事務(wù)回滾信息,根據(jù)所述事實(shí)回滾信息中的事務(wù)在所述歷史表空間的數(shù)據(jù)信息,回滾所述事務(wù)的數(shù)據(jù)改變;
數(shù)據(jù)庫(kù)在事務(wù)中斷后重啟恢復(fù)時(shí),讀取所述中斷的事務(wù)在所述歷史表空間中的數(shù)據(jù)信息,并回滾所述中斷的事務(wù)的數(shù)據(jù)改變;
在第一事務(wù)在改變目標(biāo)位置的數(shù)據(jù),并且第二事務(wù)開始讀取所述目標(biāo)位置的數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)根據(jù)歷史表空間的事務(wù)信息,僅允許所述第二事務(wù)獲取開始讀取所述目標(biāo)位置的數(shù)據(jù)時(shí)間之前的所述目標(biāo)位置的數(shù)據(jù)。
進(jìn)一步地,在同時(shí)創(chuàng)建獨(dú)立的歷史表空間的步驟之后包括:
在收到包括改變目標(biāo)數(shù)據(jù)請(qǐng)求的事務(wù)信息后,若收到用于查詢所述目標(biāo)數(shù)據(jù)改變之前的數(shù)據(jù)值的請(qǐng)求,且確認(rèn)所述歷史表空間存有目標(biāo)數(shù)據(jù)改變之前的數(shù)據(jù)值,則通過SQL語句從所述歷史表空間獲取所述目標(biāo)數(shù)據(jù)改變之前的數(shù)據(jù)值。
再一方面,本發(fā)明還提供一種數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理裝置,包括:
歷史表空間創(chuàng)建模塊,用于在創(chuàng)建新的數(shù)據(jù)庫(kù)時(shí),同時(shí)創(chuàng)建獨(dú)立的歷史表空間,所述歷史表空間用于存儲(chǔ)歷史版本數(shù)據(jù)和事務(wù)信息;
Vacuum模塊,用于執(zhí)行時(shí),直接訪問所述歷史表空間來清除過期數(shù)據(jù)。
進(jìn)一步地,所述的數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理裝置,其特征在于,還包括:
歷史表空間管理模塊,用于接收用戶的歷史表空間管理信息,并根據(jù)所述歷史表空間管理信息調(diào)整所述歷史表空間的大小;
SQL模塊,用于在收到用戶的SQL處理信息時(shí),記錄SQL處理之前的歷史版本數(shù)據(jù)和事務(wù)信息至所述歷史表空間。
進(jìn)一步地,所述的數(shù)據(jù)庫(kù)中歷史數(shù)據(jù)的處理裝置,其特征在于,還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京海量數(shù)據(jù)技術(shù)股份有限公司,未經(jīng)北京海量數(shù)據(jù)技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011426584.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(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ù)語句執(zhí)行方法及裝置
- 一種推薦系統(tǒng)及推薦方法
- 一種通訊終端快捷訪問歷史數(shù)據(jù)的裝置及方法
- 歷史數(shù)據(jù)歸檔方法及歷史數(shù)據(jù)歸檔裝置
- 一種實(shí)時(shí)數(shù)據(jù)庫(kù)的存儲(chǔ)方法
- 一種數(shù)據(jù)拆分存儲(chǔ)方法及裝置
- 一種機(jī)電設(shè)備物聯(lián)網(wǎng)系統(tǒng)中減少服務(wù)器壓力的方法
- 一種歷史數(shù)據(jù)輸出處理方法及裝置
- 歷史數(shù)據(jù)的清理方法及其系統(tǒng)、存儲(chǔ)介質(zhì)、電子設(shè)備
- 一種實(shí)現(xiàn)業(yè)務(wù)通用歷史數(shù)據(jù)管理的系統(tǒng)及其方法
- 基于統(tǒng)一支撐平臺(tái)的電網(wǎng)歷史數(shù)據(jù)管理方法及系統(tǒng)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





