加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

MySQL PK MongoDB:多文档事宜支持,谁更友爱?

发布时间:2018-12-18 22:00:51 所属栏目:编程 来源:贺春旸
导读:MongoDB 4.0已经宣布GA版本,而且有很多新成果和改造。在本文中,我们将重点存眷首要成果,毫无疑问,这是对多文档ACID事宜的支持。我们将环绕断绝级别、可一再读、幻读、事宜斗嘴检测等首要成果,通过尝试与MySQL逐一做比拟。 起首会简述先容下ACID事宜隔

此时新事宜将无法获取所需的锁,而且在守候参数maxTransactionLockRequestTimeoutMillis后事宜终止回滚,默认值是5毫秒。

MySQL PK MongoDB:多文档事宜支持,谁更友爱?

假如你想在线调解事宜守候获取锁的时刻,可以通过下面的呼吁配置:

  1. db.adminCommand( { setParameter: 1, maxTransactionLockRequestTimeoutMillis: 15 } ) 

也可以写死在/etc/mongod.cnf设置文件里永世见效,名目如下:

  1. setParameter = maxTransactionLockRequestTimeoutMillis=15 

演示二:可一再读

MySQL PK MongoDB:多文档事宜支持,谁更友爱?

Repeatable Read (可一再读)可停止脏读、不行一再读的产生。

不行一再读偏重点在于更新修改的数据,即在统一个事宜里,两次查询的数据功效纷歧致。与脏读的区别是:脏读是一个事宜读取了另一个事宜未提交的脏数据。

演示三:幻读

MySQL PK MongoDB:多文档事宜支持,谁更友爱?

在MySQL默认断绝级Repeatable Read下,适才的操纵,在会话二未提交的事宜里,会莫名其妙地看到第5条数据,这种征象称为幻读。

幻读和不行一再读很像,但幻读偏重点在于新增和删除,而不行一再读偏重点在于变动,配合之处都是一个事宜中两次查询获得的数据功效纷歧致。

由此,从测试功效得出的结论是:

MongoDB回收的默认断绝级别是Snapshot同等性快照(出格是配置了readConcern=majority环境下,要读某行数据的汗青版本时,依靠该断绝级别。)

Snapshot介于Repeatable Read与Serializable之间,既停止了脏读、不行一再读、幻读,又不会因Serializable串行化低落并发机能。

MySQL PK MongoDB:多文档事宜支持,谁更友爱?

参考文献

  • https://docs.mongodb.com/manual/core/transactions/
  • https://www.percona.com/blog/2018/12/04/mongodb-4-0-using-acid-multi-document-transactions/ 

【编辑保举】

  1. dba+器材:MongoDB热备份器材,办理官方版备份缺陷
  2. 超适用的Oracle数据库自动备份剧本
  3. 阿里数据库的极致弹性之路
  4. 运维 | 美团数据库智能运维试探与实践
  5. MySQL自增id超大题目查询
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读