Nosql

刪除後是否需要壓縮 OrientDB?

  • October 28, 2021

在使用 OrientDB 實例作為數據庫後端的 Sonatype Nexus 儲存庫伺服器上,我們觀察到數據庫穩步增長,儘管儲存庫內容經常被刪除。

我們預計數據庫大小會(至少偶爾)縮小並總體保持大致相同的大小。

OrientDB 如何處理刪除?有沒有辦法檢查數據庫是否包含過時的資訊,是否有必要/可能定期“清除”或“壓縮”OrientDB?

事實證明,OrientDB 數據庫似乎確實受益於定期壓縮操作,在這種情況下,是導出和重新導入。

OrientDB 磁碟儲存引擎的官方文件狀態(強調我的):

刪除記錄時,頁面索引和記錄位置設置為 -1。所以記錄指針就變成了“墓碑”。您可以將記錄 id 想像成 uuid。它是獨一無二的,從不重複使用。

通常**,當您刪除記錄時,您會失去非常少量的磁碟空間**。這可以通過執行數據庫導出/導入定期“離線壓縮”來緩解。在此過程中,群位置將被更改(導出時將忽略墓碑)並恢復失去的空間。

正如這個 SO q&a所建議的那樣,儘管正在進行大量刪除,但其他使用者觀察到數據庫的單調增長——這種機制可能會解釋這種觀察。

引用自:https://dba.stackexchange.com/questions/301501