MongoDB支持ACID了!

Posted ImportSource

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB支持ACID了!相关的知识,希望对你有一定的参考价值。


一个重磅消息,MongoDB支持ACID事务了。这也是社区里一直呼吁的事情,这一目标终于要实现了。这里的ACID事务是针对多文档间的事务,multi-document。过去的好多NoSQL数据库都只是支持聚合内事务,如今MongoDB终于要支持跨聚合事务了。


不过现在只是beta版,正式的事务版本(version 4.0)将会在今年夏天推出。


你如果等不及,可以暂时先用beta版去体验。


MongoDB的核心就是一个文档数据库,在默认情况下,这些类型的数据库一般都不是ACID标准的,特别是涉及到多文档事务(在文档级别,MongoDB已经支持ACID事务,也就是前面说的聚合内事务)。而且大多数情况下,对于使用MongoDB等NoSQL数据库系统的公司而言,这并不是什么大问题,因为他们不会同时写入多个文档。


许多公司使用MongoDB的同时也在并行使用关系数据库。


在NoSQL的圈内,大家有一个共识就是不支持跨聚合事务,你可以去查阅一些NoSQL的书籍,例如《NoSQL Distilled》有较详细的论述。但在事实上的一些具体场景中,开发者们希望支持跨文档(聚合)事务。


这也正是MongoDB想要支持跨文档事务的原因。


但MongoDB官方也并不认为开发者们会默认开启这个功能,人们只有在非常具体的案例下才会启动这个功能。MongoDB的CTO也不认为跨文档事务是写入MongoDB的常用方式。


而且为了实现这个跨文档事务,MongoDB公司内部大动干戈,在过去的三年里,团队内部实际把数据库系统的每个组件都涉及到了。


不多说,如果你想提前体验一把跨文档事务,可以去https://www.mongodb.com/transactions此处进一步了解。


本文中涉及到的"跨聚合事务"是NoSQL通用叫法,具体到MongoDB就是指跨文档事务(mulit-document)

以上是关于MongoDB支持ACID了!的主要内容,如果未能解决你的问题,请参考以下文章

刚刚,MongoDB宣布其即将支持ACID事务!

MongoDB 支持多文档 ACID 事务,现在 MongoDB 是不是适合金融应用? [关闭]

MongoDB 4.0支持多文档ACID事务意味着什么?

mongodb的ACID特性与mysql,redis简单比较

简单概括下MongoDB 4.0 新特性

非 ACID RethinkDB 或 MongoDB 如何维护非相等查询的二级索引