MongoDB :第一章:了解一下

MongoDB簡(jiǎn)介
什么是MongoDB

MongoDB 是一個(gè)跨平臺(tái)的,面向文檔的數(shù)據(jù)庫(kù),是當(dāng)前 NoSQL 數(shù)據(jù)庫(kù)產(chǎn)品中最熱門的一種。它介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的產(chǎn)品。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似JSON  的 BSON 格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。

MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫。旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。

MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。

MongoDB 的官方網(wǎng)站地址是:http://www.mongodb.org/

 










MongoDB特點(diǎn)

MongoDB 最大的特點(diǎn)是他支持的查詢語(yǔ)言非常強(qiáng)大,其語(yǔ)法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z(yǔ)言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,而且還支持對(duì)數(shù)據(jù)建立索引。它是一個(gè)面向集合的,模式自由的文檔型數(shù)據(jù)庫(kù)。

具體特點(diǎn)總結(jié)如下:

(1)面向集合存儲(chǔ),易于存儲(chǔ)對(duì)象類型的數(shù)據(jù)

(2)模式自由

(3)支持動(dòng)態(tài)查詢

(4)支持完全索引,包含內(nèi)部對(duì)象

(5)支持復(fù)制和故障恢復(fù)

(6)使用高效的二進(jìn)制數(shù)據(jù)存儲(chǔ),包括大型對(duì)象(如視頻等)

(7)自動(dòng)處理碎片,以支持云計(jì)算層次的擴(kuò)展性

(8)支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++語(yǔ)言的驅(qū)動(dòng)程序,社區(qū)中也提供了對(duì) Erlang 及.NET 等平臺(tái)的驅(qū)動(dòng)程序

(9) 文件存儲(chǔ)格式為 BSON(一種 JSON 的擴(kuò)展)
MongoDB體系結(jié)構(gòu)

MongoDB 的邏輯結(jié)構(gòu)是一種層次結(jié)構(gòu)。主要由:

文檔(document)、集合(collection)、數(shù)據(jù)庫(kù)(database)這三部分組成的。邏輯結(jié)構(gòu)是面向用戶

的,用戶使用 MongoDB 開發(fā)應(yīng)用程序使用的就是邏輯結(jié)構(gòu)。

(1)MongoDB 的文檔(document),相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的一行記錄。

(2)多個(gè)文檔組成一個(gè)集合(collection),相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)的表。

(3)多個(gè)集合(collection),邏輯上組織在一起,就是數(shù)據(jù)庫(kù)(database)。

(4)一個(gè) MongoDB 實(shí)例支持多個(gè)數(shù)據(jù)庫(kù)(database)。

文檔(document)、集合(collection)、數(shù)據(jù)庫(kù)(database)的層次結(jié)構(gòu)如下圖:

 



















下表是MongoDB與MySQL數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)概念的對(duì)比