新西兰服务器

MongoDB 3.0是否支持多存储引擎


MongoDB 3.0是否支持多存储引擎

发布时间:2021-09-29 10:49:01 来源:高防服务器网 阅读:76 作者:柒染 栏目:大数据

这篇文章给大家介绍MongoDB 3.0是否支持多存储引擎,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

MongoDB 3.0正式发布,更新主要涉及存储引擎、备份集、分片集群和安全。

MongoDB 3.0的默认存储引擎仍然是MMAPv1,但除了增加集合级锁改进并发和更改部分设置支持多存储引擎外,它还更改了记录分配行为。该版本不再使用动态记录分配策略,并弃用了paddingFactor标识,改用2的幂分配策略。因此,在3.0版本中,usePowerOf2Sizes标识会被忽略,在不设置noPadding标识的情况下,所有集合都将使用该策略。不过,如果集合的工作负载只包含插入或就地更新,则应该禁用这一策略。

除了改进默认存储引擎外,MongoDB 3.0还引入了可插拨的存储引擎API,允许第三方为MongoDB开发存储引擎。另外,该版本还支持WiredTiger存储引擎,不过只限于MongoDB 3.0的64位版本。作为MMAPv1的一个替代方案,WiredTiger支持MongoDB的所有特性。需要注意的是,切换到WiredTiger需要更改磁盘存储格式。关于存储引擎的切换指令,请查看MongoDB 3.0升级文档。而且,WiredTiger还需要最新版本的MongoDB官方驱动,有关驱动版本兼容信息请查看这里。

MongoDB 3.0将备份集的成员数量增加到50,不过投票成员的最大数量还是7。目前,只有下列驱动支持大备份集:

  • C# (.NET) Driver 1.10

  • Java Driver 2.13

  • Python Driver (PyMongo) 3.0+

  • Ruby Driver 2.0+

  • Node.JS Driver 2.0+

而PyMongo 3.0、Ruby Driver 2.0和Node.JS Driver 2.0正在开发中。另外,备份集“主成员(primary member)”的降级行为也发生了变化。

在分片集群方面,MongoDB 3.0进行了以下增强:

  • 增加sh.removeTagRange(),作为对sh.addTagRange()的补充;

  • 提供一种预见性更强的“读取首选项(read preference)”,mongos实例执行读取操作时不再将连接固定到备份集的成员上,而是每次操作时都重新评估读取首选项;

  • 提供了一个新的writeConcern设置,用于配置块迁移操作的“写关注(write concern)”,也可以为balancer、moveChunk和cleanupOrphaned命令配置;

  • 提升balancer操作的可见性,sh.status()包含balancer的状态信息。

在安全方面,MongoDB 3.0增加了一种新的用户身份验证机制SCRAM-SHA-1,并且增加了使用Localhost Exception机制访问MongoDB的限制(更多细节请查看这里)。

其它方面的改进包括:增加新的查询自省系统,改进查询输出格式;将部分日志消息分类到特定的组件或操作下,提高日志的可用性,并且可以为组件设置信息显示级别;用Go语言重写所有的MongoDB工具,并且每种工具都作为一个独立的项目维护;改进索引和增强查询。

同MongoDB 3.0一起,MongoDB Ops Manager也正式发布。

关于MongoDB 3.0是否支持多存储引擎就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[