写点什么

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:003188
用户头像

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

关注

评论

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

学会PCB通用布局规则,复杂设计也能轻松搞定!

华秋电子

PCB

可观测性在灰度发布中的应用

观测云

微服务 性能优化 链路

小红书广告智能创意能力构建过程详解

小红书技术REDtech

人工智能 小红书

球场LED显示屏应具备什么特点

Dylan

广告 足球 LED LED display LED显示屏

产品路线图如何制定?斯坦福大学产品管理课程为你支招

LigaAI

产品经理 经验总结 产品管理 产品路线图 企业号9月PK榜

【开源三方库】crypto-js加密算法库的使用方法

OpenHarmony开发者

OpenHarmony

数据通信网络之IPv6基础

timerring

数据通信网络

数字孪生的深海迷航

脑极体

数字孪生

大模型驱动云计算创新变革

Baidu AICLOUD

异构计算 百度百舸 千帆大模型平台 LMops AI 原生

金融行业首批!度小满智算网络中心达到万卡规模

科技热闻

无目标,有目标,多目标

玄兴梦影

目标 前进的路上

焱融科技助力智谱AI,打造大模型训练加速之道

焱融科技

AI大模型

「程序员转型技术管理」必修的 10 个能力提升方向

LigaAI

开发者 技术管理 经验总结 技术领导力 企业号9月PK榜

智慧火力发电厂数字孪生3D可视化平台

2D3D前端可视化开发

智慧电厂 智慧火电厂 智慧火力发电厂 数字孪生火电厂 火电厂三维可视化

Axios put 请求使用指南:优化开发流程

Apifox

程序员 前端 后端 axios put

研发管理平台的比较框架

iSoftBook

软件工程 敏捷精益 研发团队 研发效能管理 研发管理平台

AE 3D粒子系统插件 Trapcode Particular最新激活版

胖墩儿不胖y

视频特效 Mac软件 视频特效插件 特效工具

WorkPlus AI助理,基于ChatGPT的企业级知识问答机器人

BeeWorks

从融云数智办公平台,看企业需要什么样的大模型?

融云 RongCloud

人工智能 AI 互联网 AIGC 数智办公

航空航天行业的MES系统解决方案

万界星空科技

MES系统

墨迹天气亮相2023服贸会,以“新方案、新合作”彰显品牌新价值

极客天地

Databend 数据集成方案 | Data Infra 第 15 期

Databend

制丝系统盘、启动盘

玄兴梦影

windows 系统重装 Liunx

打造次世代分析型数据库(二):这,不只是列存表

腾讯云大数据

数据库

山东布谷科技直播APP源码搭建:核心的服务器系统

山东布谷科技

软件开发 系统架构 直播APP源码 服务器系统

超全60000多字详解 14 种设计模式 (多图+代码+总结+Demo)

Immerse

Apache Commons Daemon 使用教程

玄兴梦影

Linux windows 进程 服务

专访大连1号/连理卫星总指挥于晓洲:OpenHarmony在航天领域交出创新答卷

最新动态

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