开发者社区> 问答> 正文

mongodb 锁表同时,请求过多的问题

Mongodb 1.4.2版本中,此时统计一个复杂结果集,需要一定的时间,如果此时正好有很多请求,比如更新几条数据或者删除几条数据,请求就会堆积起来,会带来很多问题。
有什么优化方式来避免锁定?

展开
收起
落地花开啦 2016-02-27 11:57:41 4842 0
2 条回答
写回答
取消 提交回答
  • 阿里云高级技术专家

    目前MongoDB 3.2版本,mmapv1支持集合级别锁,wiredtiger引擎支持文档级别锁,锁粒度比2.x版本要小很多。

    2019-07-17 18:48:44
    赞同 展开评论 打赏
  • 喜欢技术,喜欢努力的人

    有两个思路,
    1)通过索引等方式加快读的效率
    2)通过转移走写的压力而提高读的效率
    对于2)在版本2.2以后加入了read preference modes
    primary:从主读取
    primaryPreferred:优先从主读取
    secondary:从从读取
    secondaryPreferred:优先从从读取
    nearest:优先最近的节点
    对于之前的版本,虽然默认是不可以从secondary节点读取数据的
    但可以先执行这个操作设定可以从secondary读取数据:db.getMongo().setSlaveOk()

    2019-07-17 18:48:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MongoDB多数据中心的方案选型之路 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载