Mongodb的新手。 Mongodb对于实时查询是否有效,其中标准的值每次都为我的查询而更改。在将响应发送回用户之前,还会对结果集进行一些聚合。例如,我的用户案例需要在处理不同条件值的集合后以下列格式生成数据。
Service Total Improved
A 1000 500
B 2000 700
.. .. ..
我看到Mongodb有Aggregation处理记录并返回计算结果。我应该使用聚合代替效率吗?如果聚合是要走的路,我想每次我的源数据发生变化时都会这样做。另外,这是Mongo Hadoop用于什么?我的理解是在正确的轨道上吗?提前谢谢。
答案 0 :(得分:1)
你的问题太笼统了,恕我直言。
速度取决于数据的大小和查询的类型,以及是否在密钥上添加了索引等。 更改查询中的值并不重要,AFAIK。
例如,我使用300万个文档处理MongoDB,可以在几秒钟内完成一些查询,有些会在几分钟内完成。一个简单的地图减少所有3 M文档在该框上大约需要25分钟。
我还没有尝试过聚合API,它似乎是map / reduce运行的后继/替代。
我不知道MongoDB / Hadoop集成。它似乎将MongoDB作为一个易于使用的存储单元,它使用Hadoop中更先进的map reduce框架(更多阶段,更好地使用Hadoop集群节点)将数据提供给Hadoop集群并从中获取结果。 ..
答案 1 :(得分:0)
我会遵循mongodbs指南来计算内容。
请参阅mongodbs documentation page for preaggregated reports.
Hadoop适用于批量处理,您可能不需要这些计数用例?
有关其他典型的hadoop用例,请参阅此列表:link。
这是典型mongo + hadoop用例的资源:link。