我一直在阅读 MongoDB。我对聚合框架的能力特别感兴趣。我正在考虑采用每月至少包含 10+ 百万行的多个数据集,并根据这些数据创建聚合。这是时间序列数据。
例子。使用 Oracle OLAP,您可以在秒/分钟级别加载数据,并将此汇总到小时、天、周、月、季度、年等...只需定义您的维度并从那里开始。这工作得很好。
到目前为止,我已经读到 MongoDB 可以使用它的 map reduce 功能来处理上述问题。可以实现 Map reduce 功能,以便增量更新结果。这是有道理的,因为我会每周或每月加载新数据,并且我希望只需要处理正在加载的新数据。
我还读过 MongoDB 中的 map reduce 可能很慢。为了克服这个问题,我们的想法是使用廉价的商品硬件并将负载分散到多台机器上。
所以这是我的问题。
- 就性能而言,MongoDB 处理 map 的效果如何?您真的需要很多机器才能获得可接受的性能吗?
- 在工作流方面,map reduce 生成的增量结果是否比较容易存储和合并?
- 聚合框架提供了多少性能改进?
- 聚合框架是否提供了以类似于已经存在的 map/reduce 功能的方式增量存储结果的能力。
我提前感谢您的回复!