MySQL與MongoDB對比及應用場景區別

2021-09-26 03:42:59 字數 1243 閱讀 3099

mysql

關係型資料庫。

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

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

開源資料庫的份額在不斷增加,mysql的份額頁在持續增長。

缺點就是在海量資料處理的時候效率會顯著變慢。

mongodb

非關係型資料庫(nosql ),屬於文件型資料庫。先解釋一下文件的資料庫,即可以存放xml、json、bson型別系那個的資料。這些資料具備自述性(self-describing),呈現分層的樹狀資料結構。資料結構由鍵值(key=>value)對組成。

儲存方式:虛擬記憶體+持久化。

查詢語句:是獨特的mongodb的查詢方式。

適合場景:事件的記錄,內容管理或者部落格平台等等。

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

資料處理:資料是儲存在硬碟上的,只不過需要經常讀取的資料會被載入到記憶體中,將資料儲存在物理記憶體中,從而達到高速讀寫。

成熟度與廣泛度:新興資料庫,成熟度較低,nosql資料庫中最為接近關係型資料庫,比較完善的db之一,適用人群不斷在增長。

優勢:

快速!在適量級的記憶體的mongodb的效能是非常迅速的,它將熱資料儲存在物理記憶體中,使得熱資料的讀寫變得十分快。

高擴充套件自身的failover機制

json的儲存格式

缺點:

主要是無事物機制

mysql和mongodb應用場景

1.如果需要將mongodb作為後端db來代替mysql使用,即這裡mysql與mongodb 屬於平行級別,那麼,這樣的使用可能有以下幾種情況的考量: (1)mongodb所負責部分以文件形式儲存,能夠有較好的**親和性,json格式的直接寫入方便。(如日誌之類) (2)從data models設計階段就將原子性考慮於其中,無需事務之類的輔助。開發用如nodejs之類的語言來進行開發,對開發比較方便。 (3)mongodb本身的failover機制,無需使用如mha之類的方式實現。

2.將mongodb作為類似redis ,memcache來做快取db,為mysql提供服務,或是後端日誌收集分析。 考慮到mongodb屬於nosql型資料庫,sql語句與資料結構不如mysql那麼親和 ,也會有很多時候將mongodb做為輔助mysql而使用的類redis memcache 之類的快取db來使用。 亦或是僅作日誌收集分析。

mongodb與mysql命令對比

我們總是在對比中看到自己的優點和缺點,對於mongodb來說也是一樣,對比學習讓我們盡快的掌握關於mongodb的基礎知識。關係型資料庫一般是由資料庫 database 表 table 記錄 record 三個層次概念組成。而非關係型資料庫mongodb是由資料庫 database 集合 colle...

mysql 和 mongo db 語法對比

本文描述了mysql中的常用sql語句在mongodb中的寫法,如果你長期使用mysql而對mongodb躍躍欲試,這篇簡單的文章可以幫助你更快的進入角色。查詢 mysql select from user mongo db.user.find mysql select from user wher...

mysql和mongodb對比互補

1 mysql沒有必要存放所有的資料,尤其是分析 歸納 彙總的日誌資料 2 mongodb的乙個重要概念就是以空間換時間 3 mongodb效能的乙個關鍵點就是索引,索引是不是能有比較好的使用效率,索引是不是能夠放在記憶體中,這樣能夠提公升隨機讀寫的效能。如果你的索引不能完全放在記憶體中,一旦出現隨...