ES和Mysql数据库的对比:

ES对比Mysql

一,ES数据架构的主要概念与关系数据库Mysql对比

ES和Mysql数据库的对比 - 图1

这里写图片描述

  1. 1)关系型数据库中的数据库(DataBase),等价于ES中的索引(Index
  2. 2)一个数据库下面有N张表(Table),等价于1个索引Index下面有N多类型(Type),
  3. 3)一个数据库表(Table)下的数据由多行(ROW)多列(column,属性)组成,等价于1Type由多个文档(Document)和多Field组成。
  4. 4)在一个关系型数据库里面,schema定义了表、每个表的字段,还有表和字段之间的关系。 与之对应的,在ES中:Mapping定义索引下的Type的字段处理规则,即索引如何建立、索引类型、是否保存原始索引JSON文档、是否压缩原始JSON文档、是否需要分词处理、如何进行分词处理等。
  5. 5)在数据库中的增insert、删delete、改update、查search操作等价于ES中的增PUT/POST、删Delete、改_update、查GET.

二,ES的应用场景

通常我们面临问题有两个:

1)新系统开发尝试使用ES作为存储和检索服务器;

2)现有系统升级需要支持全文检索服务,需要使用ES。

ES不是数据库,它适合于海量数据、更新频率很低的数据(ES没有事务也不适合处理并行更改数据)。

ES更适合处理关系相对简单稳定的数据,一些关系比较复杂的数据用mysql这样的关系数据库用sql很容易实现,但是es就相当的复杂了。