`
猫耳呀
  • 浏览: 160760 次
社区版块
存档分类
最新评论

MongoDB 4.0 RC 版本强势登陆

 
阅读更多

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

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提供给用户,帮助用户更好的构建应用。

聚合类型转换( Aggregation Pipeline Type Conversions)

灵活的文档模型是 MongoDB 相比传统关系型数据库的一大优势,应用开发者无需为存储的数据预先定义结构(或者模式),这使得开发者能快速的应对开发需求的迭代;在灵活的同时,MongoDB 还提供了 schema validation 功能,使得开发者可以根据需要定义文档数据的模型。

MongoDB 的文档允许用户灵活的写入各种类型的数据字段,这给消费数据带了一定的复杂性,比如一些数据分析的场景,应用通常希望某个字段的数据拥有统一的类型,以方便数据处理。

MongoDB 4.0 引入了新的聚合操作符 $convert, 允许用户在 aggregation pipeline 里将文档的字段转换成统一的类型输出,使得数据消费端,比如 MongoDB BI 工具、Spark Connectors 以及其他 ETL 工具能更简单的处理 MongoDB 数据。

非阻塞的备节点读(Non-Blocking Secondary Reads)

为了确保备节点上的读与主节点保持相同的因果一致性语义,MongoDB 备节点在批量应用 oplog 的时候会阻塞读请求,这使得在高写入负载下,备节点上读的平均延时通常比主节点更高。

借助事务功能中  storage engine timestamps and snapshots 的实现,引擎层可以很容易的实现「指定时间戳快照读取的功能」,使得备节点上的读请求无需阻塞等待就能读到一致时间点的数据。这个特性将极大的提升 MongoDB 读扩展的能力。

迁移速度提升40%(40% Faster Data Migrations)

应用在不断演进过程中,其负载特性也在不断发生变化,这就要求数据库具备扩展的能力,及时适应应用的负载变化。MongoDB 分片集群支持实时的添加、移除shard 节点,并能在各个 shard 之间自动迁移数据来均衡负载。

MongoDB 4.0 支持在迁移数据的过程中,并发的读取(源端)和写入(目标端),使得迁移的性能提升了约 40%, 使得新添加的节点能更快的承载业务压力,让分片集群发挥最佳效果。

扩展修改订阅(Extensions to Change Streams)

MongoDB 3.6 推出了修改订阅( Change Streams)的功能,使得用户能实时的获取数据的修改,同时通过 Change Streams 还能很方便的实现多数据中心跨复制集的数据同步。MongoDB 4.0 进一步扩展 Change Streams 功能,可以实现分片集群维度的修改订阅。

开始体验 MongoDB 4.0 RC

原文链接

分享到:
评论

相关推荐

    mongodb 4.0镜像

    开源的分布式文件存储数据库mongodb 4.0镜像

    2020年最新MongoDB 4.0专讲从入门到精通视频教程.txt

    day1:MongoDB数据库与其他数据库区别介绍及学习方法 day2:MongoDB运行环境搭建及运行 day3:MongoDB增删改查操作实践 day4:教你学会MongoDB聚合操作 day5:索引的特性及应用 day6:MongoDB实例搭建仓位管理API day7:...

    mongodb4.0_64_Linux_Windows

    MongoDB 4.0 是一个高性能、开源的文档型数据库,尤其适合于处理大量数据的Web应用程序、内容管理系统和实时分析。它支持多种操作系统,包括Linux和Windows,这与提供的压缩包文件对应,分别是`mongodb-win32-x86_64...

    mongodb4.0学习文档11123123

    MongoDB 4.0是这个数据库系统的一个重要版本,它带来了许多新特性和改进,旨在提升性能、可扩展性以及用户友好性。以下是对MongoDB 4.0中关键知识点的详细阐述: 1. **变更数据捕获(CDC)与Oplog Tailer优化**: ...

    MongoDB c-drvier 和 cxx-driver 编译结果(win10-vs2017) MongoDB4.0 可用

    总的来说,`MongoDB4.0-driver`压缩包包含了用于Windows 10平台,使用VS2017编译的MongoDB C和C++驱动,使得开发者能够便捷地在C/C++项目中集成MongoDB功能。理解这两个驱动的编译过程和使用方法,对于在Windows环境...

    藏经阁-PostgresChina2018_唐建法_MongoDB_4.0_开创_NoSQL_+_ACID新纪元.pdf

    MongoDB 4.0 的 NoSQL 数据库技术 MongoDB 是一个基于分布式文件存储系统的 NoSQL 数据库,具有 ACID Transaction 能力,能够满足高性能和高可用性的要求。本文主要介绍 MongoDB 4.0 的特点、优势和应用场景。 ...

    mongodb 4.0 客户端工具nosqlbooster

    这款工具支持MongoDB 4.0版本,该版本引入了许多重要的新特性,包括ACID事务、聚合框架的增强以及对JSON Schema的支持。 1. **MongoDB 4.0 特性** - **ACID事务**:在MongoDB 4.0中,引入了对ACID(原子性、一致性...

    mongodb 4.0.0社区版安装包

    2. **分片查询优化**:在4.0版本中,MongoDB改进了分片查询的性能,使得在大型分布式数据库中查找和处理数据更加高效。 3. **聚合框架增强**:MongoDB的聚合框架得到了增强,允许更复杂的分析操作,并且可以与...

    mongodb 4.0 manual document

    mongodb 4.0 manual document.

    MongoDB4.0.28安装教程.md

    MongoDB4.0.28安装教程.md

    MongoDB c-drvier 和 cxx-driver 编译结果(win7-vs2017) MongoDB4.0 可用

    win7环境下,使用vs2017编译的MongoDB-c-driver 和MongoDB-cxx-driver。 下载之后可以直接放入C++工程中使用。 版本信息: mongo-c-driver-1.13.0, mongo-cxx-driver-r3.4.0

    mongodb-4.0.4_windows

    5. **数据迁移工具**:MongoDB 4.0提供了工具,如`mongodump`和`mongorestore`,帮助用户轻松地在不同版本或集群之间迁移数据。 6. **增强的监控和诊断**:提供了更丰富的日志记录和性能指标,便于管理员监控和优化...

    mongodb-v4.0

    mongodb-win32-x86_64-2008plus-ssl-v4.0-latest-signed.msi

    Use multi-document ACID transactions in MongoDB 4.0 - FileId - 160316.pdf

    Use multi-document ACID transactions in MongoDB ,在MongoDB 4.0中使用多文档ACID事务

    最新版玩转MongoDB4.0从入门到实践系列课程.txt

    最新版玩转MongoDB4.0从入门到实践系列课程

    详解MongoDB4.0构建分布式分片群集

    在MongoDB 4.0版本中,引入了分片(Sharding)技术来构建分布式分片群集,以应对高数据量和吞吐量的挑战。分片允许我们将数据分散到多个服务器上,以提高存储能力和处理能力,确保系统的稳定性和性能。 分片简述: ...

    mongodb 4.0.22版本

    MongoDB 4.0.22 版本是这个数据库系统的一个特定发行版,它包含了对先前版本的各种改进、性能优化以及安全修复。MongoDB 是一个开源、文档型的数据库,广泛应用于现代分布式应用程序,特别是在大数据和实时分析场景...

    mongodb-linux-x86_64-amazon-4.0.18.tgz

    MongoDB 4.0系列是一个重要的版本,引入了多项新功能和优化,包括事务支持、存储引擎改进和性能提升。 首先,让我们详细了解一下MongoDB 4.0中的关键特性: 1. **多文档事务**:MongoDB 4.0引入了对ACID(原子性、...

    MongoDB4.28安装详细步骤及启动配置教程(Windows10)

    ### MongoDB 4.2.8 安装及配置教程(Windows 10) #### 一、MongoDB 4.2.8 的安装 ##### 1.1 下载并运行安装程序 - **下载安装包**:首先从MongoDB官方网站或其他可靠渠道下载适合Windows 10操作系统的安装包`...

Global site tag (gtag.js) - Google Analytics