溫馨提示×

溫馨提示×

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

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

MongoDB和MySQL的區(qū)別有哪些

發(fā)布時間:2021-12-02 16:07:42 來源:億速云 閱讀:166 作者:iii 欄目:MySQL數(shù)據(jù)庫

這篇文章主要講解了“MongoDBMySQL的區(qū)別有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習“MongoDB和MySQL的區(qū)別有哪些”吧!

MongoDB和MySQL的區(qū)別:1、MySQL是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫,而MongoDB是非關(guān)系型數(shù)據(jù)庫;2、MySQL在不同的引擎上有不同的存儲方式,而MongoDB的存儲方式是“虛擬內(nèi)存+持久化”;3、MySQL使用傳統(tǒng)的sql語句等等。

本文操作環(huán)境:Windows7系統(tǒng)、Mysql5.7.14版、Dell G3電腦。

MongoDB和MySQL的區(qū)別是什么?

MongoDB和MySQL的區(qū)別

前言:

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、 應(yīng)用經(jīng)驗少,由于NoSQL興起時間短,應(yīng)用經(jīng)驗相比關(guān)系型數(shù)據(jù)庫較少。
3、MongoDB占用空間過大。


四、對比

數(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

感謝各位的閱讀,以上就是“MongoDB和MySQL的區(qū)別有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習后,相信大家對MongoDB和MySQL的區(qū)別有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向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