• 技术文章 >数据库 >mysql教程

    mysql与mongodb有什么区别

    青灯夜游青灯夜游2022-06-16 14:41:14原创290

    区别:1、MySQL是关系型数据库,而mongodb是非关系型数据库;2、MySQL中支持多种引擎,不同引擎有不同的存储方式,而mongodb以类JSON的文档的格式存储;3、MySQL使用传统SQL语句进行查询,而mongodb有自己的查询方式(类似JavaScript的函数);4、MySQL占用空间小,支持join,而mongodb占用空间大,不支持join。

    本教程操作环境:windows7系统、mysql8&&mongodb5版本、Dell G3电脑。

    MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。

    一、关系型数据库-MySQL

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


    二、非关系型数据库-MongoDB

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

    1、存储方式:虚拟内存+持久化。
    2、查询语句:是独特的MongoDB的查询方式。
    3、适合场景:事件的记录,内容管理或者博客平台等等。
    4、架构特点:可以通过副本集,以及分片来实现高可用。
    5、数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
    6、成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。


    三、MongoDB优势与劣势

    优势:

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

    劣势:

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


    四、MongoDB和MySQL的对比(区别介绍)

    数据库MongoDBMySQL
    数据库模型非关系型关系型
    存储方式以类JSON的文档的格式存储不同引擎有不同的存储方式
    查询语句MongoDB查询方式(类似JavaScript的函数)SQL语句
    数据处理方式基于内存,将热数据存放在物理内存中,从而达到高速读写不同引擎有自己的特点
    成熟度新兴数据库,成熟度较低成熟度高
    广泛度NoSQL数据库中,比较完善且开源,使用人数在不断增长开源数据库,市场份额不断增长
    事务性仅支持单文档事务操作,弱一致性支持事务操作
    占用空间占用空间大占用空间小
    join操作MongoDB没有joinMySQL支持join

    【相关推荐:mysql视频教程

    以上就是mysql与mongodb有什么区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mongodb mysql
    上一篇:为什么选择mysql 下一篇:mysql怎么关闭二进制日志
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• mysql中clob和blob的区别是什么• mysql int多少字节• mysql怎么给列(字段)加注释• mysql有联合索引吗
    1/1

    PHP中文网