當前位置:成語大全網 - 新華字典 - mysql mongodb區別

mysql mongodb區別

前言:

MySQL與MongoDB都是開源的常用數據庫,但是MySQL是傳統的關系型數據庫,MongoDB則是非關系型數據庫,也叫文檔型數據庫,是壹種NoSQL的數據庫。它們各有各的優點,關鍵是看用在什麽地方。所以我們所熟知的那些SQL語句就不適用於MongoDB了,因為SQL語句是關系型數據庫的標準語言。

壹、關系型數據庫-MySQL

1、在不同的引擎上有不同的存儲方式。

2、查詢語句是使用傳統的sql語句,擁有較為成熟的體系,成熟度很高。

3、開源數據庫的份額在不斷增加,mysql的份額頁在持續增長。

4、缺點就是在海量數據處理的時候效率會顯著變慢。

二、非關系型數據庫-MongoDB

非關系型數據庫(nosql ),屬於文檔型數據庫。先解釋壹下文檔的數據庫,即可以存放xml、json、bson類型系那個的數據。這些數據具備自述性,呈現分層的樹狀數據結構。數據結構由鍵值(key=>value)對組成。

1、存儲方式:虛擬內存+持久化。

2、查詢語句:是獨特的MongoDB的查詢方式。

3、適合場景:事件的記錄,內容管理或者博客平臺等等。

4、架構特點:可以通過副本集,以及分片來實現高可用。

5、數據處理:數據是存儲在硬盤上的,只不過需要經常讀取的數據會被加載到內存中,將數據存儲在物理內存中,從而達到高速讀寫。

6、成熟度與廣泛度:新興數據庫,成熟度較低,Nosql數據庫中最為接近關系型數據庫,比較完善的DB之壹,適用人群不斷在增長。

三、MongoDB優勢與劣勢

優勢:

1、在適量級的內存的MongoDB的性能是非常迅速的,它將熱數據存儲在物理內存中,使得熱數據的讀寫變得十分快。

2、MongoDB的高可用和集群架構擁有十分高的擴展性。

3、在副本集中,當主庫遇到問題,無法繼續提供服務的時候,副本集將選舉壹個新的主庫繼續提供服務。

4、MongoDB的Bson和JSon格式的數據十分適合文檔格式的存儲與查詢。

劣勢:

1、 不支持事務操作。MongoDB本身沒有自帶事務機制,若需要在MongoDB中實現事務機制,需通過壹個額外的表,從邏輯上自行實現事務。

2、 應用經驗少,由於NoSQL興起時間短,應用經驗相比關系型數據庫較少。

3、MongoDB占用空間過大。