MongoDB特點與體系結(jié)構(gòu)等簡介
1.1什么是MongoDB
MongoDB 是一個跨平臺的,面向文檔的數(shù)據(jù)庫,是當前 NoSQL 數(shù)據(jù)庫產(chǎn)品中最熱門的一種。它介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的產(chǎn)品。它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似JSON 的 BSON 格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。
MongoDB 的官方網(wǎng)站地址是:http://www.mongodb.org/
1.2 MongoDB特點
MongoDB 最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。它是一個面向集合的,模式自由的文檔型數(shù)據(jù)庫。
具體特點總結(jié)如下:
- (1)面向集合存儲,易于存儲對象類型的數(shù)據(jù)
- (2)模式自由
- (3)支持動態(tài)查詢
- (4)支持完全索引,包含內(nèi)部對象
- (5)支持復(fù)制和故障恢復(fù)
- (6)使用高效的二進制數(shù)據(jù)存儲,包括大型對象(如視頻等)
- (7)自動處理碎片,以支持云計算層次的擴展性
- (8)支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++語言的驅(qū)動程序,社區(qū)中也提供了對 Erlang 及.NET 等平臺的驅(qū)動程序
- (9) 文件存儲格式為 BSON(一種 JSON 的擴展)
1.3 MongoDB體系結(jié)構(gòu)
MongoDB 的邏輯結(jié)構(gòu)是一種層次結(jié)構(gòu)。主要由:
文檔(document)、集合(collection)、數(shù)據(jù)庫(database)這三部分組成的。邏輯結(jié)構(gòu)是面向用戶的,用戶使用 MongoDB 開發(fā)應(yīng)用程序使用的就是邏輯結(jié)構(gòu)。
- (1)MongoDB 的文檔(document),相當于關(guān)系數(shù)據(jù)庫中的一行記錄。
- (2)多個文檔組成一個集合(collection),相當于關(guān)系數(shù)據(jù)庫的表。
- (3)多個集合(collection),邏輯上組織在一起,就是數(shù)據(jù)庫(database)。
- (4)一個 MongoDB 實例支持多個數(shù)據(jù)庫(database)。
文檔(document)、集合(collection)、數(shù)據(jù)庫(database)的層次結(jié)構(gòu)如下圖:
下表是MongoDB與MySQL數(shù)據(jù)庫邏輯結(jié)構(gòu)概念的對比
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- mongodb與sql關(guān)系型數(shù)據(jù)比較
- mongodb使用c#驅(qū)動數(shù)據(jù)插入demo
- c#操作mongodb插入數(shù)據(jù)效率
- mongodb實現(xiàn)數(shù)組對象求和方法實例
- 如何優(yōu)雅的在一臺vps(云主機)上面部署vue+mongodb+express項目
- MongoDB中唯一索引(Unique)的那些事
- MongoDB創(chuàng)建一個索引而性能提升1000倍示例代碼
- pyspark操作MongoDB的方法步驟
- Docker容器化部署嘗試——多容器通信(node+mongoDB+nginx)
- mongodb的寫操作
相關(guān)文章
MongoDB.NET 2.2.4驅(qū)動版本對Mongodb3.3數(shù)據(jù)庫中GridFS增刪改查
這篇文章主要為大家詳細介紹了使用MongoDB.NET 2.2.4驅(qū)動版本對Mongodb3.3數(shù)據(jù)庫中GridFS增刪改查,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11MongoDB在系統(tǒng)數(shù)據(jù)庫local中無法創(chuàng)建用戶的解決辦法
這篇文章主要給大家介紹了關(guān)于MongoDB在系統(tǒng)數(shù)據(jù)庫local中無法創(chuàng)建用戶的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2018-11-11MongoDB中強大的統(tǒng)計框架Aggregation使用實例解析
這篇文章主要介紹了MongoDB中強大的統(tǒng)計框架Aggregation使用實例解析,文中舉了Python和Java使用Aggregation的數(shù)據(jù)統(tǒng)計例子進行講解,需要的朋友可以參考下2016-01-01分布式文檔存儲數(shù)據(jù)庫之MongoDB訪問控制的操作方法
這篇文章主要介紹了分布式文檔存儲數(shù)據(jù)庫之MongoDB訪問控制的操作方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11毫不費力!在Ubuntu上安裝MongoDB7.0的簡易指南!
MongoDB是一種流行的NoSQL數(shù)據(jù)庫管理系統(tǒng),用于處理大量結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù),本文提供了在Ubuntu上安裝MongoDB?7.0的詳細步驟,以下步驟包含了在Ubuntu系統(tǒng)中安裝MongoDB的必要軟件包、配置MongoDB數(shù)據(jù)目錄、配置MongoDB數(shù)據(jù)庫的認證方式等信息,需要的朋友可以參考下2023-10-10MongoDB用Mongoose得到的對象不能增加屬性完美解決方法(兩種)
本文給大家分享兩種解決方案解決MongoDB用Mongoose得到的對象不能增加屬性問題,本文給大家介紹的非常詳細,需要的朋友參考下吧2017-11-11Spring Boot中使用MongoDB數(shù)據(jù)庫的方法
MongoDB是一個高性能,開源,無模式的,基于分布式文件存儲的文檔型數(shù)據(jù)庫,由C++語言編寫,其名稱來源取自“humongous”,是一種開源的文檔數(shù)據(jù)庫──NoSql數(shù)據(jù)庫的一種。這篇文章主要介紹了Spring Boot中使用MongoDB數(shù)據(jù)庫的方法,需要的朋友可以參考下2017-12-12MongoDB磁盤空間占滿導(dǎo)致數(shù)據(jù)庫被鎖定的解決方法
我在實際項目中,遇到一個問題,隨著數(shù)據(jù)每天的不斷增加,導(dǎo)致mongodb的磁盤空間站滿了,數(shù)據(jù)庫被鎖了,無法使用,所以本文給大家介紹了清理MongoDB數(shù)據(jù)和磁盤空間的方法,需要的朋友可以參考下2024-04-04