2015年3月3日
MongoDB 3.0现在可用。主要功能包括对WiredTiger存储引擎的支持,可插拔存储引擎API,
SCRAM-SHA-1
身份验证机制和改进的explain
功能。
MongoDB Ops Manager(包括自动化,备份和监视)现在也可用。有关 更多信息,请参阅Ops Manager文档和Ops Manager发行说明。
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
secondaryPreferred
可以使用未经版本控制的连接结束:SERVER-18671lsn
file)可能位于同步到数据文件
SERVER-22261之前。已解决的问题:
listDatabases
在WiredTiger下,大量的创建和删除集合可能会
变慢。服务器-20961已解决的问题:
findAndModify
就mongos
可以UPSERT到错误的碎片。服务器-20407。已解决的问题:
已解决的问题:
$sort
系统上的
聚合SERVER-19464。解决的问题和改进:
$text
和$near
查询
SERVER-18926。已解决的问题:
upsert=true
使用Wired Tiger Storage引擎与多次更新进行写入冲突:SERVER-18213已解决的问题:
db.eval()
并添加警告:
SERVER-17453mapReduce
在eval
:环境SERVER-17889已解决的问题:
2d
$nearSphere
:
SERVER-17469mongod
在WiredTiger的修复操作期间开始:
SERVER-17652和SERVER-17729zlib
块压缩的无效压缩流错误:SERVER-17713已解决的问题:
_id
条目:SERVER-17487。MongoDB 3.0引入了可插拔的存储引擎API,允许第三方为MongoDB开发存储引擎。
MongoDB 3.0引入了对WiredTiger存储引擎的支持。有了WiredTiger的支持,MongoDB现在支持两个存储引擎:
WiredTiger是默认MMAPv1存储引擎的替代产品。WiredTiger支持所有MongoDB功能,包括报告服务器,数据库和集合统计信息的操作。但是,切换到WiredTiger要求更改磁盘上的存储格式。有关将存储引擎更改为WiredTiger的说明,请参阅将MongoDB升级到3.0文档中的相应部分 。
MongoDB 3.0副本集和分片集群可以使成员具有不同的存储引擎;但是,性能可能会因工作负载而异。有关详细信息,请参阅将MongoDB升级到3.0文档中的相应部分 。
WiredTiger存储引擎需要最新的官方MongoDB驱动程序。有关更多信息,请参见 WiredTiger和驱动程序版本兼容性。
也可以看看
3.0 WiredTiger存储引擎提供文档级锁定和压缩。
默认情况下,WiredTiger使用压缩收集数据 活泼的压缩库。默认情况下,WiredTiger 对所有索引使用前缀压缩。
也可以看看
生产说明中的 WiredTiger部分 ,博客文章 MongoDB 3.0中的New Compression Options
在3.0版中,MMAPv1存储引擎添加了对集合级锁定的支持。
MongoDB 3.0不再实现动态记录分配并弃用paddingFactor。在使用MMAPv1的实例中,集合的默认分配策略是2分配的幂,已对其进行了改进以更好地处理大型文档。在3.0中,该
usePowerOf2Sizes
标志将被忽略,因此2策略的幂将用于所有未noPadding
设置标志的集合。
对于工作负载仅包含插入或就地更新(例如递增计数器)的集合,可以禁用2策略的幂。要禁用集合的2幂策略,请使用带有标志的
collMod命令
noPadding
或带有该
选项的db.createCollection()方法noPadding
。
警告
noPadding
如果工作负载包括删除或任何可能导致文档增长的更新,则不要设置。有关更多信息,请参见
无填充分配策略。
当磁盘空间不足时,MongoDB 3.0不再在所有写入操作中出错,而仅在所需的磁盘分配失败时才会出错。这样,MongoDB现在允许就地更新并在磁盘空间不足时将其删除。
也可以看看
在MongoDB 3.0中,副本集最多可包含50个成员。[1]以下驱动程序支持较大的副本集:
C,C ++,Perl和旧版PHP驱动程序以及早期版本的Ruby,Python和Node.JS驱动程序会串行发现和监视副本集成员,因此不适合与大型副本集一起使用。
[1] | 投票成员的最大数量保持为7。 |
replSetStepDown
将尝试终止长时间运行的用户操作,这些操作将阻止主数据库降级,例如索引构建,写操作或映射减少作业。replSetStepDown
退出之前,将等待可选举的辅助节点赶上主要节点的状态。以前,主节点要等到辅助节点赶上主节点10秒以内(即复制延迟为10秒或更短的辅助节点)后才能退出。replSetStepDown
现在允许用户指定一个
secondaryCatchUpPeriodSecs
参数,以指定主要节点在降级之前应等待辅助节点追赶多长时间。MongoDB 3.0对分片群集提供了以下增强功能:
sh.removeTagRange()
帮助程序以改进带有标签的分片集合的管理。新
sh.removeTagRange()
方法是对的补充
sh.addTagRange()
。mongos
执行读取操作时,实例不再与副本集成员固定连接。而是,
mongos
重新评估每个操作的读取首选项,以在读取首选项更改时提供更可预测的读取首选项行为。writeConcern
设置来配置块迁移操作的写关注。您可以配置writeConcern
的设置均衡器,以及用于
moveChunk
和cleanupOrphaned
命令。sh.status()
包括有关平衡器状态的信息。有关sh.status()
详细信息,请参见
。也可以看看
MongoDB 3.0包括以下安全性增强功能:
SCRAM-SHA-1
如果您当前的驱动程序版本不支持,则需要升级驱动程序SCRAM-SHA-1
。有关支持的驱动程序版本SCRAM-SHA-1
,请参阅
要求。也可以看看
MongoDB 3.0包括一个新的查询自检系统,该系统提供了改进的输出格式以及对查询计划和查询执行的更细粒度的自检。
有关详细信息,请参见新db.collection.explain()
方法和新explain
命令以及更新后的
cursor.explain()
方法。
有关新输出格式的信息,请参见 解释结果。
除mongosniff
和
外的所有MongoDB工具mongoperf
现在都用Go编写,并作为一个单独的项目维护。
mongodump
和的
新选项mongorestore
。您可以mongorestore
使用该--numParallelCollections
选项控制一次还原
的集合数。-excludeCollection
,
--excludeCollectionsWithPrefix
用于mongodump
排除集合。mongorestore
除了从文件中读取BSON数据外,现在还可以接受来自标准输入的BSON数据输入。mongostat
并且mongotop
现在可以使用该--json
选项以JSON格式返回输出。mongoimport
,
mongorestore
和mongofiles
。使用该
--writeConcern
选项。默认的writeConcern已更改为'w:majority'。mongofiles
现在--prefix
,您可以使用该选项配置GridFS前缀,以便可以使用自定义名称空间并将多个GridFS名称空间存储在单个数据库中。也可以看看
dropDatabase
,drop
,
dropIndexes
出现了受建立索引数据库或集合操作。的
dropDatabase
,drop
和