簡體   English   中英

MongoDB磁盤空間回收

[英]MongoDB disk space reclamation

我對MongoDB repairDatabase和compact命令都很熟悉,但是它們似乎都鎖定了數據庫和/或集合。 是否有另一種方法可以在實質上不關閉數據庫的情況下回收已刪除的磁盤空間? 這方面的最佳做法是什么? 謝謝!

最佳實踐可能取決於您的架構和應用程序的功能。 這是我的用例,也許您可​​以學到一些東西...我的應用程序正在存儲大量帶時間戳的數據樣本。 從大型存儲中刪除數據是一項非常昂貴的操作,當您嘗試在實時系統上進行操作時,這將變得更加復雜。 過去,MongoDB在將磁盤空間回收回OS時遇到了幾個問題,我們不得不繞過這一步,不確定它現在有多好。 但是,我們所做的一切都解決了所有問題-我們以這種方式對數據進行了分區,以便我們可以通過簡單地轉儲整個數據庫來處理舊數據。 刪除mongodb數據庫是一種非常便宜且高效的操作,即使刪除TB時也幾乎是瞬時的。 請注意,刪除集合不如刪除數據庫有效,這實際上是解決方案的關鍵。 為此,我們必須重新設計架構。。當然,您的情況可能有所不同,但是從中學到的教訓是,從大容量存儲中刪除數據非常昂貴。

當前最好的方法是運行“主從設置”。 關閉1個mongod實例,然后使其重新同步。

此處有更多詳細信息: 減少MongoDB數據庫文件的大小

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM