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)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180216G0JMIN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券