MongoDB和MySQL的区别
前⾔:
MySQL与MongoDB都是开源的常⽤数据库,但是MySQL是传统的关系型数据库,MongoDB则是⾮关系型数据库,也叫⽂档型数据库,是⼀种NoSQL的数据库。它们各有各的优点,关键是看⽤在什么地⽅。所以我们所熟知的那些SQL语句就不适⽤于MongoDB了,因为SQL语句是关系型数据库的标准语⾔。
⼀、关系型数据库-MySQL
1、在不同的引擎上有不同的存储⽅式。
2、查询语句是使⽤传统的sql语句,拥有较为成熟的体系,成熟度很⾼。
3、开源数据库的份额在不断增加,mysql的份额页在持续增长。
4、缺点就是在海量数据处理的时候效率会显著变慢。
⼆、⾮关系型数据库-Mo ngo DB
⾮关系型数据库(nosql ),属于⽂档型数据库。先解释⼀下⽂档的数据库,即可以存放xml、json、bson
类型系那个的数据。这些数据具备⾃述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
1、存储⽅式:虚拟内存+持久化。
2、查询语句:是独特的MongoDB的查询⽅式。
3、适合场景:事件的记录,内容管理或者博客平台等等。
4、架构特点:可以通过副本集,以及分⽚来实现⾼可⽤。
mongodb和mysql结合5、数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从⽽达到⾼速读写。
6、成熟度与⼴泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,⽐较完善的DB之⼀,适⽤⼈不断在增长。
三、Mo ngo DB优势与劣势
优势:
1、在适量级的内存的MongoDB的性能是⾮常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得⼗分快。
2、MongoDB的⾼可⽤和集架构拥有⼗分⾼的扩展性。
3、在副本集中,当主库遇到问题,⽆法继续提供服务的时候,副本集将选举⼀个新的主库继续提供服务。
4、MongoDB的Bson和JSon格式的数据⼗分适合⽂档格式的存储与查询。
劣势:
1、 不⽀持事务操作。MongoDB本⾝没有⾃带事务机制,若需要在MongoDB中实现事务机制,需通过⼀个额外的表,从逻辑上⾃⾏实现事务。
2、 应⽤经验少,由于NoSQL兴起时间短,应⽤经验相⽐关系型数据库较少。
3、MongoDB占⽤空间过⼤。
四、对⽐
数据库MongoDB MySQL
数据库模型⾮关系型关系型
存储⽅式以类JSON的⽂档的格式存储不同引擎有不同的存储⽅式
查询语句MongoDB查询⽅式(类似JavaScript的函数)SQL语句
数据处理⽅式基于内存,将热数据存放在物理内存中,从⽽达到⾼速读写不同引擎有⾃⼰的特点
成熟度新兴数据库,成熟度较低成熟度⾼数据库MongoDB MySQL
⼴泛度NoSQL数据库中,⽐较完善且开源,使⽤⼈数在不断增长开源数据库,市场份额不断增长事务性仅⽀持单⽂档事务操作,弱⼀致性⽀持事务操作
占⽤空间占⽤空间⼤占⽤空间⼩
join操作MongoDB没有join MySQL⽀持join
以上~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论