MongoDB和MySql的区别(详细)且会持续补充

 

 

MogoDB和MySql的主要区别

数据库MongoDBMySQL
数据库模型 非关系型 关系型
存储方式

以类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来使用。 亦或是仅作日志收集分析。



posted @   陈晓猛  阅读(1425)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示

目录导航