Mongodb 锁

2023-11-12

MMAP1存储引擎:
collection锁(collection-level concurrency control),在MMAP版本中,只提供了database的锁(既当一个用户对一个collection进行操作时,其他的collection也被挂起)


WiredTiger存储引擎:
在 2.2 版本以前,mongod 只有全局锁;在 2.2 版本开始,大部分读写操作只锁一个库,相对之前版本,这个粒度已经下降,例如如果一个 mongod 实例上有 5 个库,如果只对一个库中的一个集合执行写操作,那么在写操作过程中,这个库被锁;而其它 5 个库不影响。相比 RDBMS 来说,这个粒度已经算很大了!
3.0开始有了WireTiger存储引擎,但是默认还是mmapv1,  3.2以后默认是wireTiger存储引擎

1、全局锁

锁住整个实例,如果一个实例有五个数据库,那么同时会锁住五个数据库
Version < 2.2 : 只支持进程级锁,一个Mongod实例一个锁。

2、数据库锁

锁住整个数据库
2.8 >Version >= 2.2 : 支持库级锁,一个db一把锁。

3、collection锁

文档锁,锁住整个document,也就是表级锁
目前3.0.0 支持 collection 级别的锁。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongodb 锁 的相关文章

随机推荐

  • Merkle Patricia Tree (MPT) 以太坊merkle技术分析

    一 传统merkle树缺陷 我的这篇博客merkle tree 分析 详细解释了merkle树的原理和作用 然而传统的merkle树有他的局限性 以下对Vitalik blog原文的翻译可以很好的阐述 传统merkle树的一个特别的限制是
  • 创业公司如何提高管理能力?十条法则教你!

    1 明确的架构 接手任何一个部门的最重要的事情 是明确或者重新调整组织架构 架构的关键是 谁在什么位置 负责什么内容 一定要明确 所谓 明确 的意思是 不允许两个人交叉负责 也不允许集体领导 不允许有模糊的领域 出了问题 大家都清楚谁应该出
  • ubuntu的pycharm或程序卡主,强制关闭方法

    首先打开终端 输入 ps ef 查看正在运行的所有程序 找到想要关闭的程序如pycharm 3078和3192 输入 kill s 9 3078 kill s 9 3192 即可关闭pycharm 或者关闭别的程序
  • ssm整合redis

    1 配置文件 redis properties redis host 127 0 0 1 redis port 6379 redis password redis maxIdle 50 redis maxTotal 100 redis ma
  • ARCode和ARKit官网

    ARCode官网 https developers google cn ar ARCode支持机型 https developers google cn ar discover supported devices ARKit官网 https
  • Mysql中的not in和null

    给定一个表 tree id 是树节点的编号 p id 是它父节点的 id tree id p id 1 null 2 1 3 1 4 2 5 2 树中每个节点属于以下三种类型之一 叶子 如果这个节点没有任何孩子节点 根 如果这个节点是整棵树
  • OCR测试对比

    文字密度 测试一 测试二 测试三 测试四 颜色 测试一 测试二 测试三 测试四 阴影 测试一 测试二 测试三 测试四
  • Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效

    python写了一个方法 windows平台上怎么被Java服务调用呢 最简单的办法 python利用pyinstaller打包成 exe程序 Java程序通过Process调用 想同时获取 exe执行过程中打印出的日志用ProcessBu
  • Java网络编程之Socket编程

    Socket编程 下图是基于TCP协议的客户机与服务器通信逻辑 客户机使用Socket类型的套接字与服务器会话 服务器则需要使用ServerSocket类型的套接字侦听网络连接 再使用Socket类型的套接字与客户机会话 会话都是通过基于套
  • python3 ==和is的区别

    如图 详细说明了等号和is的区别 可以通过查看地址来解释报错的原因
  • 基于ZelinAI的周报小助手

    ZelinAI是一家领先的人工智能公司 专注于创新的AI解决方案 ZelinAI团队由科学家 工程师和领域专家组成 拥有丰富的经验和专业知识 提供自然语言处理 计算机视觉 数据分析和智能助理等领域的解决方案 帮助客户实现业务增长和效率提升
  • Nacos使用详解

    一 部署nacos 1 方式一 一般的windows和linux部署 需要的nacos server 1 4 1文件 https download csdn net download yueyue763184 87822434 spm 10
  • 入职外包一个月,我离职了。

    点击上方 程序员黑叔 选择 置顶或者星标 你的关注意义重大 前言 由于最近面试了几个人 印象最深刻的求职者是world 匿名 一个普普通通在深圳打拼的小年轻 来深圳两年 见过深圳粤海街道凌晨5点的夜晚 经历过公司从裁员到倒闭 为了生活 也去
  • 国际阿里云/腾讯云:定向流量包范围

    阿里系定向流量包规模 阿里系定向流量包一般都包括有手机天猫 手机淘宝 支付宝 优酷视频 钉钉 口碑 闲鱼 聚划算 蚂蚁财富等主流阿里系手机APP运用 但详细免流APP会依据不同的流量套餐以及业务协作状况发生变动 以流量包订购页面或许号卡处理
  • 关于小程序鉴权那点事——oauth2.0

    刚接触小程序那会 一个接一个web的方法 APi不支持 难受的只能敲着代码 流着眼泪 oauth2 0鉴权 一个access token 一个refresh token 一个expires in 在pc端我们可以使用cookie来轻松处理a
  • 使用C语言设计一个学生信息管理系统,系统功能:系统能实现学员信息的管理的基本功能,如信息录入,删除,修改,查找,成绩排序等功能

    项目思路 使用结构体 struct 来表示一个学生的信息 包括学号 姓名 性别和分数 使用数组来存储多个学生的信息 并用变量count记录当前已有学生数量 提供菜单界面供用户选择功能 根据用户选择调用功能函数实现功能 使用switch分支控
  • Go timer 是如何被调度的?

    hi 大家好 我是 haohongfan 本篇文章剖析下 Go 定时器的相关内容 定时器不管是业务开发 还是基础架构开发 都是绕不过去的存在 由此可见定时器的重要程度 我们不管用 NewTimer timer After 还是 timer
  • Qt实现 自定义矩阵布局

    前言 当界面需要同时展示多个项的时候 可能需要一个矩阵来填充数据 因为通常不知道数据项的多少 所以支持自定义行列就显得尤为重要 比如可能需要在一台电脑同时显示多个报表的数据 如果一直切换 因为无法比较各个报表的数据 难免不够直观 这种时候
  • Android代码通过包名调用系统卸载程序

    卸载指定包名的应用 param packageName public boolean uninstall String packageName boolean b checkApplication packageName Logger d
  • Mongodb 锁

    MMAP1存储引擎 collection锁 collection level concurrency control 在MMAP版本中 只提供了database的锁 既当一个用户对一个collection进行操作时 其他的collectio