温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MongoDB发布4.0版本是否支持ACID事务

发布时间:2021-09-29 10:38:57 来源:亿速云 阅读:196 作者:柒染 栏目:大数据

MongoDB发布4.0版本是否支持ACID事务,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

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提供的在线服务。

看完上述内容,你们掌握MongoDB发布4.0版本是否支持ACID事务的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI