Mongodb介紹(非原創)

文章大綱

一、什麼是nosql
二、mongodb與mysql比較
三、參考文章

 

一、什麼是nosql

1. 簡介

這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來說的優勢在於簡單、易部署。但是如果DBA只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了

2. NoSQL數據庫的四大分類

鍵值存儲數據庫
這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據。Key/value模型對於IT系統來說的優勢在於簡單、易部署。但是如果DBA只對部分值進行查詢或更新的時候,Key/value就顯得效率低下了。舉例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

列存儲數據庫
這部分數據庫通常是用來應對分佈式存儲的海量數據。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的。如:Cassandra, HBase, Riak.

文檔型數據庫
文檔型數據庫的靈感是來自於Lotus Notes辦公軟件的,而且它同第一種鍵值存儲相類似。該類型的數據模型是版本化的文檔,半結構化的文檔以特定的格式存儲,比如JSON。文檔型數據庫可 以看作是鍵值數據庫的升級版,允許之間嵌套鍵值。而且文檔型數據庫比鍵值數據庫的查詢效率更高。如:CouchDB, MongoDb. 國內也有文檔型數據庫SequoiaDB,已經開源。

圖形(Graph)數據庫
圖形結構的數據庫同其他行列以及剛性結構的SQL數據庫不同,它是使用靈活的圖形模型,並且能夠擴展到多個服務器上。NoSQL數據庫沒有標準的查詢語言(SQL),因此進行數據庫查詢需要制定數據模型。許多NoSQL數據庫都有REST式的數據接口或者查詢API。如:Neo4J, InfoGrid, Infinite Graph.
因此,我們總結NoSQL數據庫在以下的這幾種情況下比較適用:1、數據模型比較簡單;2、需要靈活性更強的IT系統;3、對數據庫性能要求較高;4、不需要高度的數據一致性;5、對於給定key,比較容易映射覆雜值的環境。

3. 適用場景

(1)數據模型比較簡單;
(2)需要靈活性更強的IT系統;
(3)對數據庫性能要求較高;
(4)不需要高度的數據一致性;
(5)對於給定key,比較容易映射覆雜值的環境

4. NoSQL具體產品種類

(1)Redis
(2)Mongodb
(3)HBase等

二、mongodb與mysql比較

1. MySQL

關係型數據庫。
在不同的引擎上有不同 的存儲方式。
查詢語句是使用傳統的sql語句,擁有較爲成熟的體系,成熟度很高。
開源數據庫的份額在不斷增加,mysql的份額頁在持續增長。
缺點就是在海量數據處理的時候效率會顯著變慢。

2. Mongodb

非關係型數據庫(nosql ),屬於文檔型數據庫。先解釋一下文檔的數據庫,即可以存放xml、json、bson類型系那個的數據。這些數據具備自述性(self-describing),呈現分層的樹狀數據結構。數據結構由鍵值(key=>value)對組成。
存儲方式:虛擬內存+持久化。
查詢語句:是獨特的Mongodb的查詢方式。
適合場景:事件的記錄,內容管理或者博客平臺等等。
架構特點:可以通過副本集,以及分片來實現高可用。
數據處理:數據是存儲在硬盤上的,只不過需要經常讀取的數據會被加載到內存中,將數據存儲在物理內存中,從而達到高速讀寫。
成熟度與廣泛度:新興數據庫,成熟度較低,Nosql數據庫中最爲接近關係型數據庫,比較完善的DB之一,適用人羣不斷在增長。
優勢:
快速!在適量級的內存的Mongodb的性能是非常迅速的,它將熱數據存儲在物理內存中,使得熱數據的讀寫變得十分快,
高擴展!
自身的Failover機制!
json的存儲格式!
缺點:主要是無事物機制!

三、參考文章

    1. https://baike.baidu.com/item/NoSQL/8828247?fr=aladdin
    2. https://blog.csdn.net/qq_38314823/article/details/80903405
    3. https://www.cnblogs.com/printN/p/7199928.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章