前言

应用系统通常需要借助数据预处理(如物化视图等)来实现数据查询加速的需求。目前业界主流数据库主要有以下两大类,一种是基于传统RDBMS关系型数据库来实现;另一种是基于NoSQL非关系型数据库来实现。那么问题来了,哪一种类型的数据库更符合产品的需要呢?

开源技术栈中,以应用最为广泛的RDBMS关系型数据库MySQL和NoSQL非关系型数据库ElasticSearch(简称ES)为例,介绍下这两类数据库之间的区别和各自的优势,然后再根据产品需求特性,很容易判断哪类数据库更适合产品的需要了。

MySQL vs ES

MySQL作为开源关系型数据库,应用范围非常广泛,非常适合于结构化数据存储和查询。在数据查询场景下,默认返回所有满足匹配条件的记录;而ES作为新生代NoSQL数据库代表之一,非常适合于非结构化文档类数据存储、更创新支持智能分词匹配模糊查询。比如在电商网站商品搜索栏中,用户输入以空格为分隔符的字符串(如:家电电视等),后台ES数据库搜索引擎会根据用户输入的信息,对数据库中保存的非结构化数据进行分词模糊匹配查询,返回满足匹配条件的前N条记录给用户;另外ES更典型应用在于根据用户浏览记录日志来追踪用户行为,智能推送用户期望浏览的数据信息,此时通常借助ELK三大组件互相配合完成。

关于如何在MySQL和ES之间做到合理技术选型,ES官方网站也给出了指导性建议如下图所示。从英文描述看,基本上和之前的介绍相符合。因此,如果业务数据为结构化数据,同时不需要特别关注排名和智能分词模糊匹配查询等特性,则建议采用关系型数据库如MySQL来作为数据存储介质并使用配套搜索引擎;反之,如果业务数据为非结构化数据,同时更关注排名和需要智能分词模糊匹配的特性,则建议采用非关系型数据库如ES作为数据存储介质并使用配套搜索引擎。

怎么样?还在犹豫到底使用哪种类型的数据库吗?看了这篇文章就自然就知道答案了,剩下就是大刀阔斧的开干吧~

es mysql 预处理_数据库选型之MySQL vs ElasticSearch相关推荐

  1. mysql 多线程_数据库选型之MySQL(多线程并发)

    本博客记录作者在工作与研究中所经历的点滴,一方面给自己的工作与生活留下印记,另一方面若是能对大家有所帮助,则幸甚至哉矣! 简介 鉴于高频中心库task部分占用机器较多,为节省成本,调研数据库或缓存.在 ...

  2. navicat for mysql 事件_[数据库] Navicat for MySQL事件Event实现数据每日定期操作

    在我们操作数据库过程中,通常会遇到一些某个时间点操作数据库的问题,例如: (1).每天凌晨12点对数据库进行定时备份,结算和汇总: (2).每天凌晨2点删除数据库前三天的数据: (3).插入某个数据超 ...

  3. linux如何mysql实现导出数据库,Linux下MySQL导入导出数据库

    linux下 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sq ...

  4. mysql多核还是高频_数据库选型:多核还是多线程?

    数据库选型,是用多核主机还是多线程主机?我是否可以用比较便宜的单核超线程(Hyper-Threading,HT)的机器,来替代双核非HT的机器? 回答这个问题,我们由浅入深的来看. 一,术语: 槽位( ...

  5. centos 查看mysql 服务器配置_在CentOS上MySQL数据库服务器配置方法

    http://www.jb51.net/article/23255.htm ======================== 1 . 无密码登录: mysql -u root 在已经有密码的情况下报错 ...

  6. xshell安装mysql步骤_数据库Mysql与禅道安装

    一.Linux上搭建禅道 Mysql 是关系型数据库管理系统 1.下载安装包:将安装包直接解压到/opt目录下,不要 解压到别的目录在拷贝到/opt/,因为这样会导致文件的所有者和读写权限改变 2.解 ...

  7. loadrunner mysql性能测试_运用Loadrunner测试Mysql数据库性能 TRON•极客

    1.前言 针对数据库的性能测试,loadrunner本身支持sql server和oracle数据库,这两种数据库可以用loadrunner直接录制进行测试.而我们项目中使用的是mysql数据库,针对 ...

  8. mysql 9.0创建数据库_数据库基础学习——MySQL数据库知识小结(9)

    1 MySQL 中的约束 1.1约束类型 • 非空约束(not null) • 唯一性约束(unique) • 主键约束(primary key) PK • 外键约束(foreign key) FK ...

  9. 马哥数据库mysql笔记_马哥笔记-mysql

    反关系模型:NoSQL MongoDB Redis HBase MySQL版本: Community Edition Enterprise Edition 软件包格式: mysql, mysql-se ...

最新文章

  1. Gmapping从开始到放弃—写一个TF 广播
  2. 滴滴裁员2000多人,去年亏损超百亿
  3. H.264中的量化过程
  4. 再论CMMI和敏捷的对话
  5. Unity Package Manager Error的解决方案
  6. 今晚7点,腾讯专家详解腾讯广告召回系统的演进
  7. 在DataTable中执行DataTable.Select(条件),
  8. windows下nginx+mono+fastCGI部署asp.net网站
  9. opencv 鼠标点击处视频的坐标和rgbw值
  10. 用计算机数字表白,表白数字密码暗号大全 高级表白密码
  11. 华为路由器配置静态路由和下一跳,使PC互通
  12. 教你如何面试进入阿里巴巴!
  13. 【win10】win10右键快速访问等文件夹导致资源浏览器崩溃的处理方法
  14. Ubuntu18.04 WPS安装后,提示“系统缺失字体symbol、wingdings、wingdings 2、wingdings 3、webding”的解决方法
  15. Go的研习笔记day-1
  16. 华三服务器怎样用hdm安装linux,H3C R4900 G2服务器通过HDM安装系统
  17. 软考网络管理员-华为设备命令学习笔记
  18. 怎样在新窗口中打开 jsp页面
  19. QT学习_06_UI设计
  20. eslint检查和自动格式化

热门文章

  1. Python_03-数据类型
  2. Java 中的 XML:Java 文档模型的用法
  3. 12.1 LNMP架构介绍;12.2 MySQL安装;12.3-2.4 PHP安装(上下);12.5
  4. Linux设置程序开机启动-tomcat开机启动
  5. WC前的颓废——带花树
  6. Domino/Xpages Bootstrap 动态生成首页功能
  7. Linux 集群的deartbeat与drbd服务
  8. WINCE--VS2005不能连接连线调试
  9. 简单阐述hdfs的体系结构_HDFS主要特性和体系结构
  10. 班尼机器人如何代理_如何学习电商短视频拍摄剪辑