写点什么

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:164092
用户头像

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

关注

评论

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

自学编程的4大误区,你中招了吗?

田维常

程序员

Java多线程并发控制工具CountDownLatch,实现原理及案例

李尚智

Java 并发编程 后端

看完老板哭着让我留下来!带你彻底搞懂Android启动速度优化!Android篇

欢喜学安卓

android 程序员 面试 移动开发

使用PG_SHOW_PLANS监控PostgreSQL执行计划

PostgreSQLChina

数据库 postgresql 开源

VoltDB成功入选CNCF Landscape云原生数据库全景图

VoltDB

云原生 cncf VoltDB 分布式内存数据库

Filebeat同步写位点文件引发的磁盘IO问题

秦宝齐

泪目!美团点评APP在移动网络性能优化的实践,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

Java多线程并发控制工具信号量Semaphore,实现原理及案例

李尚智

Java Java并发 并发编程 后端

惊艳!阿里人用29篇讲明白了多线程与高并发+设计模式,惊呆了!

996小迁

Java 面试 设计模式 多线程 高并发

吴桐/数字化的下一个十年,你可能不会更幸福

CECBC

数字化时代

大数据应用及其价值

Andy

再见 2020!Apache RocketMQ 发布 4.8.0,DLedger 模式全面提升!

阿里巴巴云原生

阿里云 开发者 云原生 存储 消息中间件

如何在 OpenShift 中运行 Collabora Office

东风微鸣

openshift

HTTP 请求流程

coolion

大前端 浏览器 HTTP

Uniswap去中心化交易所系统开发

W13902449729

去中心化交易所系统开发 uniswap

零基础也能看得懂!Android面试心得必备技能储备详解,Android面试题及解析

欢喜学安卓

android 程序员 面试 移动开发

架构师第7周作业

Geek_xq

年底了,你的数据库密码安全吗

Simon

MySQL 数据库

加密数字货币钱包系统软件开发|加密数字货币钱包APP开发

系统开发

腾讯高工亲授“MySQL学习方法”【思维导图+学习笔记+实战文档+面试题库】让你站在数据库领域的顶峰 笑傲江湖!

比伯

Java 编程 架构 面试 计算机

换个角度,聊聊全链路压测

老张

性能测试 系统稳定性 全链路压测

软件测试---BUG的生命周期

测试人生路

软件测试

AMD台式CPU市场份额距离英特尔还有多远?刚到四分之一

E科讯

MySQL不会丢失数据的秘密,就藏在它的 7种日志里

程序员小富

MySQL

深入分析单例设计模式

Andy

算法学习手册

田维常

算法

云算力挖矿系统APP开发|云算力挖矿软件开发

系统开发

测开之函数进阶· 第8篇《多个装饰器装饰同一个函数,三个内置的装饰器》

清菡软件测试

测试开发

28天写作挑战——坚持28天,每天500字

TGO鲲鹏会

28天写作 热门活动

python 技术面试没过,居然是没有用 pytest 测试框架

和牛

Python 测试 测试框架 pytest

大数据指标分析思考

Andy

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