重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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事务的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!