lgwebdream / FE-Interview

🔥🔥🔥 前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue、React、Node、TypeScript、Webpack、算法、网络与安全、浏览器
https://lgwebdream.github.io/FE-Interview/
Other
6.82k stars 896 forks source link

Day248:说一下 MySQL 和 MongoDB 区别?MongoDB 有哪些缺点和优点? #1067

Open Genzhen opened 3 years ago

Genzhen commented 3 years ago

每日一题会在下午四点在交流群集中讨论,五点小程序中更新答案 欢迎大家在下方发表自己的优质见解 二维码加载失败可点击 小程序二维码

扫描下方二维码,收藏关注,及时获取答案以及详细解析,同时可解锁800+道前端面试题。


MySQL 与 MongoDB

1.1 MySQL

  1. 在不同的引擎上有不同的存储方式。
  2. 查询语句是使用传统的 sql 语句,拥有较为成熟的体系,成熟度很高。
  3. 开源数据库的份额在不断增加,mysql 的份额页在持续增长。

MySQl 的缺点就是在海量数据处理的时候效率会显著变慢。

1.2 MongoDB

MongoDB 是非关系型文档类型(即可存放 xml、bson、json 等自述性类型,结构为分层树状的数据)数据库

  1. 数据结构由键值对组成
  2. 虚拟内存+持久化的存储方式
  3. 结构特点为可以通过副本集,以及分片来实现高可用
  4. 数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

MongoDB 优点

  1. 适量级的内存的 MongoDB 性能迅速。它将热数据存储在物理内存中,使热数据读写非常快。
  2. MongoDB 的高可用和集群架构拥有十分高的扩展性。
  3. 在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。
  4. MongoDB 的 Bson 和 Json 格式的数据十分适合文档格式的存储与查询。

MongoDB 缺点

  1. MongoDB 本身没有自带事务机制,若需要实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。
  2. 占用空间过大。
  3. 由于 NoSQL 兴起时间短,应用经验相比关系型数据库较少。