更新時間:2021年11月09日16時22分 來源:傳智教育 瀏覽次數(shù):
差別在多方面,例如:數(shù)據(jù)的表示、查詢、關(guān)系、事務(wù)、模式的設(shè)計和定義、速度和性能。MongoDB 是由 C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。
MongoDB 旨在為 WEB 應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案。
MongoDB 將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。
MongoDB 是一個面向文檔的數(shù)據(jù)庫,目前由 10gen 開發(fā)并維護,它的功能豐富齊全,所以完全可以替代MySQL。與 MySQL 等關(guān)系型數(shù)據(jù)庫相比,MongoDB 的優(yōu)點如下:
?、偃跻恢滦?,更能保證用戶的訪問速度。
?、谖臋n結(jié)構(gòu)的存儲方式,能夠更便捷的獲取數(shù)據(jù)。
?、蹆?nèi)置 GridFS,支持大容量的存儲。
?、軆?nèi)置 Sharding。
?、莸谌街С重S富。(這是與其他的 NoSQL 相比,MongoDB 也具有的優(yōu)勢)
⑥性能優(yōu)越:
MongoDB 本身它還算比較年輕的一個產(chǎn)品,所以它的問題,就是成熟度肯定沒有傳統(tǒng) MySQL 那么成熟穩(wěn)定。所以在使用的時候:
盡量使用穩(wěn)定版,不要在線上使用開發(fā)版,這是一個大原則;
另外一點,備份很重要,MongoDB 如果出現(xiàn)一些異常情況,備份一定是要能跟上。除了通過傳統(tǒng)的復(fù)制的方式來做備份,離線備份也還是要有,不管你是用什么方式,都要有一個完整的離線備份。往往終究出現(xiàn)了特殊情況,它能幫助到你;另外,MongoDB 性能的一個關(guān)鍵點就是索引,索引是不是能有比較好的使用效率,索引是不是能夠放在內(nèi)存中,這樣能夠提升隨機讀寫的性能。如果你的索引不能完全放在內(nèi)存中,一旦出現(xiàn)隨機讀寫比較高的時候,它就會頻繁地進行磁盤交換,這個時候,MongoDB 的性能就會急劇下降,會出現(xiàn)波動。
另外,MongoDB 還有一個明顯的缺點,就是它占用的空間很大,因為它屬于典型空間換時間原則的類型。那么它的磁盤空間比普通數(shù)據(jù)庫會浪費一些,而且到目前為止它還沒有實現(xiàn)在線壓縮功能,在 MongoDB 中頻繁的進行數(shù)據(jù)增刪改時,如果記錄變了,例如數(shù)據(jù)大小發(fā)生了變化,這時候容易產(chǎn)生一些數(shù)據(jù)碎片,出現(xiàn)碎片引發(fā)的結(jié)果,一個是索引會出現(xiàn)性能問題。
另外一個就是在一定的時間后,所占空間會莫名其妙地增大,所以要定期把數(shù)據(jù)庫做修復(fù),定期重新做索引,這樣會提升 MongoDB 的穩(wěn)定性和效率。在新的版本里,它已經(jīng)在實現(xiàn)在線壓縮,估計應(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)圖文教程】