当前位置: 移动技术网 > IT编程>数据库>MongoDB > MongoDB版本及存储引擎区别

MongoDB版本及存储引擎区别

2020年03月13日  | 移动技术网IT编程  | 我要评论

数据库版本及优势

3.4版本在性能和安全性等方面较3.2版本均有不同程度的提升;
4.0版本更适用于金融等对事务有依赖且使用nosql特性的场景;
4.2版本采用二段提交方式,保证分片集群事务的acid特性,极大拓展了适用的业务场景。更多详情请参见下表。
 
数据库版本优势
3.4版本
  • 更快的主备同步

    在同步数据的同时建立所有索引(以前的版本仅建立_id索引)。同时在同步数据的阶段,secondary节点不断读取新的oplog信息,确保secondary节点的local数据库具备足够的存储空间来存储临时数据。

  • 更高效的负载均衡

    3.2及以前版本中,分片集群的负载均衡由mongos节点负责,多个mongos节点会抢一个分布式锁,由抢锁成功的mongos节点执行负载均衡任务,在shard节点间迁移块;而在3.4版本中,负载均衡由configserver节点中的primary节点负责,负载均衡的并发度和效率上均有大幅提升。

  • 更丰富的aggregation操作

    在3.4版本增加了大量的aggregation操作符,可支持更强的数据分析能力。例如,bucket能便捷地对数据进行分类;$grahplookup相较于3.2版本的$lookup能支持更复杂的关系运算;$addfields使得文档操作更丰富(例如将某些字段求和存储为新的字段)。

  • 支持sharding zones

    分片集群里引入了zone的概念,主要取代现在的tag-aware sharding机制,能将某些数据分配到指定的一个或多个shard节点中,该特性极大地方便sharding cluster的跨机房部署。

  • 支持collation

    在之前的版本里,文档里存储的字符串不论是中英文还是大小写,一律按字节来对比;引入collation后,支持对字符串的内容进行解读,可以按使用的locale进行对比,也支持在对比时忽略大小写。

  • 支持只读视图(read-only views)

    在3.4中增加了对只读视图的支持,可以将集合中满足某个查询条件的数据虚拟成一个特殊的集合,用户可以在特殊的集合上做进一步的查询操作。

4.0版本
  • 跨文档事务支持

    首个支持跨文档事务的nosql云数据库,将文档模型的速度,灵活性、功能与acid保证相结合。

  • 迁移速度提升40%

    并发的读取和写入,使得新增的shard节点能更快地完成数据迁移以承载业务压力。

  • 读性能大幅扩展

    借助事务特性,secondary节点不再因为同步日志而阻塞读取请求。 阿里云同时在全体系版本支持多节点扩展功能,可大幅提升业务读取能力。

4.2版本
  • 分布式事务

    采用二段提交方式,保证分片集群事务的acid特性,极大拓展了mongodb的业务场景,实现从nosql到newsql的飞跃。

  • 可重试读

    增加可重试读功能,提供弱网环境下自动重试能力,降低业务端的逻辑复杂性,保证用户业务的连续性。

  • 通配符索引

    对于非确定字段,支持创建通配符索引覆盖一个文档下的多个特征字段,管理方便且使用灵活。

  • 字段级加密

    驱动层面支持字段级加密,可以针对特定的敏感信息(例如账号、密码、价格、手机号等)单独加密。避免全库加密,提升业务灵活性和安全性。

  • 物化视图

    通过最新的物化视图可以缓存计算结果,避免重复计算提升运行效率,减少逻辑复杂度。

存储引擎

 
存储引擎说明适用场景
wiredtiger 基于btree结构组织数据,相比mongodb早期的mmapv1存储引擎性能提升明显,且支持数据压缩,存储成本更低。 默认存储引擎,适用于大多数业务场景。
rocksdb(已下线) 基于lsm tree结构组织数据,针对性优化数据写入,将随机写入转换成了顺序写入,能保证持续高效的数据写入。 适用于大量写且少读的场景。
terarkdb(已下线) 借助terarkdb的全局压缩技术,在提高压缩率的同时,能大幅提高随机查询的性能。 适用于多读少写或批量写大量读的场景。

版本和存储引擎的适配关系

为最大化满足各类业务场景需求,云数据库mongdb提供了wiredtiger、rocksdb和terarakdb三种存储引擎供您选择。存储引擎与版本间的适配关系如下:

 
存储引擎3.4版本4.0版本4.2版本
wiredtiger

单节点实例

副本集实例

分片集群实例

单节点实例

副本集实例

分片集群实例

副本集实例

分片集群实例

rocksdb(已下线)

单节点实例(按量付费)

副本集实例(按量付费)

分片集群实例

- -
terarkdb(已下线)

分片集群实例

-

-

 

mongodb的版本

重要:

始终升级到发行系列的最新稳定版本。

mongodb的版本的形式x.y.z在那里x.y 指的是一个版本系列或开发系列z 指修订/补丁号。

  • 如果y是偶数,则x.y指发布系列;例如, 4.0发行系列和4.2发行系列。发布系列 稳定且适合生产。
  • 如果y是奇数,则x.y指一个开发系列;例如, 4.1开发系列和4.3开发系列。开发系列仅用于测试而不是生产

例如,在mongodb版本中4.0.124.0是指发行系列和.12版本。

最新产品

在发布一系列变化(例如4.04.2)通常标志着引进可能破坏向后兼容的新功能。

补丁版本

更改版本号(如4.0.114.0.12)一般标注错误修复和向后兼容的改变的释放。

驱动程序版本

mongodb的版本编号系统与mongodb驱动程序使用的系统不同。

官方发行说明

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网