Mongo支持Map/Reduce查询,但它们似乎并没有在Hadoop意义上并行减少(并行运行)。在大型Mongo数据库上运行查询的最佳方式是什么?我需要将它导出到另一个地方吗?什么是在Mongo上执行大数据查询的最佳方式?
2
A
回答
1
取决于正是你需要做什么,你的选择(而内停留蒙戈)是:
1)继续使用的map/reduce在蒙戈,但火起来的M/R目的,一些次级。这是并行map reduce的一种简单方法。但是有限制,你只能使用“out:inline”选项,所以结果需要大约16MB或更少。如果你尚未分解,这只有真正的可行。
2)看看2.234中的aggregation framework(2.2.0-rc0不存在,我们发现它在MongoHQ中非常稳定)。这在数据库级别上得到了更好的优化,大多让你摆脱了笨拙的JavaScript引擎,并且是10gen添加的更有趣的功能之一。它也将在分散的环境中工作。
对于上述任何一种情况,您都希望确保有足够的RAM(或真正快速的磁盘)来保存所有输入数据,中间步骤和结果。否则,你会受到IO速度的限制,并且不会从CPU中获取太多的功能。
如果您想走出Mongo,您可以尝试Mongo Hadoop适配器。 Hadoop是一种更好的map/reduce方法,这可以让你使用Mongo数据作为输入。这可能在操作上很复杂,但是,这意味着要么费力,要么脆弱。
相关问题
- 1. 在Mongo中存储/查询`last_read`的最佳方式是什么?
- 2. 在laravel中执行此查询的最佳方式是什么?
- 3. 在SQL Server中执行大量数据操作的最佳方式是什么?
- 4. 什么是保护数据库查询的最佳方式?
- 5. 在C中执行查找表的最佳方式是什么?
- 6. 在mongo中验证数据的最佳方法是什么?
- 7. 执行数学表达式的最佳方法是什么?
- 8. 返回最近一行数据的最佳方式是什么?
- 9. 在Mongo中组织子文档的最佳方式是什么?
- 10. 大量数据 - 发送它们的最佳方式是什么?
- 11. 处理大型数据表的最佳方式是什么?
- 12. 创建大量虚拟数据的最佳方式是什么?
- 13. 什么是全球同步大量数据的最佳方式?
- 14. 在android中执行多个listviews的最佳方式是什么?
- 15. 在Android中构建SQL查询的最佳方式是什么?
- 16. 将1,600,000行数据上传到mysql数据库的最佳方式是什么?
- 17. 从核心数据查询行数的最佳方法是什么?
- 18. 在Perl中执行XPath查询XML数据的最简单方法是什么?
- 19. 什么是处理回收视图上的大量数据的最佳方式
- 20. 在MySQL查询中使用数字格式的最佳方式是什么?
- 21. 通过内部元素查询特定数据的最佳方式是什么?
- 22. 使用Intel SSE执行分支的最佳方式是什么?
- 23. 什么是自动执行REST api的最佳方式
- 24. 执行AppEngine模型Memcaching的最佳方式是什么?
- 25. 对java.sql.Time类型执行Time Arithimetic的最佳方式是什么?
- 26. 延迟代码执行的最佳方式是什么?
- 27. 优化此MySQL查询的最佳方式是什么?
- 28. 实现此SQL查询的最佳方式是什么?
- 29. 分页红移查询的最佳方式是什么?
- 30. 什么是创建RESTful复杂查询的最佳方式?
海量有多大? – MrKurt 2012-07-20 23:56:47
你的数据集有多大?你有没有需要运行的查询的例子? Map/Reduce不是唯一的选项... MongoDB支持多个[Indexes](http://www.mongodb.org/display/DOCS/Indexes)和[Query operators](http://www.mongodb.org)/display/DOCS/Advanced + Queries),并且在2.2中有一个[Aggregation Framework](http://docs.mongodb.org/manual/applications/aggregation/)。 – Stennie 2012-07-20 23:59:31