es的一些概念

elasticsearch中有很多独有的概念,与mysql中略有差别,但也有相似之处。

文档和字段

elasticsearch是面向文档(Document)存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中:

而Json文档中往往包含很多的字段(Field),类似于数据库中的列。

索引和映射

索引(Index),就是相同类型的文档的集合。

例如:

  • 所有用户文档,就可以组织在一起,称为用户的索引;

  • 所有商品的文档,可以组织在一起,称为商品的索引;

  • 所有订单的文档,可以组织在一起,称为订单的索引;

因此,我们可以把索引当做是数据库中的表。

数据库的表会有约束信息,用来定义表的结构、字段的名称、类型等信息。因此,索引库中就有映射(mapping),是索引中文档的字段约束信息,类似表的结构约束。

mysql与elasticsearch

我们统一的把mysql与elasticsearch的概念做一下对比:

MySQL Elasticsearch 说明
Table Index 索引(index),就是文档的集合,类似数据库的表(table)
Row Document 文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式
Column Field 字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)
Schema Mapping Mapping(映射)是索引中文档的约束,例如字段类型约束。类似数据库的表结构(Schema)
SQL DSL DSL是elasticsearch提供的JSON风格的请求语句,用来操作elasticsearch,实现CRUD

是不是说,我们学习了elasticsearch就不再需要mysql了呢?

并不是如此,两者各自有自己的擅长支出:

  • Mysql:擅长事务类型操作,可以确保数据的安全和一致性

  • Elasticsearch:擅长海量数据的搜索、分析、计算

因此在企业中,往往是两者结合使用:

  • 对安全性要求较高的写操作,使用mysql实现

  • 对查询性能要求较高的搜索需求,使用elasticsearch实现

  • 两者再基于某种方式,实现数据的同步,保证一致性

初识ES-es与mysql的概念对比相关推荐

  1. 71、Es(es和mysql的概念对比)

    Es(es和mysql的概念对比) 1.文档(数据)是json类型的 索引(相同类型的文档的集合) 映射(不同结构的文档是一类(索引的约束条件)) 4.概念对比: 理解: !!!我们操作es的步骤:先 ...

  2. linux es连接mysql_Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式

    Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式 ES 前台方式启动 切换到ES的bin目录下,执行./elasticsearch命令 关闭窗口或者ctrl+c会 ...

  3. 基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率

    基于springboot项目中使用docker-compose+es+kibana+logstash+mysql 提高数据查询效率 1.拉取logstash,kibana,es,mysql镜像 #命令 ...

  4. ES应用场景及核心概念一

    目录 ES基本安装及应用 安装 ​ 使用方式 这里在java中实现,首先引入客户端包 index alias的应用 同步DB数据到ES ES核心概念 type类型弱化. ES核心操作 ES基本安装及应 ...

  5. mysql mongo redis 对比

    mysql mongo redis 对比 mongo 内存数据库 更多的节点,可以保证服务器性能 数据存储为一个文档,数据结构由键值(key=>value)对组成 MongoDB 数据库为文档增 ...

  6. swoole mysql 协程_Swoole 协程 MySQL 客户端与异步回调 MySQL 客户端的对比

    Swoole 协程 MySql 客户端与 异步回调 MySql 客户端的对比 为什么要对比这两种不同模式的客户端? 异步 MySQL 回调客户端是虽然在 Swoole 1.8.6 版本就已经发布了, ...

  7. 多个mysql 环境_关于几个MySQL环境问题的对比

    有时候出现了环境问题,对比是一种很好的方式,如果对比得当,可以避免反复的出现问题,可以根据对比的情况推理出一些可能出现的情况或者问题. 如果对比不当,很可能得出错误的结论.今天就简单举几个例子来说明一 ...

  8. 什么是mysql的游标_MySQL游标概念是什么 MySQL游标概念与用法介绍

    本篇文章小编给大家分享一下MySQL游标概念与用法介绍,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.游标的概念(Cursor) 一条sql,对应N条资源,取出资源的接 ...

  9. 计组之中央处理器:5、微程序控制器(组成、原理、概念对比)

    5.微程序控制器 思维导图 微程序控制器的设计思路 微程序控制器的基本结构 微程序控制器的工作原理 概念对比 程序与微程序 指令与微指令 主存储器与控制器存储器 IR和uIR(MDR和CMDR) PC ...

最新文章

  1. 清华大学人工智能研究院成立听觉智能研究中心,将专注基础研究和成果产业化
  2. .net 访问 geoserver 发布的 wms   跨域问题解决方案
  3. 《Swift编程入门经典》
  4. stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
  5. LeetCode 1620. 网络信号最好的坐标
  6. 编写有效用例电子版_JavaScript ES6代理的实际用例
  7. .net MVC Model
  8. 解决github clone慢的问题
  9. 孙子兵法吃鸡之地形篇
  10. 【web前端特效源码】使用HTML5+CSS3+JavaScript制作一个会动的扔垃圾到垃圾桶动画效果~适合初学者~超简单~ |前端开发 it入门
  11. OpenTCS 之 DefaultDispatcher 默认调度算法
  12. html两个部分组成部分组成,html页面由哪几部分组成
  13. 斗牛(牛牛)概率计算器
  14. windows10 安装 choco
  15. Mysql报错 Error querying database. Cause java.sql.SQLSyntaxErrorException
  16. [Python]将MP3和PDF按名字分类归档到各自文件夹
  17. 分享查看手机微信IP地址归属地方法
  18. 2.4g和5g要不要合并_路由器WiFi的2.4g和5g要不要合并?
  19. 了解iPhone OS框架
  20. 机房空调系统集中控制节能降耗方案

热门文章

  1. python下selenium测试报告整合
  2. Windows phone msdn 索引
  3. Python的ASCII, GB2312, Unicode , UTF-8区别
  4. prometheus+consul服务发现+alertmanager配置
  5. python_魔法方法(六):迭代器和生成器
  6. 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示
  7. 接受数据,table列表,外加判断
  8. 阿里云OSS搭建移动应用直传服务的.Net C#示例
  9. [转载]用 grub2 启动 clover.iso 来启动 OS X
  10. 随想(二):简化别人的工作,就是简化自己的工作,节省自己的时间