这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战
哈喽,各位小伙伴,我是LONCON,很高兴你们能看到这篇文章,希望这篇文章能对你们有所帮助哦
MySQL
- 它是关系型数据库
- 在不同的引擎上有不同的存储方式
- 查询语句是使用传统的sql语句,拥有较为成熟的体系
- 开源数据库的份额在不断增加,MySQL的份额也在持续增长
- 缺点就是在海量数据处理的时候效率会显著变慢
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作为数据库存储。