暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MongoDB2.8(rc版) 新特性

MongoDB之畔 2021-07-13
551

更多关于MongoDB的技术分享请关注我的公众号:mongodb_side

欢迎大家可以给我留言。


原创文章,对官方Release Notes做了扩展描述

作者 shingo(6623662005@163.com


拿到投资之后的10Gen明显加快脚步,距离上一个大版本才过去半年多,MongoDB2.8第二个候选版就即将发出了,这里对候选版给出的新特性做个汇总。


存储引擎、锁、压缩


MongoDB2.8会支持两个存储引擎MMAPV1WiredTiger.


MMAPV1是MongoDB之前所有版本使用的存储引擎,也是唯一的存储引擎,新的2.8版本仍将它设为默认的存储引擎。有个好消息是,MMAPV1支持collection级别的锁。


WiredTiger是2.8新增的存储引擎,非常牛X的是,它支持document级别的锁,默认情况下WiredTiger引擎对所有collection是压缩存储的,依赖Snappy库。


WiredTiger支持所有MongoDB的特性,在同一个复制集环境或分片环境中可以与MMAPV1协同工作。要开启WiredTiger引擎,按如下方式启动mongod进程

mongod --storageEngine wiredtiger


有一点要注意的是:WiredTiger引擎不能和--directoryperdb 兼容。

WiredTiger引擎本身有很多可配置的参数,这些参数可以在启动mongod进程时显示的指定,按照下边的方式:

--wiredTigerEngineConfig "<option>=<setting>,<option>=<setting>"


针对所有新创建的collection生效的配置方式:

--wiredTigerIndexConfig "<option>=<setting>,<option>=<setting>"


针对新建索引的配置

--wiredTigerIndexConfig "<option>=<setting>,<option>=<setting>"


也可以在使用db.createCollection()方法时为collection单独配置wiredTiger参数

db.createCollection("<collectionName>", {storageEngine: {

wiredtiger: {configString:"<option>=<setting>,<option>=<setting>"}}});


增加复制集成员数量


2.8版的复制集最大可以支持50个成员,之前的版本不能超过12个成员,最多只能有7个可投票成员。

相关信息可以参见我之前的文章《MongoDB的限制和门槛标准》


安全改进


增加SCRAM-SHA-1认证机制,这是一个混淆认证机制,它满足部署级别的challenge-response认证机制的需求。

目前MongoDB默认的认证机制是MONGODB-CR

2.8之前支持的认证机制如下

MONGODB-CRMongoDB实现的challenge-response认证机制
MONGODB-X509
MongoDB SSL证书认证
PLAIN
plain认证方式,只能在企业版使用
GSSAPI
gss-api,只能在企业版使用


如果要明确指定认证机制,可在启动mongod时声明

mongod --setParameter authenticationMechanisms=PLAIN--auth


安全方面,还针对localhost exception 做了修改。

在这之前,为一个全新部署的MongoDB环境创建用户时,第一个用户必须在admin库中创建,这样它有创建其它用户的权限,所有从localhost进入的连接对当前实例有所有访问权限。

2.8版中,通过localhost exception访问MongoDB将会是受限的。


查询引擎引进


explain()方法将会显示更多信息,MongoDB的所有查询都可以通过explain()来获取信息,新版本会增加queryPlannerexecutionStatsserverInfo等字段来描述查询的执行情况以及负载信息。


对于分片collection,也能做到索引覆盖查询了。


升级到2.8


官方提供了还算详细的升级方法,和以往的升级方法差不多,主要是复制集和Shard的升级。

复制集比较好说,一个节点一个节点升;Shard会复杂一些,因为meta信息存储在config进程中。

具体的升级过程请大家观看官方文档。

文章转载自MongoDB之畔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论