MongoDB和MySql的区别(详细)且会持续补充
MogoDB和MySql的主要区别
数据库MongoDB MySQL
数据库模
型
⾮关系型关系型
存储⽅式
以类JSON的⽂档的格式存储
虚拟内存+持久化
不同引擎有不同的存储⽅式查询语句MongoDB查询⽅式(类似JavaScript的函数)SQL语句
架构特点可以通过副本集,以及分⽚来实现⾼可⽤
(在副本集中,当主库遇到问题,⽆法继续提供服务时,副本集将选举⼀个新的主库继
续提供服务,
⾼可⽤和集架构拥有⼗分⾼的扩展性)
常见有单点,M-S,MHA,MMM,Cluster
等架构⽅式
数据处理⽅式基于内存,将热数据存放在物理内存中,从⽽达到⾼速读写
不同引擎有⾃⼰的特点
处理海量数据效率先住变慢
成熟度新兴数据库,成熟度较低成熟度⾼
⼴泛度NoSQL数据库中,⽐较完善且开源,使⽤⼈数在不断增长开源数据库,市场份额不断增长
事务性仅⽀持单⽂档事务操作,弱⼀致性
(本⾝没有带事务机制,需要在MongoDB中实现事务机制,需要通过⼀个额外的表,
从逻辑上⾃⾏实现事务)
⽀持事务操作
占⽤空间占⽤空间⼤占⽤空间⼩
join操作MongoDB没有join MySQL⽀持join
Mysql和Mongodb主要应⽤场景
1.如果需要将mongodb作为后端db来代替mysql使⽤,即这⾥mysql与mongodb 属于平⾏级别,那么,这样的使⽤可能有以下⼏种情况的考量:
(1)mongodb所负责部分以⽂档形式存储,能够有较好的代码亲和性,json格式的直接写⼊⽅便。(如⽇志博客之类)
(2)从datamodels设计阶段就将原⼦性考虑于其中,⽆需事务之类的辅助。开发⽤如nodejs之类的语⾔来进⾏开发,对开发⽐较⽅便。
(3)mongodb本⾝的failover机制,⽆需使⽤如MHA之类的⽅式实现。
2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端⽇志收集分析。
考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和,也会有很多时候
将mongodb做为辅助mysql⽽使⽤的类redis memcache 之类的缓存db来使⽤。亦或是仅作⽇志收集分析。mongodb和mysql结合
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论