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