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

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

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

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P5491-[模板]二次剩余

正题 题目链接:https://www.luogu.com.cn/problem/P5491 题目大意 求解x2N(modP)x^2N(mod\ \ P)x2N(mod P) 解题思路 若aaa在模ppp意义下可以开根那么aaa就是ppp的二次剩余,定义 (ap){1(a是p的二次剩余)−1(a是p的二次非剩余)0(p∣a)\binom{a}{p}\left\{\begin{…

【递归】桐桐的递归函数

桐桐的递归函数 题目大意: 有一个函数,让你照着打 原题: 题目描述 桐桐经常找一些很有趣的数学书来阅读以增长自己的数学知识。一天,他偶然发现一个递归函数w(a,b,c)有以下性质…

分享我编程工作经历及对软件开发前景的看法

本人一直从事互联网行业,熟练C#、javascript,熟悉C\C,JAVA,php,object-c,熟练的开发工具有Visual Studio,数据库是MS SQL SERVER。这两天实在是无聊,回忆一下本人的工作经历,一路走来很辛苦,很坎坷,现在都快40岁了&…

P4026-[SHOI2008]循环的债务【dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4026 题目大意 333个人,有一些面值为100,50,20,10,5,1100,50,20,10,5,1100,50,20,10,5,1的钱,一些人欠一些人钱,求最少交换多少张钞票可以还清。 解题思路 我们设fi,j,kf_{i,j,k}fi,j,k​…

【模拟】桐桐的新闻系统

桐桐的新闻系统 题目大意: 有n个人,每个人有自己的ID和收新闻的间隔,问前k次发送新闻是分别发给谁的 原题: 题目描述 桐桐为期末的电脑作业设计一套新闻系统,他把这套系统称为Argus。 使用这套系统的用户可以向这…

实体类的动态生成(三)

前言在 .NET 中主要有两种动态生成并编译的方式,一种是通过 System.Linq.Expressions 命名空间中的 LambdaExpression 类的 CompileToMethod(...) 方法,但是这种方法只支持动态编译到静态方法,因为这个限制我们只能放弃它而采用 Emitting 生成…

牛客网暑期ACM多校训练营(第三场)

牛客网暑期ACM多校训练营&#xff08;第三场&#xff09; A. PACM Team 01背包&#xff0c;输出方案&#xff0c;用bool存每种状态下用的哪一个物品&#xff0c;卡内存。官方题解上&#xff0c;说用char或者short就行了。还有一种做法是把用的物品压成一个int。 #include <b…

P4096-[HEOI2013]Eden的博弈树

正题 题目链接:https://www.luogu.com.cn/problem/P4096 题目大意 一个博弈树&#xff0c;黑方先手。定义一个最小的叶子节点集为黑胜状态为黑方胜利集合&#xff0c;白色亦然。求所有既属于黑方胜利集合有属于白方胜利集合的点。 解题思路 设fi,0/1f_{i,0/1}fi,0/1​表示ii…

【DP】数字编码

数字编码 题目大意&#xff1a; 有一个序列&#xff0c;可以把它分为一些子序列&#xff0c;但要按题意用字符串表示出来&#xff0c;现在要求字符串的字符最小是多少 原题&#xff1a; 题目描述 一列有顺序的非负整数&#xff0c;需要把它们编码成一个0、10、10、1字符串…

NOIP2013货车运输

NOIP2013货车运输 题目描述 A 国有 n 座城市&#xff0c;编号从 1 到 n&#xff0c;城市之间有 m 条双向道路。每一条道路对车辆都有重量限制&#xff0c;简称限重。现在有 q 辆货车在运输货物&#xff0c;司机们想知道每辆车在不超过车辆限重的情况下&#xff0c;最多能运多重…

52ABP模板 ASP.Net Core 与 Angular的开源实例项目

阅读文本大概需要 5 分钟。开始之前自从上一篇文章".NET:持续进化的统一开发平台"发布后&#xff0c;已经有三个月的时间没有写过文章了。这段时间&#xff0c;做了两场线下活动&#xff0c;一场在上海&#xff0c;一场在成都。 中途顺带去参加了微软的人工智能的ope…

jzoj1281-旅行【dp】

正题 题目大意 nnn个地方&#xff0c;第iii个高度为hih_ihi​。每次可以交换一个hjh_jhj​和hj1h_{j1}hj1​但是要满足操作的jjj递增。 解题思路 也就是可以选择若干个区间&#xff0c;然后将区间的头部丢到尾部。 发现dpdpdp的瓶颈在于我们在枚举下一个时无法知道上一个的具…

初一模拟赛总结(2019.6.15)

成绩&#xff1a; 注&#xff1a;T1好像因为精度问题&#xff0c;有一些本地对的代码交上去WA了 rankrankranknamenamenamescorescorescoreT1T1T1T2T2T2T3T3T3T4T4T4T5T5T5111lyflyflyf320320320202020100100100100100100100100100000222hkyhkyhky298298298989898100100100100…

概率期望学习笔记

概率期望学习笔记 POJ3869 题意&#xff1a;两个人转左轮手枪&#xff0c;朝自己打&#xff0c;枪里保证至少有一个空的&#xff0c;你的对手上一轮活下来了&#xff0c;现在到你了&#xff0c;问重新转左轮和直接打&#xff0c;哪个概率高。 做法&#xff1a;考虑00&#xff0…

jzoj1282-资源勘探【统计】

正题 题目链接:https://gmoj.net/senior/#contest/show/3146/2 题目大意 一个以左上角为端点的子矩形价值定义为区间内唯一的数的数量&#xff0c;求所有子矩形的权值和。 解题思路 考虑每个数字的贡献&#xff0c;对于相同的数字&#xff0c;产生贡献的右下角一定是一个若干…

Quartz.Net分布式任务管理平台(第二版)

前言&#xff1a;在Quartz.Net项目发布第一版Quartz.Net分布式任务管理平台后&#xff0c;有挺多园友去下载使用&#xff0c;我们通过QQ去探讨&#xff0c;其中项目中还是存在一定的不完善。所以有了现在这个版本。这个版本的编写完成其实有段时间了一直没有放上去。现在已经同…

【模拟】表达式求值(jzoj 1768)

表达式求值 jzoj 1768 题目大意&#xff1a; 有一个式子&#xff08;只含数字和加号乘号&#xff09;&#xff0c;让你求出结果的前四位 输入样例 输入样例#1 11*34输入样例#2 11234567890*1 输入样例#3 11000000003*1输出样例 输出样例#1 8输出样例#2 7891输出样例…

Gym101128J

Gym101128J 二分判断点是否在凸包内&#xff0c;模板更新 //Gym - 101128J #include <bits/stdc.h> #define rep(i,a,b) for(int ia;i<b;i) const double eps 1e-8; const double inf 1e20; const double pi acos(-1.0); const int maxp 10110; using namespace s…

.NET Core开发日志——WCF Client

WCF作为.NET Framework3.0就被引入的用于构建面向服务的框架在众多项目中发挥着重大作用。时至今日&#xff0c;虽然已有更新的技术可以替代它&#xff0c;但对于那些既存项目或产品&#xff0c;使用新框架重构的代价未必能找到人愿意买单。而在.NET Core平台环境中&#xff0c…

jzoj4279-[NOIP2015模拟10.29B组]树上路径【树形dp】

正题 题目链接:https://gmoj.net/senior/#main/show/4279 题目大意 nnn个点的一棵树求经过每个点的最长路径。 解题思路 设fif_{i}fi​表示iii子树内的最长路径。 我们第二次转移一个位置时我们枚举除了这个子树之外的其他子树&#xff0c;找到之外最大的fif_ifi​转移下去即…