MongoDB多个可伸缩的集合

时间:2015-04-08 13:36:05

标签: mongodb morphia

我使用morphia连接到mongoDB。我收集汽车的每日里程。现在,所有汽车的所有每日里程都存储在1个集合中,具有以下属性: plateNumber,date,mileage

我们希望从1990年开始一直存储每日里程数。现在,我们已经维持了大约4500多辆汽车(这一年的记录大约是130万张)。我们尝试使用一年的数据,而且性能已经非常严重。我在考虑根据印版号将存储分成多个集合。所以每个牌号都有自己的牌号,以盘号命名。我需要一些想法。有没有其他方法可以解决这个问题?

添加细节: 我们如何使用这些数据:我们希望在任何给定的日期范围内查询多辆汽车(有时是每个部门,或每个地理区域,每个品牌/型号等)的里程数。 所以,我们只想说我们想要监控郊区的里程数,我们将采取所有的车牌号码'从2014年1月1日至2014年6月23日在该郊区运营的里程数,并对数据进行计算。

感谢。

1 个答案:

答案 0 :(得分:1)

根据您的配置,您可以尝试Sharding,或者您可以尝试Partition您的数据库 - 虽然这种方法是hybrid,这意味着您将模仿来自sql数据库的分区系统(Oracle,Sql Server等)。

另请注意,如果您insert(基本上附加)单个文件的大量条目,它将逐渐变慢,因为mongo需要更新需要的primary keymongoID)要唯一+如果您在collection上定义了其他索引,那么这些索引也需要更新。

如果您可以提供有关您打算如何使用所收集数据的更多信息,以及这些操作在线或离线的时间间隔,我将更新我的答案。