写点什么

MongoDB 3.0 正式发布,支持多存储引擎

  • 2015-03-06
  • 本文字数:1160 字

    阅读完需:约 4 分钟

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 也正式发布,感兴趣的读者可以其发布说明


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-06 02:135199
用户头像

发布了 1008 篇内容, 共 356.9 次阅读, 收获喜欢 332 次。

关注

评论

发布
暂无评论
发现更多内容

造车潮

ES_her0

5月日更

数据预处理&特征工程

Qien Z.

Python 5月日更

浪潮云洲链斩获2020-2021年度新一代信息技术创新产品殊荣

浪潮云

从技术趋势看质量赋能

BY林子

敏捷 软件测试 质量赋能

Windows Terminal 安装和运行

HoneyMoose

父母为什么催婚,而你又在逃避什么

小天同学

婚姻 爱情 5月日更

高性能 JavaScriptの笔记(四)

空城机

JavaScript 大前端 5月日更

这一次,彻底搞懂 Go Cond

HHFCodeRv

Go 语言

高并发调优backlog多大合适?

运维研习社

nginx 运维 5月日更 并发调优

【偶尔一道ctf】xctf adword mobile easy-apk

Thrash

Dubbo 延迟与粘滞连接

青年IT男

dubbo

PKI系统简介

上海派拉基础研发

CA PKI

保障实时音视频服务体验,华为云原生媒体网络有7大秘籍

华为云开发者联盟

云原生 音视频 华为云 媒体网络 架构分层

Nginx基础配置-反向代理

梁龙先森

nginx 大前端

Golang function

escray

学习 极客时间 Go 语言 5月日更

音频均衡器EQ

floer rivor

音视频 Eq

聊聊dubbo协议

捉虫大师

Windows 任务管理器中如何显示 CPU 逻辑处理器情况

HoneyMoose

写给大神

小梨蕊

情人节 520单身福利 520 单身福利

架构学习笔记:复杂度来源

风翱

5月日更 架构复杂度

CMMI V2.0丨如何通过CMMI真正在企业中的实施规模化敏捷开发

渠成CMMI

软件 研发管理 CMMI

520,珍惜眼前人

数据社

520 520单身福利 520 单身福利

【和平精英x TcaplusDB】两周年,让我们一起加油!

tcaplus

数据库

为什么“放弃”?

Nydia

学习

产品思维

lenka

5月日更

520节日快乐

IT蜗壳-Tango

5月日更

珠联壁合地设天造|M1 Mac os(Apple Silicon)基于vscode(arm64)配置搭建Java开发环境(集成web框架Springboot)

刘悦的技术博客

Java vscode spring Boot Starter JDK11 m1

❤【520特别祝福篇】愿有情人终成眷属,已成眷属爱情稳固

洛神灬殇

爱情 5月日更 520单身福利 520 单身福利

拥有5大核心竞争力的华为云GaussDB,成SACC2021最靓那一个…

华为云开发者联盟

数据库 华为云 GaussDB 存算分离 GaussDB(for Redis)

Hadoop定位问题日志跟踪

InfoQ_Springup

hadoop

线程与线程池的那些事之线程篇

秦怀杂货店

Java 线程 多线程 进程 并发

MongoDB 3.0正式发布,支持多存储引擎_数据库_谢丽_InfoQ精选文章