我正在向一个集合中插入数据来存储用户历史记录(大约每秒100条),并使用聚合框架查询最近一小时的数据(每分钟一次)。
为了保持我的集合最佳状态,我考虑了两个可能的选项:
1. 创建一个带有创建日期TTL索引的标准集合。 2. 创建一个有上限的集合,并查询最近一小时的数据。
哪种方案更有效?即在Mongo数据库上更少地占用I/O、内存使用和CPU等资源。(我目前有一个主节点和一个从节点,还有一些隐藏节点。如果这有区别的话)
(我可以在我的有上限集合上添加一点缓冲,平均存储3-4小时的数据。如果用户在某些时间变得非常繁忙,可能无法获得完整的一小时数据。)
为了保持我的集合最佳状态,我考虑了两个可能的选项:
1. 创建一个带有创建日期TTL索引的标准集合。 2. 创建一个有上限的集合,并查询最近一小时的数据。
哪种方案更有效?即在Mongo数据库上更少地占用I/O、内存使用和CPU等资源。(我目前有一个主节点和一个从节点,还有一些隐藏节点。如果这有区别的话)
(我可以在我的有上限集合上添加一点缓冲,平均存储3-4小时的数据。如果用户在某些时间变得非常繁忙,可能无法获得完整的一小时数据。)