正文
一、概要
几十年来,关系型数据库已经成为企业应用程序的基础,自从MySQL在1995年发布以来,它已经成为一种受欢迎并且廉价的选择。然而随着近年来数据量和数据的不断激增,非关系数据库技术如MongoDB应运而生,以满足新应用的需求。 MongoDB用于新的应用程序,以及扩充或替换现有的关系型基础设施(关系型数据库)。
阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不封顶级别,有意向的可以发简历给我,注明想去的部门和工作地点:[email protected]
二、什么是Mysql
MySQL是由Oracle公司开发,发布和支持的受欢迎的开源关系数据库管理系统(RDBMS)。像其他关系系统一样,MySQL将数据存储在表中,并使用结构化查询语言(SQL)来进行数据库访问。在MySQL中,您可以根据需要预先定义数据库模式,并设置规则来管理表中字段之间的关系。在MySQL中,相关信息可能存储在单独的表中,但通过使用关联查询来关联。通过使用这种方式,使得数据重复量被最小化。
三、 什么是MongoDB
MongoDB是由MongoDB,Inc.开发的开源数据库。MongoDB将数据存储在类似JSON的文档中,并且文档中每个json串结构可能有所不同。相关信息存储在一起,通过MongoDB查询语言进行快速查询访问。 MongoDB使用动态模式,这意味着您可以在不首先定义结构的情况下创建记录,例如字段或其值的类型。您可以通过添加新字段或删除现有记录来更改记录的结构(我们称之为文档)。该数据模型可以让您轻松地代表层次关系,存储数组和其他更复杂的结构。集合中的文档不需要具有相同的一组字段,数据的非规范化是常见的。 MongoDB还设计了高可用性和可扩展性,并提供了即用型复制和自动分片功能。
四、 术语和概念
MySQL中的许多概念在MongoDB中具有相近的类比。本表概述了每个系统中的一些常见概念。
MySQL
|
MongoDB
|
表
|
集合
|
行
|
文档
|
列
|
字段
|
joins
|
嵌入文档或者链接
|
五、 特色对比
像MySQL一样,MongoDB提供了丰富的远远超出了简单的键值存储中提供的功能和功能。 MongoDB具有查询语言,功能强大的辅助索引(包括文本搜索和地理空间),数据分析功能强大的聚合框架等。相比使用关系数据库使用MongoDB,您还可以使用这些功能,跨越更多样化的数据类型和数据规模。
|
MongoDB
|
MongoDB
|
丰富的数据模型
|
否
|
是
|
动态Schema
|
否
|
是
|
数据类型
|
是
|
是
|
数据本地化
|
否
|
是
|
字段更新
|
是
|
是
|
易于编程
|
否
|
是
|
复杂事务
|
是
|
否
|
审计
|
是
|
是
|
自动分片
|
否
|
是
|
六、 查询语言
MySQL和MongoDB都有丰富的查询语言。在MongoDB文档https://docs.mongodb.com/manual/reference/sql-comparison/?_ga=2.97293983.1414641971.1500188964-1583439788.1500188964 中可以找到一个完整的语句列表。