我有一个应用程序正在做一项工作,聚合来自不同社交网站的数据后端进程完成Java工作很棒。 它的前端开发Rails应用程序截止日期是3周,一些分析过滤器abd报告任务还剩下几天几乎完成。 当我开始实施地图缩减为不同的状态工作超过100,000记录超过我的本地机器工作伟大。 突然,我的同事给了我当前更新的数据库,现在有2.7百万记录,我的期望是它会运行得很好,因为我在map_reduce执行之前指定了日期范围和过滤器。我相信这会导致过滤器的结果,但不是一个案例。
实施例 我有一个查询只显示最后24小时加载的记录统计数据
结果是0记录发现但在200秒之后有270万条记录才达到毫秒级。 代码示例
filter is hash of condition expected to check before map_reduce
map function
reduce function
SocialContent.where(filter).map_reduce(map, reduce).out(inline: true).entries
请注意......随着数据库在几天内成倍增长,剩余时间范围内的理想解决方案是什么。
答案 0 :(得分:0)
我建议你看一些不同的东西: