首页
课程中心
专家团队
新闻中心
精彩活动
关于我们

新闻中心

首页>新闻中心>行业动态

MongoDB 4.0 RC 版本强势登陆

发布日期:2018-07-03阅读数:1081人

MongoDB 因其灵活的文档模型、可扩展分布式设计广受开发者喜爱,在此基础上,MongoDB 4.0 推出了更强大的功能支持,目前4.0第一个RC版本已经发布,本文将介绍 MongoDB 4.0 核心的一些新特性。

多文档事务(Multi-Document ACID Transaction)

结合 MongoDB 文档模型内嵌数组、文档的支持,目前的单文档事务能满足绝大部分开发者的需求。为了让 MongoDB 能适应更多的应用场景,让开发变得更简单,MongoDB 4.0 将支持复制集内部跨一或多个集合的多文档事务,保证针对多个文档的更新的原子性。而在未来的 MongoDB 4.2 版本,还会支持分片集群的分布式事务。

MongoDB 的事务接口非常简单,开发者只需要将「需要保证原子性的更新序列」放到一个 session 的 开始事务 与提交事务之间即可。

如下是 Python API 使用事务的例子

with client.start_session() as s:
    s.start_transaction():
    try:
        collection.insert_one(doc1, session=s)
        collection.insert_one(doc2, session=s)
    except:
        s.abort_transaction()
        raise
    s.commit_transaction()

如下是 Java API 使用事务的例子

try (ClientSession clientSession = client.startSession()) {
     clientSession.startTransaction();
     try {
         collection.insertOne(clientSession, docOne);
         collection.insertOne(clientSession, docTwo);
         clientSession.commitTransaction();
     } catch (Exception e) {
         clientSession.abortTransaction();
     }
}

事务是 MongoDB 开发团队经过3年多努力的结果,从3.0版本引入 WiredTiger 、到3.2版本支持 ReadConcern、3.6 支持 Causal Consistency 等很多工作都是在为事务功能做准备,最终在4.0版本将整个事务的API提供给用户,帮助用户更好的构建应用。

京公网安备 11010802025851号

 京ICP备14030124号-1  

QQ咨询

免费电话

010-82661221

微信咨询

微信客服

在线报名

返回顶部