写点什么

MongoDB 新版本特性和未来规划

  • 2013-04-01
  • 本文字数:1269 字

    阅读完需:约 4 分钟

MongoDB 2.4 已经发布,该版本增加了一些新特性,如文本搜索、基于哈希的分片、更好的地理空间功能、支持 GeoJSON 以及一些性能和工具方面的提升。我们还和 10gen 讨论了 MongoDB 接下来的路线图。

一些关键的提升如下:

  • 引入了文本搜索,现在是一个测试功能,支持 15 种语言的词干和断词
  • 基于哈希的分片,用于数据交叉传播时不能轻易预测任何自然分片键的情况
  • 地理空间索引和 GeoJSON 支持
  • 安全提升——新的模块化身份认证系统、与 Kerberos 集成以及基于角色的访问控制
  • 一些性能提升,最重要的一项是针对计数和聚合等专门场景的提升
  • 使用 V8 作为 Mongo Shell 内部默认的 JavaScript 引擎(代替了 SpiderMonkey),进而提升了基于 JavaScript 的操作的性能和并发性
  • 用于监控集群状态的其他指标

10gen 还介绍了同 2.4 版一起发布的一款企业版MongoDB

为了了解新特性和将来规划的更多信息,我们联系了10gen 的产品市场总监 Kelly Stirman

Kelly 解释了为什么集合级别的锁可能对 MongoDB 没有意义:

版本 2.2 对锁做了改进,通过降低锁竞争为写吞吐量带来了实质性的好处。David Mytton 写了一篇非常好的与该主题相关的文章

除了 2.0 和 2.2 版本中所提供的改进,MongoDB 2.4 并没有包含任何额外粒度的锁。我们正在考虑在 2.6 版本中引入文档级别的锁。锁产生的提升已经足够了,集合级别的锁可能不会再带来其他重要的提升了,因此文档级别的锁可能是下一个方向。

关于何时使用基于范围的分片而不是新的基于哈希的分片,Kelly 说:

什么时候使用基于范围的分片呢?如果你的应用程序基于一个分片键范围请求数据,那么这些查询会被路由到合适的分片,通常只有一个分片,特殊情况下可能有一些分片。在一个使用了基于哈希分片的系统中,同样的查询会将请求路由到更多的分片,可能是所有的分片。理想情况下,我们希望查询会被路由到一个单独的分片或者尽可能少的分片,因为这样的扩展能力要比将所有的查询路由到所有的分片好。因此,如果你非常理解自己的数据和查询,那么基于范围的分片可能是最好的选择。

在 MongoDB 2.4 中计数速度最高可以提升 20 倍,同时聚合框架平均要快 3 到 5 倍。Kelly 解释说计数性能的提升受益于 MongoDB 中 B 树遍历性能的一些提升——基于索引的低基数计数是最大的提升。聚合框架性能的提升实际上是对 MongoDB 内部实现做的很多小变动引起的,它们一起带来了具大的好处。

接下来将会增加哪些企业特性:

MongoDB 2.4 在安全和监控领域实现了一些重大举措,但是对于将来的版本我们还有很多计划。我们将沿着认证、授权和审计三个维度进行安全控制。将来版本的 MongoDB 将继续关注这些领域,同时我们还会继续增强我们为 MongoDB 提供的工具。 MongoDB 监控服务(MMS)在 MongoDB 社区已经非常流行,有超过 15,000 位用户并在持续增长。我们将继续对 MMS 进行投资,为用户提供免费的云工具,同时提供本地产品作为我们企业订阅服务的一部分。

如果你想了解更多与 MongoDB 2.4 新特性相关的信息,可以阅读发行说明概述

查看英文原文: MongoDB Gets Better Security, Text Search, Performance Improvements – What’s Next?

2013-04-01 09:164169
用户头像

发布了 321 篇内容, 共 134.4 次阅读, 收获喜欢 19 次。

关注

评论

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

Vue 2x 中使用 render 和 jsx 的最佳实践 (1)

默默的成长

Vue 前端 10月月更

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析02

桑榆

源码刨析 10月月更 C++

「CSS畅想」自动打字效果,默写首诗来读读

叶一一

JavaScript 前端 10月月更

微信红包实现原理

Johnny

【10.7-10.14】写作社区优秀技术博文一览

InfoQ写作社区官方

优质创作周报

Baklib分享|知识管理是企业发展的风向标

Baklib

三步玩转:如何通过Flink OceanBase CDC连接器快速查询数据

OceanBase 数据库

容量管理的三个层次

阿泽🧸

10月月更 容量管理

深入浅出理解Java并发AQS的独占锁模式

JAVA旭阳

Java 并发 10月月更

当 WASM 遇见 eBPF:使用 WebAssembly 编写、分发、加载运行 eBPF 程序 | 龙蜥技术

OpenAnolis小助手

开源 操作系统 内核 ebpf Wasm

「CSS畅想」定时+随机,开启今日上上签

叶一一

JavaScript 前端 10月月更

Baklib|构建在线客户服务,产品知识库至关重要

Baklib

「小程序开发」关于网页与小程序的通信

叶一一

前端 小程序开发 10月月更

【愚公系列】2022年10月 Go教学课程 028-函数小结案例(通讯录)

愚公搬代码

10月月更

图解ReentrantLock公平锁和非公平锁实现

JAVA旭阳

Java 并发 10月月更

你对“低代码”存在哪些误解?

优秀

低代码

一文彻底搞懂IP地址到底是什么?

長歌

层出不穷的机器学习框架到底在“卷”什么?

小红书技术REDtech

机器学习

微信红包体系设计分析

Johnny

微信红包后台系统可用性设计实践

Johnny

企业号十月PK榜,年度榜单倒计时开始!

InfoQ写作社区官方

企业号十月PK榜

Baklib分享|提高工作效率,在线协作文档

Baklib

Baklib|关于帮助中心需要注意的一些细节

Baklib

面向对象之方法重载

魏铁锤

10月月更

Java面向对象之构造方法

魏铁锤

10月月更

Milvus 2.1 版本更新 - 简单可信赖、性能持续提升

Zilliz

人工智能 开源项目 Milvus 版本更新 向量数据库

DDC SDK的整体设计流程

BSN研习社

【从0到1学算法】4.Bubble Sort算法-上

Geek_65222d

10月月更

如何“阅读”数学?:上海顶尖中学学生的阅读笔记

图灵教育

数学 青少年

如何“阅读”数学?:上海顶尖中学学生的阅读笔记

图灵社区

数学 青少年

leetcode 146. LRU Cache LRU 缓存 (简单)

okokabcd

LeetCode 数据结构与算法

MongoDB新版本特性和未来规划_安全_Roopesh Shenoy_InfoQ精选文章