浅谈mongodb,mysql的区别和具体应用场景[通俗易懂]

浅谈mongodb,mysql的区别和具体应用场景

大家好,又见面了,我是全栈君。

MySQL

关系型数据库。

在不同的引擎上有不同 的存储方式。

查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。

开源数据库的份额在不断增加,mysql的份额页在持续增长。

缺点就是在海量数据处理的时候效率会显著变慢。

Mongodb

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

存储方式:虚拟内存+持久化。

查询语句:是独特的Mongodb的查询方式。

适合场景:事件的记录,内容管理或者博客平台等等。

架构特点:可以通过副本集,以及分片来实现高可用。

数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。

成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。

优势:

  • 快速!在适量级的内存的Mongodb的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快,

  • 高扩展!

  • 自身的Failover机制!

  • json的存储格式!

缺点:主要是无事物机制!

分析一下Mysql和Mongodb应用场景

  • 1.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量:(1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) (2)从data models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。(3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。

  • 2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。亦或是仅作日志收集分析。

浅谈mongodb,mysql的区别和具体应用场景[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111969.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021Eclipse下载与安装教程

    2021Eclipse下载与安装教程2021Eclipse下载与安装教程2021Eclipse下载与安装教程具体步骤如下:1.下载1.1官方下载1.2国内镜像下载【推荐】2.安装3.安装插件2021Eclipse下载与安装教程具体步骤如下:1.下载Eclipse软件下载可以在Eclipse官方下载,也可以在国内镜像地址下载。由于Eclipse官方地址服务器在国外,下载速度比较慢,国内镜像地址下载速度会快很多。1.1官方下载官方下载地址:https://www.eclipse.org/downloads/packages/r

    2022年6月6日
    39
  • 深入浅出PID控制算法(一)————连续控制系统的PID算法及MATLAB仿真[通俗易懂]

    深入浅出PID控制算法(一)————连续控制系统的PID算法及MATLAB仿真[通俗易懂]引言PID是Proportional(比例)、Integral(积分)、Differential(微分)三者的缩写。PID调节是连续控制系统中技术最成熟、应用最广泛的调节方式。PID调节实质是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,运算结果用以控制输出。之前在项目中也用到过不少PID的算法,但大多属于一知半解的状态,或者胡乱调节的程度,最近在学习的过程偶然对PI…

    2022年6月6日
    65
  • BDB (Berkeley DB)数据库简单介绍(转载)

    BDB (Berkeley DB)数据库简单介绍(转载)

    2021年12月4日
    60
  • 原型模式(克隆)

    1.实质:创建个全新的对象(将原型对象的属性全部传递给新对象),它们在内存中拥有新的地址,对克隆产生的对象不会对任何原型对象产生影响,每个克隆对象都是相互独立的。2.通用克隆3.浅克隆和

    2021年12月18日
    42
  • 微信高级群发接口 {“errcode”:40008,”errmsg”:”invalid message type hint: [aRIDBA0726age9]”}[通俗易懂]

    微信高级群发接口 {“errcode”:40008,”errmsg”:”invalid message type hint: [aRIDBA0726age9]”}[通俗易懂]首先允许我吐槽一下TX,我勒个擦,写的是什么文档。切入正题,我用微信的高级群发接口,来发卡券,因为是订阅号,所以只能根据组来发。原理很简单根据urlpost数据URL= https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=ACCESS_TOKEN数据格式json

    2022年6月10日
    31
  • SpringBoot❤SpringClould常用注解史诗级汇总[通俗易懂]

    SpringBoot❤SpringClould常用注解史诗级汇总[通俗易懂]什么是注解?什什么是注解Java注解是附加在代码中的⼀一些元信息,⽤用于⼀一些⼯工具在编译、运⾏行行时进⾏行行解析和使⽤用,起到说明、配置的功能注解本质上继承Annotation接⼝口,我们可以通过反射获取注解的相关信息,从⽽而做些逻辑操作springboot⾥里里⾯面⼤大量量使⽤用了了注解,@Controller、@RestController、@Service、@Autowire等一、SpringBoot注解1.1.@SpringBootApplication包含@Confi

    2022年7月20日
    12

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号