MongoDB最近发布了最新的4.0版本。

毫无疑问,这一版本的主要特性是支持多文档ACID事务。MongoDB向与关系型数据库产品的融合迈出了一大步,现在支持会话的概念,并可以使用start_transaction()和commit_transaction()方法将多个数据库命令包含在单个MongoDB事务中。

MongoDB的事务遵循著名的ACID模型。原子性可以确保属于同一个事务的命令要么全部被执行要么都不执行,永远不会有剩余或出现部分数据。一致性是指数据库始终保持从一个有效状态转换到另一个有效状态,永远不会处于无效状态。隔离保证了多个事务可以同时执行,而其中任何一个事务都无法查看其他事务的部分结果。同时执行多个事务与顺序执行它们具有相同的最终结果。持久性可以保证即使在系统出现故障的情况下,已提交的事务也将保持持久性。

MongoDB的多文档事务仅适用于使用WiredTiger存储引擎的服务器,且当前仅支持单个副本集。4.2版本将带来分片集群支持。

多文档事务具有一些限制,例如无法影响数据库目录(即列出索引和集合),并且无法执行不属于CRUD和信息列表范围内的命令。

这些事务只能使用readPreference和readConcern,local或majority。事务内的readPreference会覆盖掉在集合、数据库和客户端级别设置的readPreference。

查询游标在事务中是隔离的,这意味着事务中的getMore操作只能在内部使用,然后事务外的只能在事务外使用。MongoDB提供了大量用于支持事务操作的命令。

MongoDB Stitch是MongoDB提供的一个无服务器平台,用于快速开发可安全访问MongoDB服务的客户端应用程序,现已公开发布。MongoDB Stitch通过JavaScript函数的方式提供无服务器功能,还提供了QueryAnywhere,让客户端代码可以安全地从Web或移动应用程序查询MongoDB服务器。在数据库发生变更时,触发器将做出一些动作,类似于RDBMS的触发器。即将推出的Mobile Sync将允许MongoDB服务器和移动客户端(已经测试版中发布的MongoDB mobile)之间进行自动数据同步。

MongoDB 4.0版引入了double、string、objectId、boolean、date、integer、long和decimal类型之间的类型转换。这样可以增强数据库内的数据转换,减少对ETL过程的依赖。

测试版中还包括了MongoDB Enterprise Kubernetes Operator,用于在Kubernetes集群中部署MongoDB,同时利用MongoDB Ops Manager的功能。开发人员可以下载最新版本,也可以试用MongoDB Atlas提供的在线服务。

原文地址:http://www.infoq.com/cn/news/2018/07/MongoDB-4.0-Released

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

MongoDB发布4.0版本,支持ACID事务相关推荐

  1. 服务器传输文件多路同传,迅雷发布4.0版本 支持多点服务器同传(图)

    文/dMei 迅雷升级啦!对已不是新手的玩家来说,这无疑是一个好消息,从发现迅雷下载工具开始,我就成为了其忠实的使用者啦.迅雷以前的版本除了可降低死链.支持多节点断点续传.支持各节点自动路由.支持从多 ...

  2. CAP 发布 5.0 版本正式发布

    前言 今天,我们很高兴宣布 CAP 发布 5.0 版本正式版.同时我们也很高兴的告诉你 CAP 已经有越来越多的用户并且变得越来越流行. 在 5.0 版本中,我们主要致力于更好的支持 .NET 5 以 ...

  3. 开源微服务运行时 Dapr 发布 1.0 版本

    作者 | Dapr 社区 译者 | 敖小剑 来源|阿里巴巴云原生公众号 Dapr 是 2019 年 10 月开源的分布式运行时.早在 Dapr 开源初期,阿里云就开始参与 Dapr 社区建设和代码开发 ...

  4. 路遥工具箱全面迁移至 .NET 6.0 并发布 3.0 版本及迁移记录详解

    随着 .NET 6.0 的发布 NewLife 组件也进行了升级,并在 2022 年 1 月份全面停止了对 .NET Framework 的支持框架依赖升级至 .NET Standard 2.1 . ...

  5. 基于MQTT协议的WZ指令开发V3.0版本支持onenet

    title: 基于MQTT协议的WZ指令开发V3.0版本支持onenet tags: WZ指令 date: 2019-02-18 10:53:00 视频讲解:(V3.0版本)-https://www. ...

  6. 「biáng biáng 面」马上可以打出来了!Unicode发布13.0版本,收录4939个生僻字

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 有一种面条,很多人吃过,但 ...

  7. Rust即将发布1.0版本,Go持续获得关注:如何在新生语言之间做出抉择

    没有什么比谈论一门新语言能够让程序员更加兴奋.更加固执己见的了.作为两枚冉冉升起的新星,Go和Rust让我们置身在这场旋窝之中.作为灵感相似但是动机与目标完全不同的两门语言,Go和Rust可谓都是出身 ...

  8. harmonyos pc,华为鸿蒙系统(HarmonyOS)9月11日发布2.0版本将打通PC、手表和车机等产品终...

    原标题:华为鸿蒙系统(HarmonyOS)9月11日发布2.0版本将打通PC.手表和车机等产品终 据国内媒体报道,华为鸿蒙系统(HarmonyOS)将于今年9月11日举行的华为开发者大会上发布2.0版 ...

  9. Data Artisans发布支持ACID事务的流式处理框架Streaming Ledger

    data Artisans宣布推出Streaming Ledger,它扩展了Apache Flink,提供了跨表.键和事件流执行可序列化ACID事务的功能.这项正在申请专利的技术是Flink的专有附加 ...

最新文章

  1. 2020 ICPC Macau A. Accelerator(期望,计数,分治FFT)(每日一题 21.7.6)
  2. Openldap/ldap 双向同步/复制/Mastsr/slave
  3. 理论+实操: linux中firewalld防火墙基础讲解(转载)
  4. C++中的friend详细解析
  5. 2021“MINIEYE杯”中国大学生算法设计超级联赛(4)Display Substring(后缀数组+二分)
  6. IP地址分类及ISO-OSI、三次握手
  7. Mysql添加字段.md
  8. ORACLE坏块检查
  9. pandas数据导出Execl
  10. kali文件重命名_硬核教程,必看!「网络安全入门」四、文件上传漏洞
  11. VB程序打包再安装之后不含源码
  12. Qcom平台添加 Camera 驱动(msm8953)
  13. 支付宝支付即时到账接口在ThinkPHP商城中的应用(转载)
  14. 爬虫-将网页数据写入word中
  15. 韩乔生最牛的一次解说 (超级搞笑)
  16. 2022 年最佳开源软件出炉
  17. 商城项目解析(前端页面知识,用户如何访问服务器,hosts的修改,nginx)
  18. 网关系统就该这么设计,万能通用,稳的一批!
  19. 1838公共政策概论 (2)
  20. LA 4394 String painter 区间DP -

热门文章

  1. 点击右侧导航栏,实现iframe嵌入子页面中div,滑动到最上面
  2. Java基础系列8:Java的序列化与反序列化(修)
  3. 深入理解Three.js(WebGL)贴图(纹理映射)和UV映射
  4. linux上怎么快速删除一个目录?
  5. 认识与入门:Markdown
  6. Git命令集十三——快照操作
  7. HelloSilverlight
  8. getch, getche, getchar 转
  9. .Net Core 读取文件时中文乱码问题的解决方法
  10. 揭秘全球开发最新趋势!JS开发者达1380万,C#超越PHP,Rust增长最快