2016-09-16 154 views

回答

0

請參閱here

什麼是MySQL的?

MySQL是一個流行的開源關係數據庫管理系統(RDBMS),由Oracle公司開發,分發和支持。像其他關係系統一樣,MySQL將數據存儲在表中,並使用結構化查詢語言(SQL)進行數據庫訪問。在MySQL中,您可以根據需求預先定義數據庫模式,並設置規則來管理表中字段之間的關係。在MySQL中,相關信息可能存儲在單獨的表中,但通過使用連接關聯。以這種方式,數據重複被最小化。

什麼是MongoDB?

MongoDB是由MongoDB,Inc.開發的開源數據庫。MongoDB將數據存儲在結構可能不同的類似JSON的文檔中。相關信息通過MongoDB查詢語言一起存儲以便快速查詢訪問。 MongoDB使用動態模式,這意味着您可以在不首先定義結構的情況下創建記錄,例如字段或其值的類型。您可以通過添加新字段或刪除現有字段來更改記錄的結構(我們稱之爲文檔)。該數據模型使您能夠輕鬆地表示層次關係,存儲數組以及其他更復雜的結構。集合中的文檔不需要具有相同的字段集合,並且數據的非規範化是常見的。 MongoDB的設計也考慮到了高可用性和可擴展性,並且包含了開箱即用的複製和自動分片。

功能比較 如MySQL,MongoDB中提供了一套豐富的特性和功能遠遠超出了簡單的鍵值存儲所提供的。 MongoDB具有查詢語言,功能強大的二級索引(包括文本搜索和地理空間),強大的數據分析聚合框架等等。使用MongoDB,您還可以在更多不同的數據類型中使用這些功能,而不是在關係數據庫中大規模使用這些功能。

     MySQL        MongoDB 
Rich Data Model  No        Yes 
Dynamic Schema   No        Yes 
Typed Data    Yes        Yes 
Data Locality   No        Yes 
Field Updates   Yes        Yes 
Easy for Programmers No        Yes 
Complex Transactions Yes        No 
Auditing    Yes        Yes 
Auto-Sharding   No        Yes 
相關問題