教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

MySQL與MongoDB之間基本的差別是什么?

更新時(shí)間:2021年11月09日16時(shí)22分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  差別在多方面,例如:數(shù)據(jù)的表示、查詢、關(guān)系、事務(wù)、模式的設(shè)計(jì)和定義、速度和性能。MongoDB 是由 C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點(diǎn),可以保證服務(wù)器性能。

  MongoDB 旨在為 WEB 應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。

  MongoDB 將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。

  MongoDB 是一個面向文檔的數(shù)據(jù)庫,目前由 10gen 開發(fā)并維護(hù),它的功能豐富齊全,所以完全可以替代MySQL。與 MySQL 等關(guān)系型數(shù)據(jù)庫相比,MongoDB 的優(yōu)點(diǎn)如下:

 ?、偃跻恢滦?,更能保證用戶的訪問速度。

  ②文檔結(jié)構(gòu)的存儲方式,能夠更便捷的獲取數(shù)據(jù)。

 ?、蹆?nèi)置 GridFS,支持大容量的存儲。

 ?、軆?nèi)置 Sharding。

  ⑤第三方支持豐富。(這是與其他的 NoSQL 相比,MongoDB 也具有的優(yōu)勢)

  ⑥性能優(yōu)越:

  MongoDB 本身它還算比較年輕的一個產(chǎn)品,所以它的問題,就是成熟度肯定沒有傳統(tǒng) MySQL 那么成熟穩(wěn)定。所以在使用的時(shí)候:

  盡量使用穩(wěn)定版,不要在線上使用開發(fā)版,這是一個大原則;

  另外一點(diǎn),備份很重要,MongoDB 如果出現(xiàn)一些異常情況,備份一定是要能跟上。除了通過傳統(tǒng)的復(fù)制的方式來做備份,離線備份也還是要有,不管你是用什么方式,都要有一個完整的離線備份。往往終究出現(xiàn)了特殊情況,它能幫助到你;另外,MongoDB 性能的一個關(guān)鍵點(diǎn)就是索引,索引是不是能有比較好的使用效率,索引是不是能夠放在內(nèi)存中,這樣能夠提升隨機(jī)讀寫的性能。如果你的索引不能完全放在內(nèi)存中,一旦出現(xiàn)隨機(jī)讀寫比較高的時(shí)候,它就會頻繁地進(jìn)行磁盤交換,這個時(shí)候,MongoDB 的性能就會急劇下降,會出現(xiàn)波動。
  另外,MongoDB 還有一個明顯的缺點(diǎn),就是它占用的空間很大,因?yàn)樗鼘儆诘湫涂臻g換時(shí)間原則的類型。那么它的磁盤空間比普通數(shù)據(jù)庫會浪費(fèi)一些,而且到目前為止它還沒有實(shí)現(xiàn)在線壓縮功能,在 MongoDB 中頻繁的進(jìn)行數(shù)據(jù)增刪改時(shí),如果記錄變了,例如數(shù)據(jù)大小發(fā)生了變化,這時(shí)候容易產(chǎn)生一些數(shù)據(jù)碎片,出現(xiàn)碎片引發(fā)的結(jié)果,一個是索引會出現(xiàn)性能問題。

  另外一個就是在一定的時(shí)間后,所占空間會莫名其妙地增大,所以要定期把數(shù)據(jù)庫做修復(fù),定期重新做索引,這樣會提升 MongoDB 的穩(wěn)定性和效率。在新的版本里,它已經(jīng)在實(shí)現(xiàn)在線壓縮,估計(jì)應(yīng)該在 2.0 版左右,應(yīng)該能夠?qū)崿F(xiàn)在線壓縮,可以在后臺執(zhí)行現(xiàn)在 repair DataBase 的一些操作。

  如果那樣,就解決了目前困擾我們的大問題。

猜你喜歡:

MySQL數(shù)據(jù)庫常用的搜索引擎有哪些,區(qū)別是什么?

Mongodb安裝教程【W(wǎng)indows系統(tǒng)圖文教程】

【面試題】Mongodb和MySQL存儲爬蟲數(shù)據(jù)的特點(diǎn)是什么

MySQL數(shù)據(jù)庫什么是外鍵?

傳智教育軟件測試開發(fā)培訓(xùn)

0 分享到:
和我們在線交談!