區別:1、MySQL是關係型資料庫,而mongodb是非關係型資料庫;2、MySQL中支援多種引擎,不同引擎有不同的儲存方式,而mongodb以類JSON的文檔的格式存儲;3.MySQL使用傳統SQL語句進行查詢,而mongodb有自己的查詢方式(類似JavaScript的函數);4、MySQL佔用空間小,支援join,而mongodb佔用空間大,不支援join。
本教學操作環境:windows7系統、mysql8&&mongodb5版本、Dell G3電腦。
MySQL與MongoDB都是開源的常用資料庫,但MySQL是傳統的關聯式資料庫,MongoDB則是非關聯式資料庫,也叫文檔型資料庫,是一種NoSQL的資料庫。它們各有各的優點,關鍵在於看用在什麼地方。所以我們所熟知的那些SQL語句就不適用於MongoDB了,因為SQL語句是關聯式資料庫的標準語言。
1、在不同的引擎上有不同的儲存方式。
2、查詢語句是使用傳統的sql語句,擁有較為成熟的體系,成熟度很高。
3、開源資料庫的份額不斷增加,mysql的份額頁正在持續成長。
4、缺點就是在海量資料處理的時候效率會顯著變慢。
非關係型資料庫(nosql ),屬於文件型資料庫。先解釋文檔的資料庫,也就是可以存放xml、json、bson類型系那個的資料。這些資料具備自述性,呈現分層的樹狀資料結構。資料結構由鍵值(key=>value)對組成。
1、儲存方式:虛擬記憶體 持久化。
2、查詢語句:是獨特的MongoDB的查詢方式。
3、適合場景:事件的記錄,內容管理或部落格平台等等。
4、架構特點:可以透過副本集,以及分片來實現高可用。
5、資料處理:資料是儲存在硬碟上的,只不過需要經常讀取的資料會被載入到記憶體中,將資料儲存在實體記憶體中,從而達到高速讀寫。
6、成熟度與廣泛度:新興資料庫,成熟度較低,Nosql資料庫中最為接近關係型資料庫,較完善的DB之一,適用人群不斷成長。
#優點:
1、在適量級的記憶體的MongoDB的效能是非常迅速的,它將熱資料儲存在實體記憶體中,使得熱資料的讀寫變得十分快。
2、MongoDB的高可用和叢集架構擁有十分高的擴充性。
3、在副本集中,當主庫遇到問題,無法繼續提供服務的時候,副本集將選出一個新的主庫繼續提供服務。
4、MongoDB的Bson和JSon格式的資料十分適合文件格式的儲存與查詢。
劣勢:
1、 不支援交易操作。 MongoDB本身沒有自帶事務機制,若需要在MongoDB中實作事務機制,需透過一個額外的表,從邏輯上自行實作事務。
2、 應用經驗少,由於NoSQL興起時間短,應用經驗相比關係型資料庫較少。
3、MongoDB佔用空間過大。
#資料庫 | ##MongoDBMySQL | |
---|---|---|
非關係型 | 關係類型 | |
以類別JSON的文件的格式儲存 | 不同引擎有不同的儲存方式 | |
MongoDB查詢方式(類似JavaScript的函數) | SQL語句 | |
基於內存,將熱資料存放在實體記憶體中,從而達到高速讀寫 | 不同引擎有自己的特色 | |
新興資料庫,成熟度較低 | 成熟度高 | |
NoSQL資料庫中,比較完善且開源,使用人數在不斷增長 | 開源資料庫,市場份額不斷增長 | |
僅支援單一文件交易操作,弱一致性 | 支援交易操作 | |
佔用空間大 | 佔用空間小 | |
MongoDB沒有join | MySQL支持join |
以上是mysql與mongodb有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!