Elasticsearch和mysql相关概念对比

159 阅读1分钟

Elasticsearch 和 MySQL 都是数据库系统,但它们设计的目的和服务的场景有所不同。Elasticsearch 是一个分布式搜索和分析引擎,而 MySQL 是一种关系型数据库管理系统(RDBMS)。

elasticsearch基础概念

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

类型相同的文档集中在一起管理,称为索引(Index), 可以把索引当做是数据库中的表

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

mysql与elasticsearch

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

使用场景对比

  • MySQL:适合于需要严格事务控制的应用程序,比如银行系统、库存管理等。
  • Elasticsearch:更适合于日志分析、网站搜索、监控数据存储等对搜索性能要求较高的场景。