2016-09-16 79 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 
相关问题