轉(zhuǎn)載( NoSQL代表: Mongo DB(芒果數(shù)據(jù)庫) )
一 、MongoDB簡介
??????? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。其名字來自humongous這個單詞的中間部分,從名字可見其野心所在就是海量數(shù)據(jù)的處理。(humongous: 堆積如山 )2011年將被記住,因?yàn)檫@一年SQL將死;這一年,關(guān)系數(shù)據(jù)庫從一線退下;這一年開發(fā)人員發(fā)現(xiàn)他們沒必要為了持久化數(shù)據(jù),而將每個對象轉(zhuǎn)化為表格結(jié)構(gòu)。
??????? 2011年是文檔數(shù)據(jù)庫的一年,盡管一直在穩(wěn)步發(fā)展勢頭,通過過去八年多的發(fā)展,現(xiàn)在有各種穩(wěn)定的文檔數(shù)據(jù)庫從基于亞馬遜和谷歌的云,到各種開放源碼工具,尤其是MongoDB。
那么,MongoDB是什么?這里的五件事是每個開發(fā)人員應(yīng)該知道的:
- MongoDB是一個獨(dú)立的服務(wù)器;
- 它是基于文檔的,而不是基于表格的;
- 它是非結(jié)構(gòu)化的;
- 不必去學(xué)習(xí)另一種查詢語言;
- 它具有強(qiáng)大的主流開發(fā)語言支持,如 C#、C++、Java、PHP、Perl、Python、Ruby。
?????? 1、MongoDB 是一個獨(dú)立的服務(wù)器
如MySQL或PostgreSQL一樣,MongoDB提供偵聽端口以便接入。它提供了用于查詢,創(chuàng)建,更新和刪除的工具。從理論上講,你使用它的工作方式與你使用MySQL或PostgreSQL的工作方式相同:連接,執(zhí)行任務(wù),并關(guān)閉連接。
2、MongoDB是非結(jié)構(gòu)化的
MongoDB 沒有結(jié)構(gòu)化語言。如果你想創(chuàng)建一個新的文檔類型,你不用做任何事來告訴數(shù)據(jù)庫關(guān)于這些數(shù)據(jù)的結(jié)構(gòu),而僅僅是存到數(shù)據(jù)庫中即可。
簡單的說,MongoDB使用類似JavaScript或PHP的類型處理方式。也就是說,數(shù)據(jù)庫是靈活的弱類型。
雖然有一些數(shù)據(jù)是有限制條件的(大塊的數(shù)據(jù)可能需要一些明確的處理),但在大多數(shù)情況下,你可以像寫PHP代碼一樣編寫你的MongoDB代碼。
3、不必去學(xué)習(xí)另一種查詢語言
還記得這些你寫的數(shù)據(jù)庫抽象層嗎?還記得那些你處理過的ORM層嗎?現(xiàn)在,你可以將它們?nèi)縼G棄。在MongoDB中你不需要他們。MongoDB沒有很多查詢語句。在大多數(shù)情況下,只需給它一個數(shù)組指定你想要的信息,然后它會給你返回文檔的數(shù)組。如果你想運(yùn)行一些非常復(fù)雜的查詢(如Map-Reduce操作),可以向MongoDB傳遞JavaScript,其內(nèi)部的JavaScript引擎可以解析這個腳本。
4、MongoDB是神速的
開發(fā)時間也短,因?yàn)闆]有結(jié)構(gòu)需要管理和很少(如果有的話)的數(shù)據(jù)映射。
學(xué)習(xí)曲線很平滑,因?yàn)闆]有新的查詢語言學(xué)習(xí)。代碼是簡潔的。畢竟,無須任何其他ORM,封裝可以非常簡單。你的代碼是未來的保證。向你的對象增加更多的字段是很輕松的。因此,需求變化了,你可以很快修改代碼以便適應(yīng)。
MongoDB足以讓我意識到它有改變游戲規(guī)則的潛力。這也是讓大家主張使用新一代的文檔數(shù)據(jù)庫代替基于SQL的關(guān)系數(shù)據(jù)庫的原因。將關(guān)系數(shù)據(jù)庫留在塵土里,更可能的是讓它們做它們能做好的事情:存儲屬于行和表的數(shù)據(jù)。
二、MongoDB服務(wù)器安裝
MongoDB的官方下載站是http://www.mongodb.org/downloads,可以去上面下載最新的程序下來。在下載頁面可以看到,對操作系統(tǒng)支持很全面,OS X、Linux、Windows、Solaris都支持,而且都有各自的32位和64位版本。目前的穩(wěn)定版本是1.8.1版本。
注意:
?
1. MongoDB 1.8.1 Linux版要求glibc必須是2.5以上,所以需要先確認(rèn)操作系統(tǒng)的glibc的版本,筆者最初用Linux AS 4安裝不上,最后用的是RHEL5來安裝才成功的;
2. 在32位平臺MongoDB不允許數(shù)據(jù)庫文件(累計(jì)總和)超過2G,而64位平臺沒有這個限制。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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