MongoDB 簡介
什麼是MongoDB ?
MongoDB 是由C++語言編寫的,是基於分散式檔案儲存的開源資料庫系統。
在高負載的情況下,增加更多的節點,可以保證伺服器效能。
MongoDB 旨在為WEB應用提供可擴充的高效能資料儲存解決方案。
MongoDB 將資料儲存為一個文檔,資料結構由鍵值(key=>value)對組成。 MongoDB 文件類似於 JSON 物件。字段值可以包含其他文檔,數組及文檔數組。
主要特點
MongoDB的提供了一個面向文檔存儲,操作起來比較簡單和容易。
你可以在MongoDB記錄中設定任何屬性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")來實現更快的排序。
你可以透過本地或網路建立資料鏡像,這使得MongoDB有更強的擴展性。
如果負載的增加(需要更多的儲存空間和更強的處理能力) ,它可以分佈在電腦網路中的其他節點上這就是所謂的分片。
Mongo支援豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文件中內嵌的物件及陣列。
MongoDb 使用update()指令可以實現替換完成的文件(資料)或一些指定的資料欄位 。
Mongodb中的Map/reduce主要是用來對資料進行批次處理和聚合作業。
Map和Reduce。 Map函數呼叫emit(key,value)遍歷集合中所有的記錄,將key與value傳給Reduce函數處理。
Map函數和Reduce函數是使用Javascript寫的,並且可以透過db.runCommand或mapreduce指令來執行MapReduce動作。
GridFS是MongoDB中的內建功能,可以用來存放大量小檔案。
MongoDB允許在服務端執行腳本,可以用Javascript編寫某個函數,直接在服務端執行,也可以把函數的定義儲存在服務端,下次直接呼叫即可。
MongoDB支援各種程式語言:RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
MongoDB安裝簡單。
歷史 2007年10月,MongoDB由10gen團隊所發展。 2009年2月首度推出。
2012年05月23日,MongoDB2.1 開發分支發佈了! 此版本採用全新架構,包含諸多增強功能。
2012年06月06日,MongoDB 2.0.6 發布,分散式文件資料庫。
2013年04月23日,MongoDB 2.4.3 發布,此版本包含了一些效能最佳化,功能增強以及bug修復。
2013年08月20日,MongoDB 2.4.6 發布,是目前最新的穩定版。
MongoDB 下載
你可以在mongodb官網下載該安裝包,網址為: http://www.mongodb.org/downloads 。 MonggoDB支援以下平台:
OS X 32-bit
OS X 64-bit
- Linux 32-bit
- Linux 64-bit
Windows 32-bitWindows 64-bitSolaris i86pcSolaris 64
- MongoDB工具
- 有幾種可用於MongoDB的管理工具。 監控
- MongoDB提供了網路和系統監控工具Munin,它作為一個插件應用於MongoDB。 Gangila是MongoDB高效能的系統監控的工具,它作為一個外掛程式應用於MongoDB中。
- 基於圖形介面的開源工具 Cacti, 用於查看CPU負載, 網路頻寬利用率,它也提供了一個應用於監控 MongoDB 的插件。 GUI
- Fang of Mongo – 網頁式,由Django和jQuery所構成。
- Futon4Mongo – 一個CouchDB Futon web的mongodb山寨版。
- Mongo3 – Ruby寫成。
MongoHub – 適用於OSX的應用程式。 Opricot – 一個基於瀏覽器的MongoDB控制台, 由PHP撰寫而成。
- Database Master — Windows的mongodb管理工具
- #RockMongo — 最好的PHP語言的MongoDB管理工具,輕量級, 支援多國語言.
- MongoDB 應用程式案例#以下列舉一些公司MongoDB的實際應用:
- Craiglist上使用MongoDB的存檔數十億筆記錄。
- FourSquare,基於位置的社群網站,在Amazon EC2的伺服器上使用MongoDB分享資料。
- Shutterfly,以互聯網為基礎的社會和個人出版服務,使用MongoDB的各種持久性資料儲存的要求。
- bit.ly, 一個基於Web的網址縮短服務,使用MongoDB的儲存自己的資料。
- spike.com,一個MTV網路的聯營公司, spike.com使用MongoDB的。
- Intuit公司,一個為小型企業和個人的軟體和服務供應商,為小型企業使用MongoDB的追蹤使用者的資料。