MongoDB新版本特性

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?

MongoDB索引的使用

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SAP最佳业务实践

SAP最佳业务实践:MM–实际库存/库存盘点和调整(137)-2盘点准备

3、流程概览表 流程步骤业务角色事务代码预期结果创建库存盘点凭证仓库主管MI31系统生成库存盘点凭证。打印库存盘点凭证仓库主管MI21系统生成库存盘点单,打印凭...

47360

比较服务网格体系结构

如果你正在围绕微服务构建您的软件和团队,那么你应该正在寻找更快迭代和灵活扩展的方法。服务网格可以帮助你在保持(或增强)可见性和控制的同时实现这一点。在这篇博客中...

41360
来自专栏Java职业技术分享

不懂高性能的负载均衡设计?没关系,架构师带你飞

在软件系统的架构设计中,对集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案。负载均衡本质上是用于将用户流量进行均衡减压的,因此在互联网的大流量项目中,...

10720
来自专栏Java架构师历程

WebBuilder —— Web 开发平台

WebBuilder是一款跨平台、数据库和浏览器的可视化Web应用开发平台,使用了多项最新的技术,使Web应用的开发更快捷和简单。

1.4K40
来自专栏企鹅号快讯

使用Redis走进误区,该怎么办?

首先是一个产品线开发人员搭建起了一套庞大的价格存储系统,底层是关系型数据库,只用来处理一些事务性的操作和存放一些基础数据; 在关系型数据库的上面还有一套Mong...

29590
来自专栏JAVA高级架构

微服务架构选型实践

背景 随着公司一年多的成长,我们已经开发了数十个项目了,后台有 JAVA 的有 PHP 的,为了更好地提升开发与管理效率,各技术大牛小牛们时常进行激烈的 PK,...

56060
来自专栏大数据钻研

谷歌的代码管理

谷歌和 Facebook 都只有一个代码仓库,全公司的代码都放在这个库里。 我一直很困惑,为什么要这样做,不同语言的项目放在一个库有什么好处? 最新一期的《AC...

38370
来自专栏HaHack

手把手教你编写叮当机器人插件

22060
来自专栏IT派

你还在付费爱奇艺VIP?神级程序员教你用Python任意下!

我相信如果看电影的都知道,不管是爱奇艺还是腾讯视频还是优酷很多的电影电视都是需要VIP的,但是为了看这么一个电视或者电影开个vip又不是很划算,小编今天教大家如...

31940
来自专栏杨建荣的学习笔记

数据库无响应问题的紧急处理和分析 (r10笔记第42天)

黄金周里处理了一起紧急的问题,在外面幸亏有同事帮忙协助,等我赶回家去,赶紧继续处理。 首先问题是在晚饭时间左右开始发生,但是过了没多久又恢复了,所以这个问题暂时...

340120

扫码关注云+社区

领取腾讯云代金券