写点什么

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

2018-02-23 18:003144
用户头像

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

关注

评论

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

海外云手机一般用来做什么?

Ogcloud

跨境电商

观点提炼 | 美国CISA、ODN等发布《SBOM推荐实践指南》

网安云

开源软件供应链 SBOM 软件供应链安全 开源软件供应链安全 软件物料清单(SBOM)

如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用

NFT Research

API NFT\ NFTScan

除了增删改查,后端一定要学会这些!

伤感汤姆布利柏

后端 低代码

基于低代码平台开发应用程序

互联网工科生

软件开发 低代码 应用开发 可视化开发

我对线上质量监控大盘的思考

老张

质量保障 质量度量 #监控

手把手教你用python做一个年会抽奖系统

不在线第一只蜗牛

Python 人工智能 编程语言 年会

斩获冠亚军!开源检索引擎Puck闪耀NeurIPS'2023

百度Geek说

搜索引擎 开源 企业号12月PK榜

引领汽车营销新趋势,3DCAT实时云渲染助力汽车三维可视化

3DCAT实时渲染

实时渲染 实时渲染云 汽车三维可视化

学习贯彻“枫桥经验”,积极践行央企担当!

天翼云开发者社区

生态链 战略合作

Swagger 注解详述:如何编写更友好的API文档

Liam

后端 接口文档 API swagger 接口工具

软件测试/测试开发丨测试用例价值与体系

测试人

软件测试 测试开发

首批!天翼云大数据平台率先通过信通院无服务器架构大数据平台测试

天翼云开发者社区

云计算 大数据 架构 测试

你知道海外云手机可以用于外贸测评吗?

Ogcloud

跨境电商 外贸

基于品高基础云+容器云的DevOps双模应用探索

品高云计算

ETLCloud与简道云结合,实现企业信息同步

RestCloud

数据同步 ETL

每日一题:LeetCode-718. 最长重复子数组

Geek_4z9ami

Go 面试 算法 LeetCode 动态规划

英特尔正式启动人工智能创新应用大赛,助力更多开发者抓住 AI PC新机遇

E科讯

对于企业软件系统而言,唯一重要的架构设计是什么

FN0

架构 软件系统

SEO搜索引擎优化——被严重低估网络营销核心技能!

九凌网络

软件测试/测试开发丨Linux 进程与线程

测试人

Linux 软件测试 测试开发

3分钟看懂如何给开源项目发起提案

伤感汤姆布利柏

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