“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

MongoDB 4.0 有望支持跨文档事务

  • 2018-02-23
  • 本文字数:1023 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

自 MongoDB 并购了 WiredTiger 及其关系数据库存储引擎以来,很多技术专家一直翘首以待 MongoDB 何时提供对跨文档事务(multi-document transaction)的支持。MongoDB 在本周宣布,跨文档事务有望于今年夏天加入到 MongoDB 4.0 中。

MongoDB 的 Grigori Melnik 宣称,“80% 到 90% 的应用是完全不需要跨文档事务的”。然而他的说法有待商榷,在层次数据库中很有可能存在大量的反规范化(denormalized)数据,此类数据需要支持多地同时更新以确保一致性。Melnik 继续指出:

此外,一些开发人员和数据库管理员受限于业已存在 40 多年的关系数据建模,总是误以为多表或多文档事务是所有数据库的要求,无论实际需要构建何种数据模型。其他一些人则担心,虽然他们的应用当前不需要跨文档事务,但将来可能会需要,他们不希望过度扩展他们的数据库。

跨文档事务是 ACID 的基石。MongoDB 自 3.0 版起,开始支持跨文档事务。在 3.0 版中,MongoDB 具备了多版本并发控制(MVCC)技术,该技术是一种快照隔离技术,通常是由PostgreSQL 和Oracle 等关系数据库提供。最新版本的SQL Server 也使用MVCC 实现其“内存优化”表。

MongoDB 3.2 增加了对“读取关注”(Read Concern) 的支持。在3.2 版之前,客户只有知道进行通信的节点时,才会接收数据。读取关注功能允许客户请求为大多数节点所知的数据。需要注意的是,根据文档介绍,“无论读取的关注级别,节点上的最新数据可能并未反映系统中数据的最新版本。”

MongoDB 之后在 3.6 版中提供了其所宣称的“因果一致性”。在以前的MongoDB 版本中,并不能保证操作是按指定顺序进行的。例如,当删除一组记录后再执行一次读取操作时,可能会返回刚被删除的记录。使用因果一致性,用户可以指明读取操作取决于写操作的结果,确保了在执行读取操作之前先完成删除操作。

最后一点,MongoDB 4.0 将提供执行一致性读取的能力。也就是说,MongoDB 只返回数据库在读取操作开始时已知的数据。正如在InfoQ 文章“[事务隔离级别和脏读的快速入门] http://www.infoq.com/cn/articles/Isolation-Levels )”中所介绍的,以前版本的 MongoDB 返回的结果可能和任何时间点都不一致。它甚至可能跳过一些文档,或是在一次查询中返回同一文档的多个版本。

希望想要试用跨文档事务的开发人员,积极加入到 MongoDB 4.0 beta 计划中。

查看英文原文: MongoDB 4.0 to Include Multi-Document Transactions

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2018-02-23 18:002661
用户头像

发布了 391 篇内容, 共 125.9 次阅读, 收获喜欢 255 次。

关注

评论

发布
暂无评论
发现更多内容

数字货币合约交易系统软件APP开发

系统开发

解密Android开发常见误区!耗时两个礼拜,8000字安卓面试长文,详细的Android学习指南

欢喜学安卓

android 程序员 面试 移动开发

大作业二

golangboy

架构师训练营第 1 期

架构师训练营第 1 期 大作业一

李循律

解析底层原理!2021年移动开发者未来的出路在哪里,论程序员成长的正确姿势

欢喜学安卓

android 程序员 面试 移动开发

架构师训练营第二周作业

架构师训练营 4 期

十二周总结

水浴清风

Week12作业

lggl

案例研究之聊聊 QLExpress 源码 (二)

小诚信驿站

源码分析 小诚信驿站 28天写作 QLExpress源码 聊聊源码

架构师训练营第 1 期 - 第 13 周 - 学习总结

wgl

「架构师训练营第 1 期」

第十二周课后练习

晴空万里

架构师训练营第2期

软件设计原则

架构师训练营 4 期

一款基本靠谱,略微出圈的2021十大科技预测

脑极体

软件架构知识树

Andy

联想小新潮7000安装CentOS8.8步骤

笑春风

他们说飞机很安全,你信吗?

Justin

心理学 概率 28天写作

Week12总结

lggl

十二周作业

水浴清风

极客时间 架构大作业,快递平台架构搭建

博古通今小虾米

极客时间 架构

上链智能合约系统开发|上链智能合约APP软件开发

系统开发

架构入门感悟之十二

笑春风

架构师训练营第 1 期 大作业二

李循律

软件架构设计实战

Andy

第十二周课后练习

落朽

从代码到部署微服务实战(一)

万俊峰Kevin

微服务 microservice go-zero Go 语言

架构师训练营第 1 期 - 第 13 周 - 命题作业

wgl

「架构师训练营第 1 期」

架构师设计大作业二

小诗

「架构师训练营第 1 期」

赫拉利其人其书之我见(1)

石君

科技 28天写作 简史 社科

OpenLookeng连接器-Clickhouse connector性能测试报告

Galaxy数据平台

数据库 数据分析 Clickhouse

供应链产品溯源介绍

无誉

区块链 产品 电商 供应链 盘点2020

关于坚持的思考

.

28天写作

MongoDB 4.0有望支持跨文档事务_架构_Jonathan Allen_InfoQ精选文章