Mongodb的MapReduce很慢,有没有办法提高性能呢

zql6625

来自: zql6625 2012-03-29 14:21:56

×
加入小组后即可参加投票
  • 张十三

    张十三 2012-03-29 15:51:07

    slave有多少台机器?

  • zql6625

    zql6625 2012-04-20 10:54:50

    没有slave就一台服务器,不知道分片会不会有帮助

  • qing

    qing 2012-04-20 11:43:41

    mongodb 是靠内存的。。一台机器还是不要用mongodb
    mongodb对中小项目不太合适。成本太高。

  • zql6625

    zql6625 2012-04-24 18:01:31

    多谢啊

  • Joseph.Shen

    Joseph.Shen (死亡终将像黑夜一样将我们掩埋) 2012-04-25 10:15:20

    http://www.dulao5.com/javascript/2011/07/30/mongodb-javascript-performance.html

  • zql6625

    zql6625 2012-12-07 11:49:26

    发现了一个简单办法可以大幅提高mongodb mapreduce的速度,以前我在一台机器上只部署了一个mongod的数据库实例,起始如果机器配置可以的话,可以在一台机器上多配几个Mongod数据库实例,把他们用分片的形式加到集群中就可以了。这样就相当于多进程操作了,避免了js单进程的尴尬。如果机器的cpu是12核的可以起6-8个mongod,根据测试发现再多个mongod对于速度的影响不升反降。据我分析之前是因为单进程操作,是因为单个cpu达到瓶颈。改成多进程后,达到磁盘i/o瓶颈后速度就没法提升了。

  • K&T

    K&T 2012-12-08 00:55:48

    胡乱猜,列存储?之前刚在公司里听了一个关于dremel的讲座,不是干这行的,云里雾里

  • Rex

    Rex 2012-12-10 13:41:40

    你机器性能应该答不到吧?以前我测试过,300万数据,大概3分钟就完了,你可以贴出自己的map_reduce代码,大家在讨论一下,mongodb是个吃硬件的玩意

  • jacky

    jacky 2013-05-04 17:06:39

    机器配置?每个doc的大小是多少?400w即使单机也不会这么慢的

  • 双眼皮的猪猪

    双眼皮的猪猪 2013-05-07 17:14:02

    mongodb 的mapreduce 只是嚼头而已


    400w 单机斗搞定了。

  • cove

    cove 2013-05-07 23:57:32

    可以试试Aggregate Framework,性能比mapreduce好很多

  • zql6625

    zql6625 2013-05-28 17:03:45

    Aggregate Framework聚合框架有数量上限制,返回结果也有限制,大数据量运算聚合框架根本没法使用。我的map/reduce函数需要处理的逻辑有点点复杂,另外每条记录也比较大,加上数据结果是数组,所以js在计算中会比较吃力。

  • zql6625

    zql6625 2013-05-28 17:06:52

    胡乱猜,列存储?之前刚在公司里听了一个关于dremel的讲座,不是干这行的,云里雾里 胡乱猜,列存储?之前刚在公司里听了一个关于dremel的讲座,不是干这行的,云里雾里 K&T

    bremel的开源实现apache drill现在还在开发中,距离商用还有段距离。现在发现mongodb并不是解决大数据的好方式,比较严重的缺点依然比较多。

  • cove

    cove 2013-06-16 20:20:14

    首先需要指出,mongo的map reduce不是用于real time query的,如果你需要real time query改用aggregate framework。
    如果需要大数据的real time query,还是推荐Canssandra

  • zql6625

    zql6625 2013-07-29 18:52:23

    首先需要指出,mongo的map reduce不是用于real time query的,如果你需要real time query改用agg 首先需要指出,mongo的map reduce不是用于real time query的,如果你需要real time query改用aggregate framework。 如果需要大数据的real time query,还是推荐Canssandra ... cove

    Canssandra是k/v型的,我的数据格式是嵌套型的,就像json,用Canssandra不太合适。

  • weavingdream

    weavingdream (追求梦想) 2013-09-07 21:57:37

    长时间的MR还是用hadoop比较舒服,我也在mongodb中使用MR,明显感觉MR在mongodb中不是first class citizen啊

  • 茶缸

    茶缸 (茶缸微公益微博|cha-gang.com) 2013-09-08 13:35:13

    好好检查一下你的代码或者逻辑,如果差别那么大,肯定是你不会用或者使用方法出了问题。
    再说mongodb和mysql在设计数据结构上就会存在不同,相同的数据结构比较两者的性能本身就有问题。

  • Min Wang

    Min Wang 2015-04-30 17:56:29

    单机(单核1G的配置)确实很慢,我集合中有1367865多条数据,python写的mapreduce,时间差不多2分钟,但是有query的话很快。

  • 四处飘荡

    四处飘荡 2015-06-10 11:00:58

    你可以试试oneapm 的python agent,监测查一下影响速度的真正的原因,最大的影响是什么。依此依次解决

  • 话不多

    话不多 2016-07-25 00:30:47

    尝试用pipeline重写下

    来自 豆瓣App
  • 明明
  • long

    long 2017-08-24 01:44:06

    用spaker

    来自 豆瓣App

你的回应

回应请先 , 或 注册

5587 人聚集在这个小组
↑回顶部