MongoDB是一款基于分布式文件存儲的開源數據庫系統,可以將數據存儲爲一個文檔,數據結構由鍵值對組成,爲web應用提供可擴展的高性能數據存儲解決方案。爲了方便大家使用小編提供了MongoDB參考手冊,有需要的朋友可以下載!

基本介紹
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高負載的情況下,添加更多的節點,可以保證服務器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
MongoDB特點
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安裝簡單。
mongodb功能
面向集合的存儲:適合存儲對象及JSON形式的數據。
动态查询:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
完整的索引支持:包括文檔內嵌對象及數組。Mongo的查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃。
查詢監視:Mongo包含一個監視工具用于分析數據庫操作的性能。
複制及自動故障轉移:Mongo數據庫支持服務器之間的數據複制,支持主-從模式及服務器之間的相互複制。複制的主要目標是提供冗余及自動故障轉移。
高效的傳統存儲方式:支持二進制數據及大型對象(如照片或圖片)
自動分片以支持雲級別的伸縮性:自動分片功能支持水平的數據庫集群,可動態添加額外的機器。
適用場合
網站數據:Mongo非常適合實時的插入,更新與查詢,並具備網站實時數據存儲所需的複制及高度伸縮性。
缓存:由于性能很高,Mongo也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo搭建的持久化缓存层可以避免下层的数据源 过载。
大尺寸,低價值的數據:使用傳統的關系型數據庫存儲一些數據時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統的文件進行存儲。
高伸縮性的場景:Mongo非常適合由數十或數百台服務器組成的數據庫。Mongo的路線圖中已經包含對MapReduce引擎的內置支持。
用于對象及JSON數據的存儲:Mongo的BSON數據格式非常適合文檔化格式的存儲及查詢。