我一直在阅读MongoDB。我对聚合框架能力特别感兴趣。我正在考虑采用多个数据集,每个数据集至少包含每月至少一千万行以上的数据,并创建聚合数据。这是时间序列数据。MongoDB - 物化视图/ OLAP样式聚合和性能
例子。使用Oracle OLAP,您可以在第二/分钟级别加载数据,并将此卷数增加到几小时,几天,几周,几个月,几个季度,几年等等...只需定义维度并从此处开始即可。这工作得很好。
到目前为止,我已经读了MongoDB的可利用它的地图功能降低处理上面。可以实现地图缩减功能,以便逐步更新结果。这是有道理的,因为我会加载新的数据,例如每周或每月,我希望只需要处理正在加载的新数据。
我也读过MongoDB中的map reduce可能会很慢。为了克服这个问题,这个想法是使用便宜的商品硬件并将负载分散到多台机器上。
所以这里是我的问题。
- MongoDB在性能方面处理map reduce有多好(或不好)?你真的需要很多机器才能获得可接受的性能吗?
- 在工作流方面,存储和合并map reduce生成的增量结果是否相对容易?
- 聚合框架提供了多少性能改进?
- 聚合框架是否提供了以类似方式增量存储结果的功能,即已存在的地图/缩减功能的功能。
我欣赏提前您的答复!
更新:由于蒙戈2.4默认现在Javscript引擎V8(的http://docs.mongodb.org/manual/release-notes /2.4/#javascript-engine-changed-to-v8) – del 2013-07-24 04:55:57