mongodb4.0即将推出,最大的亮点莫过于,开始支持‘真正的’事务了。为什么说是真正的呢?之前的行级别原子性,两阶段提交,要么应用场景有限,要么实现成本太高,有点‘鸡肋’。

大年三十的时候,mongodb的CTO兼联合创始人Eliot Horowitz就发文给大家介绍了mongodb4.0的事务特性,让我们一起看一下吧!

有兴趣的可以去官网查看英文版,https://www.mongodb.com/blog/post/multi-document-transactions-in-mongodb,这里只是解读,不是翻译。

MongoDB 4.0 will add support for multi-documenttransactions, making it the only database to combine the speed, flexibility,and power of the document model with ACID data integrity guarantees. Throughsnapshot isolation, transactions provide a globally consistent view of data,and enforce all-or-nothing execution to maintain data integrity.

多文档事务:可以理解为多行,以前都是单行级别的原子性。

目标:高速、灵活、以及基于文档模型的事务支持

事务:通过快照实现、全局一致性,由此可鉴,应该是全局锁,性能不会太高

Transactions in MongoDB will feel just liketransactions developers are familiar with from relational databases. They willbe multi-statement, with similar syntax (e.g. start_transaction andcommit_transaction), making them familiar to anyone with prior transactionexperience. The changes to MongoDB that enable multi-document transactions willnot impact performance for workloads that do not require them. In MongoDB 4.0,which will be released this summer*, transactions will work across a singlereplica set, and MongoDB 4.2* will support transactions across a shardeddeployment.

事务可执行范围:4.0是副本集(难道可以跨库吗?really?),4.2是集群

Because documents can bring together relateddata that would otherwise be modeled across separate parent-child tables in arelational schema, MongoDB’s atomic single-document operations already providetransaction semantics that meet the data integrity needs of the majority ofapplications. But multi-document transactions will make it easier than ever fordevelopers to address a complete range of use-cases, while for many, simplyknowing that they are available will provide critical peace of mind. WithMongoDB 4.0, you’ll be able to rely on transactional integrity, regardless ofhow you model your data.

之前的版本,若要实现事务,可以将事务关联的数据放在一行,利用mongodb对每行操作的原子性来实现事务,当然这种实现应用场景有限。另外,可以通过代码中控制,使用mongodb所谓的‘两阶段提交’,来实现事务,但也够麻烦的,且事务中逻辑若复杂些,就极其考验开发者的技能了。mongodb4.0目标就是弥补上述的不足,让你可以像操作sql型数据库中事务一样来操作mongodb的事务。

The imminent arrival of transactions is theculmination of a multi-year engineering effort, beginning over 3 years ago withthe integration of the WiredTiger storage engine. We’ve laid the groundwork inalmost every part of the server – from the storage layer itself, to thereplication consensus protocol, to the sharding architecture. We’ve built outfine-grained consistency and durability guarantees, introduced a global logicalclock, refactored cluster metadata management, and more. We’ve also exposed allof these enhancements through APIs that are fully consumable by our drivers.We’re now about 85% of the way through the backlog of features that enabletransactions, as this diagram summarizes:

介绍了事务的起源,为了事务功能所做的努力,团队目标以及进展。看来当年收购WiredTiger是预谋已久(没有任何偏见,我也希望mongodb越来越强大、好用),也足以见得,mongodb早已计划在sql型数据库的天下分一杯羹,且大有吞并之势!走别人的路,让别人无路可走,哈哈。

但是,mongodb既要实现事务,又要兼顾高性能、灵活的属性,还有很长一段路要走。而且,当今的老大Oracle也并非数据库界的诺基亚,也将支持json格式的数据。看来sql和nosql以后的界限就没有那么明显了,两者的合并将是大势所趋。

mongodb4.0事务特性(解读)相关推荐

  1. 探坑mongoDB4.0事务回滚的辛酸历程

    主管前几天发现mongoDB已经升级到4.0了,迫不及待得让我实现他期待已久的事务回滚,发现还是有很多坑啊! 下面是我将已有的本地mongoDB升级到支持事务回滚的历程,分享出来,有错误的地方欢迎指正 ...

  2. TensorFlow 2.0新特性解读,Keras API成核心

    来源 | Google TensorFlow 团队 2018 年 11 月,TensorFlow 迎来了它的 3 岁生日,我们回顾了几年来它增加的功能,进而对另一个重要里程碑 TensorFlow 2 ...

  3. Spring Boot3.0正式发布及新特性解读

    Spring Boot 3.0 正式发布 同时发布更新的还有 2.7.x 和 2.6.x 两条版本线,Spring Boot 是我见过的发版最守时的技术框架之一. Spring Boot 3.0 现已 ...

  4. c语言 字符串 正序再倒序_新特性解读 | MySQL 8.0 索引特性3 -倒序索引

    原创作者:杨涛涛 我们今天来介绍下 MySQL 8.0 引入的新特性:倒序索引. MySQL长期以来对索引的建立只允许正向asc存储,就算建立了desc,也是忽略掉. 比如对于以下的查询,无法发挥索引 ...

  5. 中累计直方图_新特性解读 | MySQL 8.0 直方图

    原创作者:杨涛涛 MySQL 8.0 推出了histogram,也叫柱状图或者直方图.先来解释下什么叫直方图. 关于直方图 我们知道,在DB中,优化器负责将SQL转换为很多个不同的执行计划,完了从中选 ...

  6. 新特性解读 | MySQL 8.0 对 limit 的优化

    作者:杨奇龙 网名"北在南方",资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优.故障诊断. 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不 ...

  7. 新特性解读 | MySQL 8.0 对 GTID 的限制解除

    作者:杨涛涛 资深数据库专家,专研 MySQL 十余年.擅长 MySQL.PostgreSQL.MongoDB 等开源数据库相关的备份恢复.SQL 调优.监控运维.高可用架构设计等.目前任职于爱可生, ...

  8. 大漠穷秋:全面解读Angular 4.0核心特性

    内容来源:2017年5月14日,大漠穷秋在"OSC源创会南京站"进行<Angular 4.0核心特性>演讲分享.IT大咖说作为独家视频合作方,经主办方和讲者审阅授权发布 ...

  9. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)

    转载:https://www.cnblogs.com/flying-tiger/p/9567213.html#4121483#undefined PostgreSQL为开发者提供了一组丰富的工具来管理 ...

  10. 2017云栖大会门票转让_「揭秘GP」云栖大会 | Greenplum 6.0 内核优化解读和7.0展望...

    9月25日,云栖大会在杭州阿里巴巴云栖小镇正式拉开序幕,三天会议期间,共吸引了200多位世界级科学家.400多家科技合作伙伴参与,科技展区面积超过3万平方米,共发布了1000多项顶尖技术. 云栖大会现 ...

最新文章

  1. Spring Cloud应用开发(一:使用Eureka注册服务)
  2. java 终极超类,Java问答:终极父类(3),java问答
  3. 142-练习8和9 for循环的嵌套调用和随机数的生成
  4. spring生命周期七个过程_Spring杂文(三)Spring循环引用
  5. 精讲23种设计模式-策略模式~聚合短信服务和聚合支付服务
  6. PSD分层电商促销模板|季末大促上演
  7. 关于管理的十个经典故事
  8. Hello World程序的起源与历史
  9. 华为NP课程笔记19-镜像技术
  10. 网络安全之DOS攻击
  11. java流分类_什么是流分类-JAVA中什么是流?流经常按照哪几种方式分类,每种方式又将流各分? 爱问知识人...
  12. 智能网联(车联网)示范区发展现状分析—华南篇
  13. 重磅丨中国信通院发布ICT深度观察十大趋势
  14. Amazon SageMaker简直就是机器学习平台的天花板
  15. 补漏之XML配置文件基本使用
  16. axios的post请求
  17. 猜拳游戏android代码,android 简易的猜拳小游戏
  18. Maximal Information Coefficient (MIC)最大互信息系数
  19. 借游戏带动“卖铲”收益,“卖铲子”的Unity借元宇宙起飞?
  20. 可视化bi平台与大数据分析的关系

热门文章

  1. Flutter AspectRatio 宽高比设定
  2. 什么是索引回表,如何避免(索引覆盖)
  3. 区块链掀起的认知革命!|筱静观察
  4. web网页播放音频文件
  5. 踏雪点圣火,冰雕刻五环!揭秘全球刷屏的冬奥开幕式黑科技
  6. hp计算机u盘启动,惠普台式机u盘启动(免费分享惠普电脑u盘启动步骤)
  7. 概率统计13——二项分布与多项分布
  8. 华为服务器虚拟化:Fusion Compute基础教程
  9. mysql索引失效的几种情况分析
  10. BZOJ 2286 SDOI2011 消耗战 倍增LCA+单调栈