84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我們使用的是副本mongo,有一個collection中大概有1.5億筆記錄,[size=10GB,Storage Size=3.4GB,Total Index Size:6GB]因為是保存的歷史記錄,我們使用remove刪掉30天前的記錄(大概200萬),但是發現索引大小從6GB漲到9GB.
請問該如何正確的刪除歷史記錄?
闭关修行中......
一般情況下並不需要什麼特別的操作來進行刪除操作。 MongoDB使用的Btree也是自平衡的不用去重建,除了3.0.7及更早版本有一個bug SERVER-21063會影響btree的平衡外並沒有聽說有什麼特別需要注意的地方。從6G成長到9G這個情況從未聽過。可以看一下從結點的情況是否也是這樣。如有可能,為了驗證目的,可以刪除一個從結點上的索引重新建立看大小是否有不同。編輯:在嘗試之前可以試試compact看是否有用。注意對實例的影響,最好拆一個secondary下來單獨測試。
這個在文件中說明了,刪除資料的時候並不會刪除索引,即使整個集合你全部刪除了都不會刪除索引。所以這個時候,我建議你進行重建索引。
一般情況下並不需要什麼特別的操作來進行刪除操作。 MongoDB使用的Btree也是自平衡的不用去重建,除了3.0.7及更早版本有一個bug SERVER-21063會影響btree的平衡外並沒有聽說有什麼特別需要注意的地方。
從6G成長到9G這個情況從未聽過。可以看一下從結點的情況是否也是這樣。如有可能,為了驗證目的,可以刪除一個從結點上的索引重新建立看大小是否有不同。
編輯:在嘗試之前可以試試compact看是否有用。注意對實例的影響,最好拆一個secondary下來單獨測試。
這個在文件中說明了,刪除資料的時候並不會刪除索引,即使整個集合你全部刪除了都不會刪除索引。所以這個時候,我建議你進行重建索引。