[發明專利]一種節省值日志系統存儲空間的實現方法和系統在審
| 申請號: | 202211052393.1 | 申請日: | 2022-08-31 |
| 公開(公告)號: | CN115454941A | 公開(公告)日: | 2022-12-09 |
| 發明(設計)人: | 徐奇;付新;王學海;姜久文;張東 | 申請(專利權)人: | 達夢數據技術(江蘇)有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17;G06F16/18;G06F16/22;G06F16/2453;G06F16/23 |
| 代理公司: | 南京蘇高專利商標事務所(普通合伙) 32204 | 代理人: | 王安琪 |
| 地址: | 215000 江蘇省蘇州市吳中經濟開*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 節省 值日 系統 存儲空間 實現 方法 | ||
本發明公開了一種節省值日志系統存儲空間的實現方法和系統,值日志系統在執行更新操作時,能夠大量減少數據的存儲冗余,值日志系統在讀取值日志文件中的記錄時,能夠對讀取操作的耗時產生較小的影響。
技術領域
本發明涉及數據庫技術領域,尤其是一種節省值日志系統存儲空間的實現方法和系統。
背景技術
基于值日志技術的數據庫和各種Key-Value等數據處理系統把更新和刪除操作都轉化成了插入操作,保留了所有的數據修改歷史。在實際應用中,如果存在大量的更新和刪除操作,采用值日志技術會因為保留數據的所有歷史版本而額外占用大量的硬盤空間,具體原因如下:值日志系統中插入、更新的每條記錄都保存著對應Key所有的Key-Value的數據。當用戶執行更新操作時會通過索引找到修改前的數據在值日志文件中的位置,在內存中對修改前的數據進行更改后,將更新操作轉化為插入一條帶刪除標記的操作和插入一條更新后的數據的操作,并順序追加寫入到值日志文件尾部。此實現方法能夠充分利用日志文件順序讀寫的高性能的特性,寫入性能將會有很大的提升。上述更新操作的實現雖然能夠保持較高的寫入速度,但是對寫入空間有較大的浪費,每次更新操作無論更新多少內容,都會將Key-Value中沒有更新的內容也再次保存一份,如果反復更新N次,則最壞情況下沒有更新的字段會重復保存N+1份。
發明內容
本發明所要解決的技術問題在于,提供一種節省值日志系統存儲空間的實現方法和系統,能夠減少對存儲介質空間的占用,并且能將對值日志文件的讀取操作耗時的影響降低。
為解決上述技術問題,本發明提供一種節省值日志系統存儲空間的實現方法,包括如下步驟:
步驟1、用戶更新數據時,值日志系統先使用索引找到待更新記錄的LSN值,根據LSN值讀出對應的物理記錄,再根據REC中記錄的上一次操作的LSN值循環讀取物理記錄,直到找到待更新的列的所有列值。
步驟2、此時將進行兩種判斷來決定這次的更新操作如何寫盤。
步驟3、當用戶不斷進行更新操作時,重復上述步驟。
步驟4、更新完成,用戶需要讀取日志中數據,值日志系統根據索引獲取查詢KEY對應日志記錄的最新LSN值。
步驟5、值日志系統根據LSN值,讀取此記錄的最新一條記錄,并根據記錄中PREV_LSN循環讀取記錄,直到讀取到用戶所需要的全部Key-Value數據為止;
步驟6、將讀取到的所有操作對應的值組合出用戶所需要訪問的值后返回給用戶。
優選的,步驟1中,物理記錄用REC表示,在記錄尾部記錄了完整記錄的物理長度、更新次數的信息以及上一次更新的LSN,記為PREV_LSN。
優選的,步驟2中,將進行兩種判斷來決定這次的更新操作如何寫盤,判斷一:將步驟1第一次讀取的REC中記錄的更新次數加1,判斷是否超過了部分更新最大次數,判斷二:將之前循環讀取的物理記錄中部分更新的不同列實際長度和此次更新列操作實際長度累加,如果多次更新同一列,則只計算當前這一次,和REC中記錄的完整的物理記錄的長度計算出比例,判斷是否超過了部分更新的長度占整個物理記錄長的最大比例。當判斷一或判斷二判斷成功時,以循環讀取到所有列的最新值為基礎,結合此次更新的操作涉及值的修改合并形成一條完整的插入記錄,物理記錄的尾部中更新次數設置為0,因為這是一個完整的記錄,則完整的物理記錄的長度設置為此次記錄的物理長度,PREV_LSN設置為更新前的記錄的LSN,追加寫入到值日志文件的尾部。當判斷一和判斷二同時都不成功時,此次更新操作在值日志文件中只保存待更新記錄的Key以及更新的部分Value(如被更新列的列號和列值),并將更新次數+1放在記錄尾部,完整的物理記錄的長度設置為上一條完整記錄的物理長度,同時將PREV_LSN設置為更新前的物理記錄的LSN。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于達夢數據技術(江蘇)有限公司,未經達夢數據技術(江蘇)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211052393.1/2.html,轉載請聲明來源鉆瓜專利網。





