V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
refresh
V2EX  ›  MongoDB

mongodb是否适合做需要频繁avg,sum之类的?

  •  
  •   refresh · 2013-05-31 23:36:04 +08:00 · 6292 次点击
    这是一个创建于 4196 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例如经常要出报表查询这类的,一个很简单的例子就是查成绩汇总,比如说要查前5名的平均分,前10名的平均分之类的,感觉mongodb要实现这些很难,aggregate很强大,但操作起来有些复杂,是否mongodb只适合于简单且海量的数据,例如博客,评论,文章之类的?
    小弟菜鸟,学习中,望勿喷
    11 条回复    1970-01-01 08:00:00 +08:00
    chemhack
        1
    chemhack  
       2013-05-31 23:37:53 +08:00
    这种需求就传统SQL数据库吧
    chemzqm
        2
    chemzqm  
       2013-06-01 02:50:42 +08:00
    类似你说的需求完全可以取出数据然后在应用层处理,我觉得比写sql来的舒服
    breeswish
        3
    breeswish  
       2013-06-01 08:06:50 +08:00 via Android
    看到这个标题第一个冒出来想法是线段树 = =

    MongoDB还是让它做最擅长的NoSQL吧,MapReduce不能当饭吃,效率不是很高,当然如果数据量不大,用用也可以
    refresh
        4
    refresh  
    OP
       2013-06-01 09:55:56 +08:00
    @breeswish NoSql适合哪些场景?大而且简单的数据?这个案例MapReduce应该可以解决,不过我现在想用Aggregate解决它
    @chemzqm 没必要拿出一大堆数据处理吧,这样太占内存了
    @chemhack 其实这算是一个非常常用简单的需求了
    refresh
        5
    refresh  
    OP
       2013-06-01 09:58:49 +08:00
    刚找到一个资料不错,mapReduce与MySql的对应图。话说mongodb好复杂,一句简单的sql要map-reduce的话,要多好多出来。感觉mongodb就是英文,sql就是中文。
    aisk
        6
    aisk  
       2013-06-01 10:09:54 +08:00
    sum avg 什么的可以每次写入的时候计算 可能需要加锁
    yueq
        7
    yueq  
       2013-06-01 10:31:04 +08:00
    @refresh 这用stored procedure就行.
    atom
        8
    atom  
       2013-06-01 10:40:33 +08:00
    @refresh
    求图
    refresh
        9
    refresh  
    OP
       2013-06-01 11:34:22 +08:00
    @atom 我以为我发了呢,原来没有 http://blog.serverdensity.com/wp-content/uploads/2010/06/sql-to-mongodb.pdf

    @yueq 感谢给了关键词,我查查

    @aisk 写入的时候计算不合适,sum是要根据查询条件sum的,在写入的时候,查询条件是未知的
    aisk
        10
    aisk  
       2013-06-01 12:00:00 +08:00
    @refresh 嗯这就不合适了。。。
    huangz
        11
    huangz  
       2013-06-01 12:24:29 +08:00   ❤️ 1
    Redis 的有序集合(sorted set)结构可以很好地解决这类问题:http://redis.io/topics/data-types#sorted-sets
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1376 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:43 · PVG 07:43 · LAX 15:43 · JFK 18:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.