繁体   English   中英

MongoDB实时报告系统设计

[英]MongoDB design for real time reporting system

我需要提供一个每小时(以后每天,每周一次)的报告,以兑换广告系列的优惠券代码。 一个广告活动可以具有多个优惠券代码。

我打算使用MongoDB,并且在我心中有两种方法:

  1. 将每个兑换详细信息存储在一个文档中,并根据搜索条件在同一文档上进行查询。
  2. 创建一个文档一个小时,并将赎回详细信息作为嵌套文档。 该文档的关键是广告系列ID的开始时间和结束时间。 代表每个赎回的嵌套文档将与方法1相同。

就性能而言,第二种方法是否有优势? 平均一小时内可以兑换的总次数为1000,而广告系列的最高兑换次数为100万。

我还必须考虑MongoDB中单个文档的大小限制为16 MB。

请帮助我设计此解决方案。

问候,Abhishek

我建议您使用您提到的第一种方法,因为您将不会拥有大量数据。 如果您确保sureIndex,则运行这些搜索都将花费毫秒。 我们已经与MongoDB合作了一段时间,我们正在处理超过2000万条记录的结果,并且从搜索中检索数据所需的时间不到一秒钟,而且在您要更改查询的情况下,它变得更加清晰和干净。未来。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM