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)

原文发布于微信公众号 - ImportSource(importsource)

原文发表时间:2018-02-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ytkah

测试了小程序的内嵌网页总结几点

  11月2日深夜微信团队宣布小程序内嵌页面开放了,很多开发者已经测试了小程序的内嵌网页,他们总结了以下几点: 1、内嵌网页的域名需要在小程序管理后台设置为业务...

3235
来自专栏aCloudDeveloper

vhost:一种 virtio 高性能的后端驱动实现

什么是 vhost vhost 是 virtio 的一种后端实现方案,在 virtio 简介中,我们已经提到 virtio 是一种半虚拟化的实现方案,需要虚拟机...

7776
来自专栏媒矿工厂

Web架构基础101

大型动态应用系统平台主要是针对于大流量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、易维护的应用系统平台做为支撑,以保证网站应用的平...

3502
来自专栏JAVA高级架构

微服务架构下静态数据通用缓存机制

在分布式系统中,特别是最近很火的微服务架构下,有没有或者能不能总结出一个业务静态数据的通用缓存处理机制或方案,这篇文章将结合一些实际的研发经验,尝试理清其中存在...

952
来自专栏Java编程技术

分布式事务- 三阶段协议

前面我们介绍了为解决分布式事务而提出来的的二阶段协议,本文首先来讲解二阶段的不足,然后阐述三阶段协议,三阶段协议也是一个标准的协议,也并没有说具体如何实现。

692
来自专栏性能与架构

网站架构演化过程

网站的架构通常都是逐渐演化完善的,下面就是一个常规的成长过程 (1)初识阶段 一台服务器 最初的架构,应用程序、数据库、文件都部署在一台服务器上 ? (2)...

4138
来自专栏开源优测

有那么几张图给大家看看

681
来自专栏BestSDK

一提交代码系统就崩溃? 给你8个避免此尴尬的技巧

当一群人作为一个整体同时进行一个程序的编写时,每个个体都会面临两方面的权衡: ●个人部分的实现——你需要保证你负责的代码部分可以正常运行; ● 整体部分的实现—...

3717
来自专栏小巫技术博客

App更新策略课程完结篇

1083
来自专栏主机笔记

windows主机安装酷Q机器人自动管理QQ群组

经常在许多的群里都有一个在线的QQ群管机器人,可以起到提示、管理、监控等作用,让群主的省去很多麻烦的事情,其实这个要实现并不是什么难事,已经有人把应用都做好了,...

6499

扫码关注云+社区