MongoDB 3.0 更新日志(翻译)
主要变化
- 支持存储引擎选择
API
- 增加
WiredTiger
存储引擎
WiredTiger
支持所有原有的MongoDB
功能。切换到该引擎需要改变文档存储结构。具体查看文档.3.0
下,副本集中的不同实例可以拥有不用的存储引擎。 -
MMAPv1
改进
支持文档级锁;提供no Padding Allocation Strategy
,当操作仅是插入
或是无增添更新
建议使用;
副本集
- 增加一个副本集内实例的上限至50
- 调整
primary
下台的操作
-
primary
下台前,replSetStepDown
会试图终止影响primary
下台的用户操作 - 反止操作回滚,
replSetStepDown
操作会等待选举出来的second
完成状态的复制 -
replSetStepDown
操作允许设置secondaryCatchUpPeriodSecs
,用于等待second
接替primary
的时间
分片集群
- 增加
sh.removeTagRenge()
命令,方便带tag
的分片管理,与sh.addTagRang()
对应 -
mongos
进行读操作前会,会评估读取操作,做出更加可预测的操作? - 为块迁移操作提供的
writeConcern
设置。 -
balancer
操作更加可视化,sh.status()
会包含balancer
的状态信息
增加安全性
一些改进
- 新的
Query
的内审系统。为query
决策和执行提供更加合理的操作输出以及细粒度的内审 - 增强日志输出
-
MongoDB
工具改进
-
mongodump
和mongorestore
增加新的选项。如:--numParallelCollections
用与限制mongoresotre
操作时的集合数;--excludeCollection
和excludeCollectionWithPrefix
用于mongodump
操作时排除指定集合 -
mongostore
可以直接标准格式的BSON
数据 - 通过
--json
选项,mongostat
和mongotop
可以输出JSON
格式的结果 -
mongoimport
,mongorestore
和mongofiles
提供--writeConcern
选项 -
mongofiles
允许你指定GirdFS
文件的前缀,用于赛选特定的文件
- 索引
- 后台进行的索引创建,不再会被
dropDatabase
,drop
和dropIndexes
打断,同时会输出错误信息:“background operation is currently running” -
createIndexes
执行时,只会扫描集合一遍,只要一个索引在前台建立,所有的索引都会在前台建立
-
Query
改进
- 支持big多边形的
query
,如$geoIntersects
和$geoWithin
-
aggregate()
操作,提供$dateToString
操作用来输出标准化时间字符串 - 增加
$eq
操作
- 提供
ssl
支持