mongodb - 每月管理 100 万条记录插入/选择
问题描述
我正在开发一个实时提要,它可以为我提供实时数据。记录数每月
高达100 万条,我需要根据这些记录提供报告。
我选择Mongodb
它是因为它在获取记录方面表现出色。
由于有1200 万条记录,我在管理该数据方面面临问题。
我需要明智地保存每个月的数据吗?
我应该每个月使用不同的集合吗?
分析报告和所有内容都有很多选择查询。
解决方案
这取决于您要如何使用数据,这由您决定。大量数据没有任何问题,您只需要使用与缓存工作相同的逻辑来限制繁重的查询(更容易访问,但不那么新鲜)。一种常用的方法是:
您有一个包含数百万条记录的“原始数据”表。该表非常大,但包含“纯”数据。您希望尽可能少地访问此表,因为它会很慢。
下表不太准确,并且汇总了您需要的信息。在您的情况下,这可能是您在一个月结束后创建的“month_summery”。这样你仍然有完整的数据集,还有一个包含相关信息的小表(例如 num 行、sumOfX、averageOfY 等)。您的繁重查询现在是每月一次,您可以以此为基础进行统计。
如果您需要每周数据,您将制作一个“week_summery”表。或者,如果您每天需要统计数据,那么您每天都需要,每年 365 个条目仍然远远少于数百万。
推荐阅读
- vpn - 如何通过 Nginx UDP 流反向代理连接到 IPsec 服务器?
- html - 打破文本行以提高响应能力
- javascript - 是否有 javascript 命令来推迟视频?
- ansible - 在 Anible 中使用计数器控制循环
- git - 合并具有相似分支签名的分支
- javascript - 显示选定的图像、网页
- mysql - SQL 获取今天更新的所有元组的查询是什么(在 CollectionDate 列中以 DD-MMM-YY 格式提供的日期)?
- javascript - 未设置 JQuery 验证
- jenkins - Jenkins 上的 EFS 恢复需要很多小时
- scala - 使用 HLists 的映射不会编译