MongoDB 2.4已經(jīng)發(fā)布,該版本增加了一些新特性,如文本搜索、基于哈希的分片、更好的地理空間功能、支持GeoJSON以及一些性能和工具方面的提升。我們還和10gen討論了MongoDB接下來的路線圖。
一些關(guān)鍵的提升如下:
- 引入了 文本搜索 ,現(xiàn)在是一個測試功能,支持15種語言的詞干和斷詞
- 基于哈希的分片 ,用于數(shù)據(jù)交叉?zhèn)鞑r不能輕易預(yù)測任何自然分片鍵的情況
- 地理空間索引 和GeoJSON支持
- 安全提升——新的模塊化 身份認(rèn)證系統(tǒng) 、與Kerberos集成以及 基于角色的訪問控制
- 一些性能提升,最重要的一項(xiàng)是針對計(jì)數(shù)和聚合等專門場景的提升
- 使用V8作為Mongo Shell內(nèi)部默認(rèn)的JavaScript引擎(代替了SpiderMonkey),進(jìn)而提升了基于JavaScript的操作的性能和并發(fā)性
- 用于監(jiān)控集群狀態(tài)的其他指標(biāo)
10gen還介紹了同2.4版一起發(fā)布的一款 企業(yè)版MongoDB 。
為了了解新特性和將來規(guī)劃的更多信息,我們聯(lián)系了10gen的產(chǎn)品市場總監(jiān) Kelly Stirman 。
Kelly解釋了為什么集合級別的鎖可能對MongoDB沒有意義:
版本2.2對鎖做了改進(jìn),通過降低鎖競爭為寫吞吐量帶來了實(shí)質(zhì)性的好處。David Mytton寫了一篇非常好的 與該主題相關(guān)的文章 。
除了2.0和2.2版本中所提供的改進(jìn),MongoDB 2.4并沒有包含任何額外粒度的鎖。我們正在考慮在2.6版本中引入文檔級別的鎖。鎖產(chǎn)生的提升已經(jīng)足夠了,集合級別的鎖可能不會再帶來其他重要的提升了,因此文檔級別的鎖可能是下一個方向。
關(guān)于何時使用基于范圍的分片而不是新的基于哈希的分片,Kelly說:
什么時候使用基于范圍的分片呢?如果你的應(yīng)用程序基于一個分片鍵范圍請求數(shù)據(jù),那么這些查詢會被路由到合適的分片,通常只有一個分片,特殊情況下可能有一些分片。在一個使用了基于哈希分片的系統(tǒng)中,同樣的查詢會將請求路由到更多的分片,可能是所有的分片。理想情況下,我們希望查詢會被路由到一個單獨(dú)的分片或者盡可能少的分片,因?yàn)檫@樣的擴(kuò)展能力要比將所有的查詢路由到所有的分片好。因此,如果你非常理解自己的數(shù)據(jù)和查詢,那么基于范圍的分片可能是最好的選擇。
在MongoDB 2.4中計(jì)數(shù)速度最高可以提升20倍,同時聚合框架平均要快3到5倍。Kelly解釋說計(jì)數(shù)性能的提升受益于MongoDB中B樹遍歷性能的一些提升——基于索引的低基數(shù)計(jì)數(shù)是最大的提升。聚合框架性能的提升實(shí)際上是對MongoDB內(nèi)部實(shí)現(xiàn)做的很多小變動引起的,它們一起帶來了具大的好處。
接下來將會增加哪些企業(yè)特性:
MongoDB 2.4在安全和監(jiān)控領(lǐng)域?qū)崿F(xiàn)了一些重大舉措,但是對于將來的版本我們還有很多計(jì)劃。我們將沿著認(rèn)證、授權(quán)和審計(jì)三個維度進(jìn)行安全控制。將來版本的MongoDB將繼續(xù)關(guān)注這些領(lǐng)域,同時我們還會繼續(xù)增強(qiáng)我們?yōu)镸ongoDB提供的工具。 MongoDB監(jiān)控服務(wù) (MMS)在MongoDB社區(qū)已經(jīng)非常流行,有超過15,000位用戶并在持續(xù)增長。我們將繼續(xù)對MMS進(jìn)行投資,為用戶提供免費(fèi)的云工具,同時提供本地產(chǎn)品作為我們企業(yè)訂閱服務(wù)的一部分。
如果你想了解更多與MongoDB 2.4新特性相關(guān)的信息,可以閱讀 發(fā)行說明 和 概述 。
查看英文原文: MongoDB Gets Better Security, Text Search, Performance Improvements – What’s Next?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
