什么是Mongo中归档历史数据的最佳方法?

4

我有一个在Mongo中存储我的应用程序每个用户操作的集合,它非常庞大(每天300万个文档)。在UI上,我需要显示最多6个月的用户操作。

尽管已经建立了索引,但是随着历史数据的增加,对该集合的查询变得非常缓慢。因此,我想将超过6个月的文档移动到另一个集合中。

这是处理我的问题的正确方法吗?


你试过这个吗?https://dev59.com/VWYr5IYBdhLWcg3wJ3CU - Kanishk Tanwar
嗨Kanishk,我的问题不是关于如何将数据从一个集合复制到另一个集合,而是我想知道归档数据的最佳方式。 - Venkat Papana
@VenkatPapana,如果您想通过将文档移动到单独的集合来归档数据,则第一步是复制它(然后进行第二步,从原始集合中删除它)。 kanishk tanwar链接的问题中的答案对您应该有所帮助。 - Vince Bowdren
1
@VinceBowdren,我想知道在将文档移动到单独的集合之外,是否还有其他选项可用于归档Mongo数据。 - Venkat Papana
2个回答

8

以下是一些在 MongoDB 中管理数据增长的技巧:

  • 使用固定大小集合(capped collection)
  • 利用过期时间索引(TTLs)
  • 按月份使用多个集合
  • 在同一主机上使用不同的数据库

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接