溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql與mongodb有哪些區(qū)別

發(fā)布時間:2022-06-16 15:22:22 來源:億速云 閱讀:300 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹了mysqlmongodb有哪些區(qū)別的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇mysql與mongodb有哪些區(qū)別文章都會有所收獲,下面我們一起來看看吧。

區(qū)別:1、MySQL是關(guān)系型數(shù)據(jù)庫,而mongodb是非關(guān)系型數(shù)據(jù)庫;2、MySQL中支持多種引擎,不同引擎有不同的存儲方式,而mongodb以類JSON的文檔的格式存儲;3、MySQL使用傳統(tǒng)SQL語句進行查詢,而mongodb有自己的查詢方式(類似JavaScript的函數(shù));4、MySQL占用空間小,支持join,而mongodb占用空間大,不支持join。

本教程操作環(huán)境:windows7系統(tǒng)、mysql8&&mongodb5版本、Dell G3電腦。

MySQL與MongoDB都是開源的常用數(shù)據(jù)庫,但是MySQL是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,MongoDB則是非關(guān)系型數(shù)據(jù)庫,也叫文檔型數(shù)據(jù)庫,是一種NoSQL的數(shù)據(jù)庫。它們各有各的優(yōu)點,關(guān)鍵是看用在什么地方。所以我們所熟知的那些SQL語句就不適用于MongoDB了,因為SQL語句是關(guān)系型數(shù)據(jù)庫的標準語言。

一、關(guān)系型數(shù)據(jù)庫-MySQL

1、在不同的引擎上有不同的存儲方式。
2、查詢語句是使用傳統(tǒng)的sql語句,擁有較為成熟的體系,成熟度很高。
3、開源數(shù)據(jù)庫的份額在不斷增加,mysql的份額頁在持續(xù)增長。
4、缺點就是在海量數(shù)據(jù)處理的時候效率會顯著變慢。


二、非關(guān)系型數(shù)據(jù)庫-MongoDB

非關(guān)系型數(shù)據(jù)庫(nosql ),屬于文檔型數(shù)據(jù)庫。先解釋一下文檔的數(shù)據(jù)庫,即可以存放xml、json、bson類型系那個的數(shù)據(jù)。這些數(shù)據(jù)具備自述性,呈現(xiàn)分層的樹狀數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。

1、存儲方式:虛擬內(nèi)存+持久化。
2、查詢語句:是獨特的MongoDB的查詢方式。
3、適合場景:事件的記錄,內(nèi)容管理或者博客平臺等等。
4、架構(gòu)特點:可以通過副本集,以及分片來實現(xiàn)高可用。
5、數(shù)據(jù)處理:數(shù)據(jù)是存儲在硬盤上的,只不過需要經(jīng)常讀取的數(shù)據(jù)會被加載到內(nèi)存中,將數(shù)據(jù)存儲在物理內(nèi)存中,從而達到高速讀寫。
6、成熟度與廣泛度:新興數(shù)據(jù)庫,成熟度較低,Nosql數(shù)據(jù)庫中最為接近關(guān)系型數(shù)據(jù)庫,比較完善的DB之一,適用人群不斷在增長。


三、MongoDB優(yōu)勢與劣勢

優(yōu)勢:

1、在適量級的內(nèi)存的MongoDB的性能是非常迅速的,它將熱數(shù)據(jù)存儲在物理內(nèi)存中,使得熱數(shù)據(jù)的讀寫變得十分快。
2、MongoDB的高可用和集群架構(gòu)擁有十分高的擴展性。
3、在副本集中,當主庫遇到問題,無法繼續(xù)提供服務(wù)的時候,副本集將選舉一個新的主庫繼續(xù)提供服務(wù)。
4、MongoDB的Bson和JSon格式的數(shù)據(jù)十分適合文檔格式的存儲與查詢。

劣勢:

1、 不支持事務(wù)操作。MongoDB本身沒有自帶事務(wù)機制,若需要在MongoDB中實現(xiàn)事務(wù)機制,需通過一個額外的表,從邏輯上自行實現(xiàn)事務(wù)。
2、 應用經(jīng)驗少,由于NoSQL興起時間短,應用經(jīng)驗相比關(guān)系型數(shù)據(jù)庫較少。
3、MongoDB占用空間過大。


四、MongoDB和MySQL的對比(區(qū)別介紹)

數(shù)據(jù)庫MongoDBMySQL
數(shù)據(jù)庫模型非關(guān)系型關(guān)系型
存儲方式以類JSON的文檔的格式存儲不同引擎有不同的存儲方式
查詢語句MongoDB查詢方式(類似JavaScript的函數(shù))SQL語句
數(shù)據(jù)處理方式基于內(nèi)存,將熱數(shù)據(jù)存放在物理內(nèi)存中,從而達到高速讀寫不同引擎有自己的特點
成熟度新興數(shù)據(jù)庫,成熟度較低成熟度高
廣泛度NoSQL數(shù)據(jù)庫中,比較完善且開源,使用人數(shù)在不斷增長開源數(shù)據(jù)庫,市場份額不斷增長
事務(wù)性僅支持單文檔事務(wù)操作,弱一致性支持事務(wù)操作
占用空間占用空間大占用空間小
join操作MongoDB沒有joinMySQL支持join

關(guān)于“mysql與mongodb有哪些區(qū)別”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“mysql與mongodb有哪些區(qū)別”知識都有一定的了解,大家如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI