2014-02-20 23 views
0

我需要設計MongoDB數據庫,用於存儲日誌:如何設計mongodb的日誌存儲集合?

例如:

{ "_id" : 2, "date" : "Wed Feb 19 2014 22:02:01 GMT+0800 (CST)", "user" : 342 } 

查詢將使用這樣的:

db.test.find({"user":342, "date":{"$lt" : new Date(2013, 3, 2)}) 

所以我必須建立一個指數如

{user:1, date:1} 

這裏有3百萬日誌每aboult天。

所以我認爲集合在幾個月後會變得太大,索引查詢會很慢,所以我想把日誌分成許多集合,一個集合只存儲一天的日誌。

如果我想查詢幾天的日誌,我會查詢幾個集合併合並結果。

我應該把數據庫分成許多集合,一個集合一天?

這樣的分片有一些優點或缺點嗎?

+0

爲什麼不使用'正常'分片? – joao

回答

0

這取決於您的應用程序和您實施的業務邏輯。我不知道你的數據庫是如何設計的,但如果你不需要頻繁使用舊數據,最好將日誌保存在一個單獨的數據庫中並獲取它。所以它不會影響到您當前的數據庫。仍然需要了解你的應用程序如何需要..並基於此,你可以設計你的數據庫...