溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB為什么在數(shù)據(jù)庫排行前五

發(fā)布時間:2021-08-07 10:33:05 來源:億速云 閱讀:197 作者:小新 欄目:MongoDB數(shù)據(jù)庫

這篇文章主要介紹了MongoDB為什么在數(shù)據(jù)庫排行前五,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

DB-Engines 數(shù)據(jù)庫流行度排行榜發(fā)布了5 月份的數(shù)據(jù),前六名的排名“千年不變”,分別是:Oracle、MySQL、Microsoft SQL Server、PostgreSQL、MongoDB 和IBM Db2。而其中,MongoDB以比去年同期超出65.96分的成績繼續(xù)雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名全榜第二。

MongoDB為什么在數(shù)據(jù)庫排行前五

作為排名前二十中唯一被標注為文檔型數(shù)據(jù)庫的MongoDB,能夠取得這樣的成績實屬不易。2007年,Dwight Merriman, Eliot Horowitz和Kevin Ryan成立了MongoDB的前身10gen軟件公司,在成立之初,這家的公司目標是為企業(yè)提供云計算服務。在開發(fā)云計算產(chǎn)品時,他們準備開發(fā)一個類似于數(shù)據(jù)庫的組件,為云計算產(chǎn)品提供存儲服務。當時是關系型數(shù)據(jù)庫一統(tǒng)天下的時代,但他們覺得傳統(tǒng)的關系型數(shù)據(jù)庫無法滿足他們的要求,他們想要一款程序員不懂SQL語言也可以使用的數(shù)據(jù)存儲產(chǎn)品。在網(wǎng)絡上找了一圈,不管是開源的還是閉源的產(chǎn)品,都沒找到讓他們滿意的東西,于是他們就決定自己開發(fā)數(shù)據(jù)庫。

10gen公司不使用關系型數(shù)據(jù)庫是有一定的原因的,實際上,10gen的創(chuàng)始人都來自谷歌,他們曾經(jīng)創(chuàng)建了一家叫做DoubleClick的廣告公司,后來該公司被谷歌收購。當時他們還在DoubleClick公司的時候,就吃過關系型數(shù)據(jù)庫的苦頭。DoubleClick是一家網(wǎng)絡廣告公司,服務美國眾多的知名公司,該公司每秒提供40萬個廣告,但在可伸縮性和敏捷性方面經(jīng)常遇到困難,因此他們不得不經(jīng)常自己開發(fā)和使用許多自定義數(shù)據(jù)存儲來解決現(xiàn)有關系型數(shù)據(jù)庫的不足,這讓他們很是苦惱。因此他們決定開發(fā)一款數(shù)據(jù)庫產(chǎn)品解決他們在DoubleClick時遇到的問題,并為自己的云計算產(chǎn)品提供存儲服務。

2009年,經(jīng)過將近2年的開發(fā),10gen開發(fā)出了MongoDB的雛形并將它開源并正式命名為MongoDB,同時成立開源社區(qū),通過社區(qū)運營MongoDB。MongoDB并不是“芒果數(shù)據(jù)庫”,Mongo取自單詞humongous的中間部分,意味巨大無比的數(shù)據(jù)庫,能夠存儲海量的數(shù)據(jù)庫。10gen將MongoDB定義為面向集合、模式自由、自由擴展、使用程序語言和API訪問的文檔數(shù)據(jù)庫。

MongoDB有別于當時其他的數(shù)據(jù)庫產(chǎn)品,使用和安裝都非常方便,在代碼中通過API就可以操作數(shù)據(jù),在當時引起不小的轟動,加上NoSQL非關系型數(shù)據(jù)庫概念開始火起來以及大數(shù)據(jù)的需求,天時地利人和,MongoDB逐漸流行起來。現(xiàn)在,MongoDB股價已經(jīng)突破百元大關,市值達到90億美元。

縱觀MongoDB將近12年的發(fā)展史,我們可以清晰的看到一個數(shù)據(jù)庫廠商的成長軌跡,以及它之所以能夠取得成功的幾個原因,即產(chǎn)品定位、技術創(chuàng)新、運營模式、目標愿景。

產(chǎn)品定位:領先的現(xiàn)代通用數(shù)據(jù)庫

雖然以文檔數(shù)據(jù)庫起家,但時至今日,MongoDB已經(jīng)遠遠不是一個文檔數(shù)據(jù)庫的概念所可以囊括的,更多的,MongoDB應該被稱作是一款現(xiàn)代通用數(shù)據(jù)庫平臺。按照MongoDB 全球高級工程副總裁Richard Kreuter的解釋,MongoDB不是一款僅僅只能在單一或某類特定場景應用的數(shù)據(jù)庫平臺,它能夠廣泛的應用于各種應用場景中,譬如搜索、網(wǎng)站實時數(shù)據(jù)、數(shù)據(jù)緩存、大尺寸、歷史數(shù)據(jù)存儲、高伸縮性場景、對象或JSON 數(shù)據(jù)存儲等。另外,MongoDB具有非常好的靈活性,可以隨用戶的需求快速開發(fā)。MongoDB文檔型數(shù)據(jù)庫的特點與傳統(tǒng)關系型的表列相比更具有彈性,同時還能做事務性交易,而且,MongoDB可以直接在內(nèi)存中對數(shù)據(jù)進行運算,具有很高的速度和效率。因此,現(xiàn)在版本的MongoDB可以支撐各種各樣的應用場景的開發(fā)需求。

但Richard強調,雖然MongoDB致力于滿足80%的用戶的需要,但在各個版本當中,MongoDB也會針對普遍的特殊需求推出新的功能,例如,在最新的4.0版本,MongoDB就推出了多文檔ACID事務(multi-document ACID transactions)。這也是為什么到現(xiàn)在為止,MongoDB已經(jīng)擁有超過1萬多個企業(yè)版正式付費用戶的原因。實際上,目前,MongoDB在各行各業(yè)、各個地區(qū)和國家之間擁有很廣泛的用戶。在世界“財富一百強”企業(yè)中,一半以上的用戶都在使用MongoDB,而在一些重點行業(yè),如金融、電信、制造業(yè)、電子商務、電商游戲等領域的關鍵應用中,MongoDB正在被廣泛應用,這也從另一個側面證明了MongoDB產(chǎn)品定位的成功。

MongoDB為什么在數(shù)據(jù)庫排行前五

MongoDB 全

球高級工程副總裁Richard Kreuter

技術創(chuàng)新:最好的數(shù)據(jù)建模數(shù)據(jù)庫

而在技術層面,MongoDB是“最好的數(shù)據(jù)建模數(shù)據(jù)庫”,Richard對此解釋道,傳統(tǒng)關聯(lián)性數(shù)據(jù)庫最早都是用表、列方式來建模,但按此方法完成數(shù)據(jù)建模后,各個表的關聯(lián)非常復雜,在這種情況下,想要保持數(shù)據(jù)庫的彈性是非常困難的,譬如,想要為數(shù)據(jù)庫增加一個字段,通常就需要通過分表、分庫以及停機等很多復雜的操作才能實現(xiàn)。而MongoDB從設計之初就認識到了彈性對于數(shù)據(jù)庫的重要性,因此,MongoDB的數(shù)據(jù)建模方式就是要保持這種彈性,能夠依據(jù)需求很容易更改,而數(shù)據(jù)庫本身的運行不受影響。

MongoDB之所以稱作文檔型數(shù)據(jù)庫,是因為其將所有的數(shù)據(jù)都存儲在了一個文檔中,由于采用了BSON的方式存儲數(shù)據(jù),故而對JSON格式數(shù)據(jù)具有非常好的支持性以及友好的表結構修改性,文檔式的存儲方式,數(shù)據(jù)友好可見。相比于傳統(tǒng)數(shù)據(jù)庫需相對復雜的表、庫進行操作以及多次存取數(shù)據(jù),MongoDB開發(fā)人員不用去記那些表、庫之間的各種復雜關系、只需一次存取,就可拿到想要的數(shù)據(jù),因此,對開發(fā)而言是更容易使用而且是效果更高的。

此外,MongoDB的運行環(huán)境非常廣泛,這也是MongoDB之所以受到眾多用戶青睞的一個重要原因,它可以運行在本地的機器上,運行在任何一家云上,可以運行在服務器上,筆記本上,甚至還可以在手機上很流暢的使用,而這可以被稱作是MongoDB的“殺手锏”,因為除了MongoDB之外,沒有任何數(shù)據(jù)庫可以實現(xiàn)跨越所有的端來運行。這也是當時開發(fā)MongoDB的一個宗旨,即開源,不受任何約制,任何人在任何時間任何地點都可以運行MongoDB。Richard強調,MongoDB同時也有一個叫做Atlas的云服務,目前已經(jīng)在AWS、Google、Azure上提供MongoDB數(shù)據(jù)庫云服務。

Richard總結了MongoDB的最大優(yōu)勢,他認為,所謂最優(yōu)首先就是要看在各種情況之下對使用者有價值,這才叫最優(yōu)。MongoDB的文檔就是一個JSON格式,這是最廣泛應用于交換或是處理數(shù)據(jù)的一種基本格式。各種網(wǎng)頁、移動應用,或者很多商業(yè)應用都是用JSON處理數(shù)據(jù)。MongoDB在處理數(shù)據(jù)和儲存時直接使用JSON格式的數(shù)據(jù),是原生的JSON存儲,不管是處理、聚合,還是更新,都直接通過JSON來做處理,這就和其他所有的數(shù)據(jù)庫是完全不一樣的處理方式。其次,MongoDB的核心是一個原生的分布式的數(shù)據(jù)庫,它有非常豐富的功能支持復制數(shù)據(jù),同時可以快速的水平擴展,隨需而用。同時,MongoDB還具有傳統(tǒng)數(shù)據(jù)庫的優(yōu)點,比如能夠很快的去區(qū)隔,能夠保持數(shù)據(jù)的強一致性等等。而且目前,MongoDB最新的4.0版本已經(jīng)可以支持以前傳統(tǒng)關系型數(shù)據(jù)庫才能支持的多文檔事務性的交易,并且在應對傳統(tǒng)大規(guī)模分布式數(shù)據(jù)庫中最大的挑戰(zhàn)——數(shù)據(jù)均衡方面,4.0版本的速度提高了40%,就用戶體驗方面而言,這又是一個非常重要、也非常吸引人的功能提升。

運營模式:堅定不移的開放和開源

不過,一個產(chǎn)品的成功,并不僅僅是依靠明晰的產(chǎn)品定位和不斷創(chuàng)新的技術,商業(yè)模式也非常重要。而MongoDB的成功當然也離不開成功的運營模式,而這個運營模式就是開放和開源。

實際上,早在2009年,MongoDB剛剛開發(fā)出數(shù)據(jù)庫的雛形時就同時成立了MongoDB的開源社區(qū),堅持通過社區(qū)運營MongoDB。MongoDB一直通過開源社區(qū)擴大MongoDB的影響力,吸引程序員入住社區(qū),在社區(qū)按照不同地區(qū)成立不同的用戶組,MongoDB剛推向市場的時候,BUG不少,但是MongoDB的開發(fā)人員解決問題很及時,態(tài)度非常友好,程序員是一個很實在的群里,當他發(fā)現(xiàn)你的產(chǎn)品好用時,并且能夠及時幫你解決問題時,就會向同行推薦你的產(chǎn)品,這使得MongoDB迅速贏得了眾多開發(fā)者的好感。

Richard當然也非常清楚這一點,因此,他是MongoDB開源的堅定支持者。Richard表示,MongoDB堅持一定要有社區(qū)版的數(shù)據(jù)庫,一方面是因為開發(fā)者比較傾向于使用開源的技術,另一方面,是因為開發(fā)MongoDB的初衷就是為了讓開發(fā)者能夠更簡單和容易的使用數(shù)據(jù)庫,而開源是實現(xiàn)這個初衷的最好方法。而且,MongoDB并不反對開發(fā)者對開源版本的MongoDB進行修改。當然,這種修改必須反饋回社區(qū),這就是所謂的Copyleft License。MongoDB自始至終就有Copyleft License。而在去年,針對社區(qū)版,MongoDB還提出了SSPL License,即將MongoDB作為云服務提供時,云服務提供者要把所有相關修改的內(nèi)容和操作平臺開源出來,而這也是為了將開源的成果更好的分享給所有的使用者。

Richard強調,MongoDB完全由自己開發(fā),擁有該產(chǎn)品所有的IP,之所以決定將MongoDB開放出來作開源,就是希望能夠構建一個開源數(shù)據(jù)庫健康發(fā)展的環(huán)境,鼓勵更多的軟件開發(fā)商來做開源這件事,而MongoDB以后也會一如既往的持續(xù)保持開源的狀態(tài)。

而另一個對于MongoDB非常重要的運營就是一年一度的MongoDB大會。MongoDB非常重視MongoDB大會,在全球主要城市/地區(qū)每年都會舉辦一次MongoDB大會,在MongoDB大會上,會邀請技術大牛做一些項目上使用MongoDB的干貨分享,并與與會觀眾進行面對面的技術交流。而就在前些天,MongoDB在上海浦東星河灣大酒店成功舉辦了“2019 MongoDB中國用戶大會”。在這場干貨滿滿的數(shù)據(jù)庫技術盛會中,來自全國各地近千名行業(yè)客戶、合作伙伴和開發(fā)者聆聽了MongoDB高層、技術大咖、行業(yè)用戶的主題演講和互動演示,共同回顧了MongoDB過去一年的發(fā)展歷程和所取得的不凡成績,了解了MongoDB數(shù)據(jù)庫最新的特性和功能。而類似這樣的活動,無疑極大地推動了MongoDB在市場上的影響力。

沒有人使用的技術沒有生命力

Richard最后表示,從1960年數(shù)據(jù)庫誕生至今,數(shù)據(jù)庫已經(jīng)迅速轉變?yōu)閼卯斨信e足輕重的部分,數(shù)據(jù)庫的設計也隨著應用需求的設計不斷成長。過去,開發(fā)應用可能只是公司企業(yè)內(nèi)部的應用,產(chǎn)生的數(shù)據(jù)量不大,變化也不多,所以當時數(shù)據(jù)庫盡量做的精簡,因為存儲太過昂貴。90年代,互聯(lián)網(wǎng)開始流行起來,網(wǎng)上應用層出不窮,應用開發(fā)需求發(fā)生了巨大改變,使用者的數(shù)量也是大幅提升。而在移動互聯(lián)時代,應用變成了隨時隨地,從而顛覆了應用開發(fā)的生態(tài)和需求,也驅動了數(shù)據(jù)庫的變革。所以不太可能再按照傳統(tǒng)數(shù)據(jù)庫的方式去設計數(shù)據(jù)庫產(chǎn)品。因此,未來的數(shù)據(jù)庫應該是能夠更加快速和敏捷的進行數(shù)據(jù)的收集和處理,并具有靈活的彈性擴展能力,而這也是MongoDB未來的發(fā)展方向,同時也是支撐MongoDB前進的動力。

“我認為數(shù)據(jù)庫技術前進的阻力,并不是數(shù)據(jù)庫技術本身的挑戰(zhàn),而是在各方面幫助企業(yè)適應瞬息萬變的業(yè)務需求的挑戰(zhàn)。軟件不是自己去運行,而是要人去用。因此,事實上,最大的挑戰(zhàn)是人。數(shù)據(jù)庫永遠有新的技術瓶頸,技術沒有窮盡,但更重要的是變化,是怎么樣花更多的精力和時間來推動這些技術能夠被用起來。沒有人使用的技術是沒有生命的。”Richard說。

“技術以人為本”,這是老孫在聽了Richard的話之后第一時間想到的一句話。這或許也是MongoDB能夠取得成功的一個重要原因吧。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“MongoDB為什么在數(shù)據(jù)庫排行前五”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI