TrumanWong

Elasticsearch的基本概念和相关术语

TrumanWong
3/10/2022
  • 集群Cluster

    集群由一个唯一的名字标识,默认为Elasticsearch。集群名称非常重要,具有相同集群名称的节点才会组成一个集群。集群名称可以在配置文件中指定。需要注意的是,Elasticsearch中一个节点也被称为集群

  • 节点Node

    用于存储集群的数据,参与集群的索引和搜索功能。像集群有名字一样,节点也有自己的名字,默认在启动时会以一个随机的UUID的前7个字符作为节点的名字,用户可以为其指定任意的名字。多个节点通过同一个集群名在网络中发现同伴组成一个集群。一个节点也可以是集群。

  • 索引Index

    索引是一个文档数据的集合。每个索引都有唯一的名称,用户通过这个名称来操作它。一个集群中可以有任意多个索引。

  • 类型Type[^6.0.0废弃]

    在一个索引中,可以存放不同类型的文档,如用户数据、订单数据等。一个索引中只存放一类数据。

  • 文档Document

    JSON格式来表示,存储在索引库中的一条数据。

  • 分片Shard

    在创建索引时可以指定分成多少个分片来存储。每个分片本身也是一个功能完善且独立的“索引”,可以被放置在集群的任意节点上,从而实现负载均衡。合理的分片数量可以提高Elasticsearch服务的性能。

  • 复制Replication

    一个分片可以有多个副本,以防止数据丢失和避免数据丢失后服务不可用。

关系型数据库和Elasticsearch比较

关系型数据库(MySQLOracle等) Elasticsearch
数据库 索引
类型(6.0.0废弃)
文档
字段
表结构 映射

总结

在关系型数据库中,用户会创建数据库,这在Elasticsearch中对应的是创建索引,俗称索引库。关系型数据库中的表在Elasticsearch中已经没有对应的项。对于关系型数据库中的行,在Elasticsearch中成为文档。而关系型数据库的列在Elasticsearch中是由字段体现的,表结构使用映射体现。因此,Elasticsearch的大体架构就是创建索引库,也可以给索引库指定映射和字段类型,在Elasticsearch索引库中存储的基本单位就是文档数据。