我需要设计一个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}
每天有300万条日志。
所以我认为几个月后集合会变得太大,索引查询会很慢,所以我想将日志分成很多集合,一个集合只存储一天的日志。
如果我想查询几天的日志,我会查询几个集合并合并结果。
我应该将数据库分成多个集合,一天收集一个集合吗?
这种分片有哪些优点或缺点?
答案 0 :(得分:0)
这取决于您的应用程序和您实现的业务逻辑。我不知道您的数据库是如何设计的,但如果您不经常需要旧数据,最好将日志保存在单独的数据库中并获取它。所以它不会影响你当前的数据库。仍然需要了解您的应用程序如何需要...并基于此您可以设计您的数据库...