我使用mongodb存儲30天的數據,這些數據以流的形式出現在我的頭上。我正在尋找一種清除機制,通過這種機制,我可以丟棄最舊的數據,爲新數據創造空間。我曾經使用過使用分區處理這種情況的mysql。我保留了30個以日期爲基礎的分區。我刪除最舊的分區並創建一個新的分區來保存新數據。如何在Mongodb中處理數據庫清除
當我在mongodb中映射相同的東西時,我覺得使用基於日期的'shards'。但問題是它使我的數據分佈不好。如果所有新數據都在同一個分片中,那麼這個分片將會非常熱,因爲有很多人訪問它們,而含有較舊數據的分片將會減少用戶的加載。
我可以有一個基於集合的清除。我可以有30個集合,我可以扔掉最老的集合來容納新的數據。但是,幾個問題是1)如果我減小集合,那麼我不能從分片中獲益太多,因爲它們是按集合完成的。 2)我的查詢必須更改爲從所有30個集合中進行查詢並進行聯合。
請給我一個很好的清除機制(如果有的話)來處理這種情況。