在存储上,mongodb和es是document格式的存储,mysql是行格式的,因此mongo和es并不需要显式定义字段,而mysql需要。

在架构上,es天然就是分布式的,这个可以很容易的横向扩容,而mongo和mysql不行。

在针对场景下,es无法做到实时,而mysql和mongo可以,因此mysql和mongo支持的oltp对于es而言需要额外考虑下场景是否适用,可以认为es同时具有oltp和olap的特点,但两边都不是特别突出。

在数据存储量及性能上,mysql由于其索引实现(innodb为例)导致在数据量大到一定级别后会出现性能衰减,而mongo和es只要给足足够内存就没太大问题(mongo内存不足时衰减的更为厉害,es不明)。插入速度上如果正确的配置mysql其性能并不低,当然相对于正常状态mongo和es而言还是差了一个到多个量级(es>mongo>mysql)。查询速度这个主要看索引和数量,这个不太好说,mongo谜一样的索引选择曾经让我纠结过很久,在需要复杂关联查询的时候建议优先考虑mysql。

资源开销上当数据量上去了后如果为了维持性能的话,es吃内存的能力绝对可以傲视群雄,但毕竟没有不吃草就能跑的快的马儿。

易用性上当然是mysql>mongo>es,如果考虑使用mysql的话可以再考虑下postgresql,虽然小众点,但有些mysql功能上的缺失会让你写sql写到哭。

其实刨掉全文检索场景,mysql(5.6以后)加上良好的设计就能很好的支持绝大部分需求了,所以不要太过于纠结到底用啥了。

elastic和mysql的区别_请问mongodb , elasticsearch , mysql各有什么优缺点?相关推荐

  1. mongodb mysql json数据_使用MongoDB与MySQL有很多JSON字段?

    所以,直接回答问题- Shall we chose mongodb if half of data is schemaless, and is being stored as JSON if usin ...

  2. mangouDB和mysql的区别_谈谈mongodb,mysql的区别和具体应用场景

    最近对数据库比较感兴趣,于是就去研究了下部分相关热门的数据库. MySQL 关系型数据库. 在不同的引擎上有不同 的存储方式. 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高. 开源数 ...

  3. mysql b树_为什么 MongoDB 索引选择B树,而 Mysql 选择B+树(精干总结)

    这个问题是我在看视频的时候老师提到的,虽然之前知道他们各自的索引结构但是还没有研究过原因.在网上一搜答案特别多.但是都特别的啰嗦.于是总结了这篇文章. 一.B树和B+树的区别 很明显,我们要想弄清楚原 ...

  4. mongodb mysql 知乎_为什么 MongoDB 索引选择B-树,而 Mysql 索引选择B+树(精干总结)...

    本文献给准备面试或者是还在面试的你.常见面试题,送分题目,不拿白不拿.本文收录在个人博客<愚公要移山>中,地址 www.javachat.cc 这篇是修改版,针对知乎上很多人提出的问题,进 ...

  5. oracle数据库跟mysql的区别_关于Oracle数据库与MySQL数据库的几点区别

    Oracle数据库与MySQL数据库的区别是本文我们主要要介绍的内容,接下来我们就开始介绍这部分内容,希望能够对您有所帮助. Oracle与MySQL的区别: 1.在Oracle中用select * ...

  6. mysql如何删掉_请问如何把mysql干干净净的删掉?

    你的位置: 问答吧 -> 数据库 -> 问题详情 请问如何把mysql干干净净的删掉? 如题 我装了之后 把ROOT的密码给忘了 不如重装 但删不干净 不知道有什么办法可以干净的干掉MYS ...

  7. php mysql 云虚拟机_虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  8. mysql架构组成_第 2 章 MySQL 架构组成

    麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从MySQL物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL 的整体架构组成,希望能够让读者对 MySQL 有一个更 ...

  9. mysql级联删除_近百道MySQL面试题和答案(2020收藏版)(完结篇)

    7. 什么是死锁?怎么解决? 死锁是指两个或多个事务在同一资源上相互占用,并请求锁定对方的资源,从而导致恶性循环的现象. 常见的解决死锁的方法 1.如果不同程序会并发存取多个表,尽量约定以相同的顺序访 ...

最新文章

  1. Observer Pattern 观察者模式
  2. python与excel的差别-python3与Excel的完美结合
  3. Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
  4. Linux引导过程详解
  5. 牛客网(剑指offer) 第十六题 合并两个排序的链表
  6. github page hexo博客gitee_利用Github和hexo搭建个人免费博客
  7. $.post 中文乱码 php,如何解决jquery $.post 乱码问题
  8. svn安装使用以及各种问题解决
  9. Python处理Excel文件(一)
  10. Linux 串口驱动 问题
  11. 【更新】互联网公司可投之参考
  12. Python3网络爬虫(九):使用Selenium爬取百度文库word文章
  13. Java计算某年某月天数_编程计算某年某月某日是该年的第多少天。例如:2016年3月2日是2016的 第62 天。(java)...
  14. 微信 公众号 JS接口安全域名 是啥 什么意思
  15. uni-app自定义全屏切换组件
  16. mysql5.7 只读视图_MySQL 5.7: Innodb read view在只读场景的优化
  17. 滴滴开源小程序框架 Mpx
  18. 网络爬虫与机器学习算法在城市分析中的应用(python)
  19. 2022年蓝桥杯Python程序设计B组思路和代码分享
  20. 【强化学习】PPO算法求解倒立摆问题 + Pytorch代码实战

热门文章

  1. Nginx 反向代理实现微信开发完美线上测试环境
  2. 2021-11-15中国音乐学期刊发表
  3. qt connect重复 槽函数会重复触发
  4. 使用Glide加载、缓存图片、解决背景出现浅绿色
  5. 深入了解AD,AD在PCB行业有何作用?
  6. GJM :Unity3D 介绍
  7. 修复“Ubuntu使用winetrick登录微信和企业微信”的部分bug
  8. C语言——结构体struct与typedef的使用
  9. 完整实例项目:使用python自制音乐播放器~
  10. linux i3 桌面,在Linux系统使用i3平铺窗口管理器的五大优势