前端小白不迷路-介绍下MySQL和mongoDB的区别

1,034 阅读2分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

哈喽,各位小伙伴,我是LONCON,很高兴你们能看到这篇文章,希望这篇文章能对你们有所帮助哦

MySQL

  1. 它是关系型数据库
  2. 在不同的引擎上有不同的存储方式
  3. 查询语句是使用传统的sql语句,拥有较为成熟的体系
  4. 开源数据库的份额在不断增加,MySQL的份额也在持续增长
  5. 缺点就是在海量数据处理的时候效率会显著变慢

MongoDB

非关系型数据(Nosql),属于文档型数据库,即可以存放xml/json/bson关系型的数据,这些数据具备自述性,呈现分层的树状数据结构,数据结构由键值(key =>value)对组成。

存储方式

虚拟内存 + 持久化

查询语句

是独特的Mongodb的查询方式 db.

适合场景

事件的记录,内容管理或者博客平台等

架构特点

可以通过副本集以及分片来实现高可用

数据处理

数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高度读写

成熟度与广泛度

新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,使用人群不断在增加

MongoDB的优势

1. 快速,在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写边得十分快

2.高扩展

3. 自身的failover机制

4. json的存储格式

5. 内置GridFS,支持大容量的存储

6. 内置SHarding,分片简单

7. 海量数据下,性能优越

8. 支持自动故障恢复(复制集)

MongoDB的缺陷

1. 不支持事务操作

2. 占用空间过大

3. MongoDB没有如MySQL那样成熟的维护工具

4. 无法进行关联表查询,不适用关系多的数据

5. 复杂聚合操作通过mapreduce创建,速度慢

6. 模式自由,自由灵活的文件存储格式带来的数据错误

总结

还是要根据实际工作需要来选择Mysql和Mongodb作为数据库存储。