MongoDB介紹
MongoDB是什么?
{“name”:”mongo”,”type”:”DB”}
MongoDB(from “humongous”)
是一個可擴(kuò)展蒙兰,高性能,開放源碼雪情,
面向文檔的數(shù)據(jù)庫冬念,使用C++編寫。
主要功能特性:
◆面向集合存儲吗货,易存儲對象類型的數(shù)據(jù)
“面向集合”(Collenction-Orented),意思是數(shù)據(jù)被分組存儲在數(shù)據(jù)集中狈网,被稱為一個集合(Collenction)宙搬。每個集合在數(shù)據(jù)庫中都有一個唯一的標(biāo)識名,并且可以包含無限數(shù)目的文檔拓哺。集合的概念類似關(guān)系型數(shù)據(jù)庫(RDBMS)里的表(table)勇垛,不同的是它不需要定義任何模式(schema)。
◆模式自由
模式自由(schema-free)士鸥,意味著對于存儲在mongodb數(shù)據(jù)庫中的文件闲孤,我們不需要知道它的任何結(jié)構(gòu)定義。如果需要的話烤礁,你完全可以把不同結(jié)構(gòu)的文件存儲在同一個數(shù)據(jù)庫里讼积。
◆支持動態(tài)查詢
◆支持完全索引,包含內(nèi)部對象
◆支持查詢
◆支持復(fù)制和故障恢復(fù)
◆使用高效的二進(jìn)制數(shù)據(jù)存儲脚仔,包括大型對象(如視頻等)
◆自動處理碎片勤众,以支持云計算層次的擴(kuò)展性
◆支持RUBY,PYTHON鲤脏,JAVA们颜,C++吕朵,PHP等多種語言
◆文件存儲格式為BSON(一種JSON的擴(kuò)展)
BSON(Binary Serialized Document Format)存儲形式是指:存儲在集合中的文檔,被存儲為鍵-值對的形式掌桩。鍵用于唯一標(biāo)識一個文檔边锁,為字符串類型,而值則可以是各中復(fù)雜的文件類型波岛。
◆可通過網(wǎng)絡(luò)訪問
MongoDB服務(wù)端可運行在Linux茅坛、Windows或OS X平臺,支持32位和64位應(yīng)用则拷,默認(rèn)端口為27017贡蓖。推薦運行在64位平臺,因為MongoDB在32位模式運行時支持的最大文件尺寸為2GB煌茬。
MongoDB把數(shù)據(jù)存儲在文件中(默認(rèn)路徑為:/data/db)斥铺,為提高效率使用內(nèi)存映射文件進(jìn)行管理。
面向集合(Collenction-Orented)
?意思是數(shù)據(jù)被分組存儲在數(shù)據(jù)集中被稱為一個集合(Collenction)坛善。每個集合在數(shù)據(jù)庫中都有一個唯一的標(biāo)識名晾蜘,并且可以包含無限數(shù)目的文檔。集合的概念類似關(guān)系型數(shù)據(jù)庫里的表,不同的是它不需要定義任何模式眠屎。
模式自由(schema-free)
?意思是集合里面沒有列和行的概念剔交,下面兩個記錄可以存在于同一個集合里面:
{“name" : “mongo"}
{"age" : 25}
文檔型(documents)
?意思是我們存儲的數(shù)據(jù)是鍵-值對的集合,鍵是字符串,值可以是數(shù)據(jù)
類型集合里的任意類型,包括數(shù)組和文檔,每一個文檔相當(dāng)于關(guān)系數(shù)據(jù)庫中的一條記錄。