【问题标题】:MongoDB :are reads/writes to database concurrent?MongoDB:对数据库的读/写是并发的吗?
【发布时间】:2017-07-09 21:25:14
【问题描述】:

当百万线程同时尝试read fromwrite to MongoDB 时会发生什么?锁定发生在db-level, table-level or row-level 上吗?

【问题讨论】:

    标签: mongodb nosql


    【解决方案1】:

    它发生在数据库级别,但是在 Mongo 2.0 中,有一些并发方法,例如通过 _id 字段插入/更新。

    【讨论】:

      【解决方案2】:

      您可能会遇到并发问题,尤其是在使用单个 MongoDB 实例而不是分片集群时。线程可能会在等待写入和其他操作完成并释放锁时开始相互阻塞。

      MongoDB 中的锁定发生在实例的全局级别,但是 v2.0 之后的一些操作将产生它们的锁定(通过 _id 更新、删除、长游标迭代)。集合级别的锁定可能很快就会被添加。

      如果需要有大量线程访问MongoDB,可以考虑在前面放一个队列来吸收并发争用的影响,然后从单个线程依次执行排队的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-08-19
        • 1970-01-01
        • 2020-06-19
        • 2017-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多