MongoDB的集合(collection)可以看做關系型數(shù)據(jù)庫的表,文檔對象(document)可以看做關系型數(shù)據(jù)庫的一條記錄。但兩者并不完全對等。表的結構是固定的,MongoDB集合并沒有這個約束;另外,存入集合的文檔對象甚至可以嵌入子文檔,或者“子集合”。他們最終都可以用類似于BJSON的格式描述。
mongodb特點
高性能、易部署、易使用,存儲數(shù)據(jù)非常方便。主要功能特性有:
面向集合存儲,易存儲對象類型的數(shù)據(jù)。
模式自由。
支持動態(tài)查詢。
支持完全索引,包含內(nèi)部對象。
支持查詢。
支持復制和故障恢復。
使用高效的二進制數(shù)據(jù)存儲,包括大型對象(如視頻等)。
自動處理碎片,以支持云計算層次的擴展性
支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++語言的驅動程序,社區(qū)中也提供了對Erlang及.NET等平臺的驅動程序。
文件存儲格式為BSON(一種JSON的擴展)。
可通過網(wǎng)絡訪問。
mongodb功能
面向集合的存儲:適合存儲對象及JSON形式的數(shù)據(jù)。
動態(tài)查詢:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內(nèi)嵌的對象及數(shù)組。
完整的索引支持:包括文檔內(nèi)嵌對象及數(shù)組。Mongo的查詢優(yōu)化器會分析查詢表達式,并生成一個高效的查詢計劃。
查詢監(jiān)視:Mongo包含一個監(jiān)視工具用于分析數(shù)據(jù)庫操作的性能。
復制及自動故障轉移:Mongo數(shù)據(jù)庫支持服務器之間的數(shù)據(jù)復制,支持主-從模式及服務器之間的相互復制。復制的主要目標是提供冗余及自動故障轉移。
高效的傳統(tǒng)存儲方式:支持二進制數(shù)據(jù)及大型對象(如照片或圖片)
自動分片以支持云級別的伸縮性:自動分片功能支持水平的數(shù)據(jù)庫集群,可動態(tài)添加額外的機器。
mongodb適用場合
網(wǎng)站數(shù)據(jù):Mongo非常適合實時的插入,更新與查詢,并具備網(wǎng)站實時數(shù)據(jù)存儲所需的復制及高度伸縮性。
緩存:由于性能很高,Mongo也適合作為信息基礎設施的緩存層。在系統(tǒng)重啟之后,由Mongo搭建的持久化緩存層可以避免下層的數(shù)據(jù)源 過載。
大尺寸,低價值的數(shù)據(jù):使用傳統(tǒng)的關系型數(shù)據(jù)庫存儲一些數(shù)據(jù)時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統(tǒng)的文件進行存儲。
高伸縮性的場景:Mongo非常適合由數(shù)十或數(shù)百臺服務器組成的數(shù)據(jù)庫。Mongo的路線圖中已經(jīng)包含對MapReduce引擎的內(nèi)置支持。
用于對象及JSON數(shù)據(jù)的存儲:Mongo的BSON數(shù)據(jù)格式非常適合文檔化格式的存儲及查詢。
- PC官方版
- 安卓官方手機版
- IOS官方手機版