MongoDB和Mysql区别与各自优缺点
2022-05-14 本文已影响0人
M_Codes
一、什么是MongoDB(非关系数据库)
- MongoDB 是一个基于分布式文件存储的数据库。
- 由 C++ 语言编写,是一个开源数据库系统。
- 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
- MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
- MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。
- MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
- 在高负载的情况下,添加更多的节点,可以保证服务器性能。
二、什么是Mysql(关系数据库)
MySQL 是一款安全、跨平台、高效的,并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL
AB 公司开发、发布并支持,由 MySQL 的初始开发人员 David Axmark 和 Michael Monty Widenius 于1995 年建立的。
- 功能强大
- 支持跨平台
- 运行速度快
- 支持面向对象
- 安全性高
- 成本低
- 支持各种开发语言
- 数据库存储容量大
- 支持强大的内置函数
三、区别
1.关系型数据库(mysql) 与 非关系型数据库(mongodb)的区别:
image.png2.两方的优缺点以及特性:
2.1.关系型数据库(mysql):
特性:
- 关系型数据库是指采用了关系模型来组织数据的数据库;
- 关系型数据库的最大特点就是事务的一致性
- 简单来说,关系模型指的就是二维表格模型,关系型数据库就是由二维表及其之间的关联组成的数据组织
优点:
- 容易理解;
- 使用方便;
- 易于维护;
- 支持SQL,可用于复杂的查询
缺点:
- 为了维护一执行需要消耗大量的性能,
- 影响读写
- 固定的表结构
- 高并发读写需求
- 海量数据的高效率读写
2.2.非关系型数据库(mongodb):
特性:
- 使用键值对存储数据
- 分布式
- 不支持ACID特性
- 非关系型数据库严格上来说,不算是一种数据库,应该是一种数据结构化存储方法的集合
优点:
- 无需经过sql层的解析,读写性能高;
- 基于键值对,数据没有耦合性,容易扩展;
- 存储数据的格式,nosql使用key:val的形式,文档的形式,图片形式等等,而关系型数据库则只支持基础类型
缺点:
- 不提供sql支持,学习成本高
- 无事务处理,附加功能和报表支持也不好