MongoDB和MySQL的区别 发布于 2025 年 11 月 22 日 全文约 890 字 · 预计阅读 3 分钟 [转自语雀](https://www.yuque.com/huzihao-elzz8/satgzx/zn7gwu) ### 前言 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。 #### 关系型数据库-MySQL * 在不同的引擎上有不同的存储方式。 * 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。 * 开源数据库的份额在不断增加,mysql的份额页在持续增长。 * 缺点就是在海量数据处理的时候效率会显著变慢。 #### 非关系型数据库-MongoDB 非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。 * 存储方式:虚拟内存+持久化。 * 查询语句:是独特的MongoDB的查询方式。 * 适合场景:事件的记录,内容管理或者博客平台等等。 * 架构特点:可以通过副本集,以及分片来实现高可用。 * 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。 * 成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。 #### MongoDB优势与劣势 * 优势: > 1、 在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。 > 2、 MongoDB的高可用和集群架构拥有十分高的扩展性。 > 3、 在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。 > 4、 MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。 * 劣势: > 1、 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。 > 2、 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。 > 3、 MongoDB占用空间过大。 #### 对比 | 数据库 | MongoDB | MySQL | | ------------ | ------------ | ------------ | | 数据库模型 | 非关系型 | 关系型存 | | 储方式 | 以类JSON的文档的格式存储 | 不同引擎有不同的存储方式 | | 查询语句 | MongoDB查询方式(类似JavaScript的函数) | SQL语句 | | 数据处理方式 | 基于内存,将热数据存放在物理内存中,从而达到高速读写 | 不同引擎有自己的特点 | | 成熟度 | 新兴数据库,成熟度较低 | 成熟度高 | | 广泛度 | NoSQL数据库中,比较完善且开源,使用人数在不断增长 | 开源数据库,市场份额不断增长 | | 事务性 | 仅支持单文档事务操作,弱一致性 | 支持事务操作 | | 占用空间 | 占用空间大 | 占用空间小 | | join操作 | MongoDB没有join | MySQL支持join | MongoDB和MySQL的区别 https://blog.gamehomexx.asia/index.php/archives/53/ 无责任编辑 joewang 发布时间 2025 年 11 月 22 日 最后编辑时间 2025 年 11 月 22 日 版权协议 CC BY-NC-SA 4.0 MysqlMongoDB 广告 广告位招租 联系站长投放广告 了解更多 → 分享 文章目录 × MongoDB和MySQL的区别 ← 上一篇Mysql 基于日志(binlog)主从备份 下一篇 →二叉树的中序遍历 发表评论 取消回复 提交评论 评论 暂无评论
[转自语雀](https://www.yuque.com/huzihao-elzz8/satgzx/zn7gwu) ### 前言 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,关键是看用在什么地方。所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。 #### 关系型数据库-MySQL * 在不同的引擎上有不同的存储方式。 * 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。 * 开源数据库的份额在不断增加,mysql的份额页在持续增长。 * 缺点就是在海量数据处理的时候效率会显著变慢。 #### 非关系型数据库-MongoDB 非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。 * 存储方式:虚拟内存+持久化。 * 查询语句:是独特的MongoDB的查询方式。 * 适合场景:事件的记录,内容管理或者博客平台等等。 * 架构特点:可以通过副本集,以及分片来实现高可用。 * 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。 * 成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。 #### MongoDB优势与劣势 * 优势: > 1、 在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。 > 2、 MongoDB的高可用和集群架构拥有十分高的扩展性。 > 3、 在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。 > 4、 MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。 * 劣势: > 1、 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。 > 2、 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。 > 3、 MongoDB占用空间过大。 #### 对比 | 数据库 | MongoDB | MySQL | | ------------ | ------------ | ------------ | | 数据库模型 | 非关系型 | 关系型存 | | 储方式 | 以类JSON的文档的格式存储 | 不同引擎有不同的存储方式 | | 查询语句 | MongoDB查询方式(类似JavaScript的函数) | SQL语句 | | 数据处理方式 | 基于内存,将热数据存放在物理内存中,从而达到高速读写 | 不同引擎有自己的特点 | | 成熟度 | 新兴数据库,成熟度较低 | 成熟度高 | | 广泛度 | NoSQL数据库中,比较完善且开源,使用人数在不断增长 | 开源数据库,市场份额不断增长 | | 事务性 | 仅支持单文档事务操作,弱一致性 | 支持事务操作 | | 占用空间 | 占用空间大 | 占用空间小 | | join操作 | MongoDB没有join | MySQL支持join |
评论 暂无评论