sql - 在MongoDB中实时查询不同的条件并处理结果

标签 sql mongodb hadoop nosql

Mongodb的新手。 Mongodb对于实时查询有效,因为对于我的查询,条件的值每次都会更改。在将响应发送回用户之前,结果集也会有一些聚合。举例来说,我的用户案例需要在处理了针对不同标准值的集合之后,以以下格式生成数据。

 Service     Total     Improved
 A           1000      500
 B           2000      700
 ..          ..        ..

我看到Mongodb具有Aggregation,它可以处理记录并返回计算结果。应该使用聚合来提高效率吗?如果要采用聚合方式,我想每次我的源数据更改时都会这样做。另外,这是Mongo Hadoop的用途吗?我的理解正确吗?提前致谢。

最佳答案

您的问题太笼统了,恕我直言。

速度取决于数据的大小和查询的类型,以及是否在键上放置了索引等。
更改查询中的值并不重要,AFAIK。

例如,我在一个拥有300万个文档的MongoDB上工作,可以在几秒钟内完成一些查询,而在几分钟内可以完成一些查询。一个简单的 map 缩小所有3 M文档的时间大约需要25分钟。

我还没有尝试过聚合API,它似乎是映射/减少运行的继任者/替代者。

我不知道MongoDB / Hadoop集成。似乎将MongoDB保持为易于使用的存储单元,它使用来自Hadoop的更高级的map reduce框架将数据馈送到Hadoop集群并从中获取结果(更多阶段,更好地使用Hadoop节点集群) ..

关于sql - 在MongoDB中实时查询不同的条件并处理结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22020712/

相关文章:

maven - 使用 Maven 构建 Hadoop - "Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (create-testdirs)"

hadoop - cassandra 需要 javax.jdo.option.ConnectionURL

mysql - 改进查询

php - MySQL 在同一查询中使用查询结果

MySQL 查询用于更改表方向(垂直到水平)

android - 在数据库中存储可翻译的 android 字符串的最佳实践

mysql - MySQL 查询保持同步计数列的困难

MongoDB 排序

python - 如何使用 pymongo 更新值?

apache - EC2 上的 SSL 的 Ambari 注册阶段失败