MongoDB 2.6的发布说明

2014年4月8日

MongoDB 2.6现已推出。主要功能包括聚合增强、文本搜索集成、查询引擎改进、新的写操作协议和安全增强。

主要变化

MongoDB中的以下更改影响标准版和企业版:

聚合增强功能

聚合管道增加了通过返回光标或将输出写入集合来返回任何大小的结果集的能力。此外,聚合管道支持变量,并添加新操作来处理集合和编辑数据。

  • db.collection.aggregate()现在返回一个光标,该光标使聚合管道能够返回任何大小的结果集。
  • 聚合管道现在支持explain操作,以帮助分析聚合操作。
  • 聚合现在可以使用更高效的基于外部磁盘的排序过程。
  • 新的管道阶段:
    • $out阶段输出到集合。
    • $redact阶段允许对访问数据进行额外的控制。
  • 新或修改的运算符:

文本搜索集成

现在默认情况下启用文本搜索,查询系统,包括聚合管道$match阶段,包括$text运算符,用于解析文本搜索查询。

MongoDB 2.6包含更新的文本索引格式,并弃用text命令。

插入和更新改进

  • 对于写入操作,MongoDB保留文档字段的顺序,以下情况除外:
    • _id字段始终是文档中的第一个字段。
    • 包含renaming字段名称的更新可能会导致文档中字段的重新排序。
  • 新的或增强的更新运算符:
    • $bit运算符支持按位xor操作。
    • $min$max运算符,根据指定值的相对大小和字段的当前值执行条件更新。
    • $push运营商增强了对$sort$slice$each修饰符的支持,并支持新的$position修饰符。
    • $currentDate运算符将字段的值设置为当前日期。
  • 用于插入和更新操作的乘法增量的$mul运算符。

另见:

更新运算符语法验证

新的写入操作协议

一种新的写入协议将写入操作与写入问题集成在一起。该协议还为批量操作提供了更好的支持。

MongoDB 2.6添加了insertupdatedelete的写入命令,这为改进的批量插入提供了基础。所有官方支持的MongoDB驱动程序都支持新的写入命令。

mongo现在,外壳程序包含执行批量写入操作的方法。请参阅Bulk()以获取更多信息。

另见:

写入方法确认

适用于Windows的MongoDB的MSI软件包

MongoDB现在分发适用于Microsoft Windows的MSI软件包。这是在Windows下安装MongoDB的推荐方法。

安全改进

MongoDB 2.6通过改进的SSL支持、基于x.509的身份验证、具有更精细控制的改进授权系统以及集中的凭据存储和改进的用户管理工具,增强了对安全部署的支持。

具体而言,这些变化包括:

  • 一种新的授权模型,提供了创建自定义用户定义角色的能力,并能够以集合级粒度指定用户特权。
  • 全局用户管理,将所有用户和用户定义的角色数据存储在admin数据库中,并提供一套新的命令来管理用户和角色。
  • x.509证书身份验证用于客户端身份验证以及分片集群和/或副本集成员的内部身份验证。x.509身份验证仅适用于使用SSL的部署。
  • 增强的SSL支持:
  • MongoDB默认禁用http接口,限制网络曝光。

另见:

查询引擎改进

改进

地理空间增强

另见:

索引构建增强功能

  • 允许在次调上构建背景索引。如果您在索引上启动后台索引构建,则次要索引将在后台复制索引构建。

  • 重新启动后自动重建中断的索引构建。

    • 如果独立或主实例在索引构建期间终止而不进行干净的关机mongod现在会在实例重新启动时重新启动索引构建。如果实例干净地关闭或用户杀死索引构建,中断的索引构建不会在服务器重新启动时自动重新启动。
    • 如果辅助实例在索引构建期间终止,当实例重新启动时,它们实例现在将重新启动中断的索引构建。

    要禁用此行为,请使用--noIndexBuildRetry命令行选项。

  • ensureIndex()现在包装一个新的createIndex命令。

  • 不建议使用dropDups选项,ensureIndex()createIndex

另见:

执行索引键长度限制

增强的分片和复制管理

配置选项YAML文件格式

除了之前的配置文件格式外,MongoDB 2.6还支持基于YAML的配置文件格式。有关更多信息,请参阅配置文件的文档。

运营变更

储存

usePowerOf2Sizes现在是所有新集合的默认分配策略。与文档总大小相比,新的分配策略使用更多的存储空间,但随着时间的推移,存储碎片化程度更低,存储容量规划更可预测。

要使用之前的完全合适的分配策略

  • 对于特定集合,请使用collModusePowerOf2Sizes设置为false

  • 对于整个mongod实例上的所有新集合,setnewCollectionsUsePowerOfnewCollectionsUsePowerOf2Sizesfalse

    新合集包括:在初始同步期间创建,以及由mongorestoremongoimport工具,通过使用--repair选项以及已弃用的restoreDatabase命令运行mongod

/核心/存储有关MongoDB存储系统的更多信息。

网络

  • 删除了maxIncomingConnectionsmongos向上限制。以前的版本将最大可能的maxIncomingConnections设置上限限制为20,000连接。
  • 一个mongos实例的连接池可以由多个MongoDB服务器使用。这可以减少大量工作负载所需的连接数量,并减少分片群集中的资源消耗。
  • 现在,C ++驱动程序使用命令而不是 监视副本集运行状况 。这允许C ++驱动程序支持需要身份验证的系统。isMaster replSetGetStatus
  • 用于指定时间限制的命令的新选项cursor.maxTimeMS()和相应maxTimeMS选项。

工具的改进

  • mongoshell支持全局/etc/mongorc.js文件。
  • 所有MongoDB可执行文件现在都支持--quiet选项,以抑制除错误消息外的所有日志输出。
  • mongoimport使用输入文件名,如果没有文件扩展名,则使用没有-c--collection规范的集合名称。
  • mongoexport现在可以使用--skip--limit限制导出数据,以及使用--sort <mongoexport选项在导出中订购文档。
  • mongostat可以支持使用--rowcount-n)和--discover选项来生成指定数量的输出行。
  • data_numberlong添加严格的模式表示形式,供mongoexportmongoimport

MongoDB企业功能

以下更改是MongoDB企业版特有的:

MongoDB Enterprise for Windows

SNMP的支持。

MongoDB Enterprise for Windows不包括对身份验证的LDAP支持。然而,MongoDB Enterprise for Linux支持在ActiveDirectory服务器上使用LDAP身份验证。

MongoDB Enterprise for Windows包括OpenSSL版本1.0.1g。

审计

MongoDB Enterprise增加了mongodmongos实例的审计功能。有关详细信息请参阅审计

LDAP对身份验证的支持

MongoDB Enterprise支持用户的代理身份验证。这允许管理员配置MongoDB集群,通过将身份验证请求代理到指定的轻量级目录访问协议(LDAP)服务来验证用户。有关详细信息,请参阅使用SASL和LDAP与OpenLDAP进行身份验证,以及使用ActiveDirectory使用SASL和LDAP进行身份验证

MongoDB Enterprise for Windows不包括对身份验证的LDAP支持。然而,MongoDB Enterprise for Linux支持在ActiveDirectory服务器上使用LDAP身份验证。

MongoDB支持在包含2.4版和2.6版碎片的混合分片集群部署中进行LDAP身份验证。有关升级说明,请参阅将MongoDB升级到2.6

扩展的SNMP支持

MongoDB Enterprise大大扩展了其SNMP支持,为db.serverStatus()提供的几乎所有指标提供SNMP访问权限

另见:

SNMP更改

其他信息

影响兼容性的变化

2.6中的某些更改可能会影响兼容性,可能需要用户进行操作。

Mongo 2.6 shell程序提供了 db.upgradeCheckAllDBs()方法对其中一些更改的升级准备情况进行检查。

有关兼容性更改的详细列表,请参阅MongoDB 2.6中的兼容性更改。

另见:

所有向后不兼容的更改(JIRA) AND "Backwards Compatibility" in ( "Minor Change"%2C"Major Change" ) ORDER BY votes DESC%2C issuetype DESC%2C key DESC)。

升级流程

有关完整的升级说明,请参阅将MongoDB升级到2.6

下载

要下载MongoDB 2.6,请转到下载页面。

其他资源

译者:韩鹏帅

参见

原文 - Release Notes for MongoDB 2.6

Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2023-09-01 17:10:26

results matching ""

    No results matching ""