elasticsearch概念详解

本文主要介绍elasticsearch6.0的一些基本概念,有助于深刻理解、研究elasticsearch和elk系统

一图胜千言

elasticsearch与mysql参照来看

clipboard.png

添加一条数据html

紫色箭头所指向的nginx为index名称 红色箭头所指向的logs为type名称
-d 参数后面的整个json串为document(一条数据) 黄色箭头所指向的http_version(json串的key部分)为字段名称 蓝色箭头所指向的HTTP/1.1(json串的value部分)为字段值

图片描述

Cluster

顾名思义,cluster(集群)由一台及以上主机节点组成并提供存储及搜索服务,为方便理解能够将其看做为mysql集群;
elasticsearch集群名称在配置文件ES_HOME/config/elasticsearch.yml中定义,集群名称默认为elasticsearch,可经过cluster.name: my-application属性定义;
单台节点在集群中的名字可经过node.name: node-1属性定义,默认为自动生成的一个uuid值;node

Node

node为集群中的单台节点,其能够为master节点亦可为slave节点(节点属性由集群内部选举得出)并提供存储相关数据的功能,为方便理解能够将其看做mysql集群中的某一台主机;
能够经过下述配置设置master节点只提供搜索服务不提供存储服务从而提升该节点的搜索处理效率;mysql

node.master: false
node.data: false

Index

index直译为索引,主要用于存储具体数据,为方便理解能够将其看做mysql数据中的一个库;好比能够定义一个索引名称为nginx-2018-01-11用于存储2018-01-11当天全部的nginx访问日志;nginx

注意:索引名称必须为小写

Type

简单的说能够将type看做mysql数据库中的一张表;sql

注意:从6.0版本开始type默认只能为log,后续版本中将再也不使用type这个概念;

Document

document是能够被索引的最小单元,能够将其看做为mysql中某张表的一条数据;其包含多个字段,好比用户表中能够包含用户名、密码、邮箱等;
在elasticsearch中,存储document数据需使用json格式数据与服务端交互;数据库

Shards

shards(切片)这个概念也比较容易理解,说白了就是把一个大文件分割成多个小文件而后分散存储在集群中的多个节点上;能够将其看做mysql的分库分表概念;这样作的好处是将压力分散到多台机器上,好比你有一张1T的表,要执行一条查询语句,传统方式会只在某一台节点上执行查询语句其所能用到的资源也就是这台节点的最高配置;如今的状况是(假若有5台节点)将1T的表拆分为5分分别存储在5台节点上,查询的时候5台节点都会执行查询操做,而后将5台节点的查询结果汇总在一块儿返回给用户,这样所能用的资源就是整个集群的资源,处理效率天然也会快不少(不要担忧集群汇总查询结果的耗时太大);
默认状况下elasticsearch会将用户的index拆分为5个shard,能够在建立索引的时候经过number_of_shards参数制定shard的数量;
整体来讲,shard的数量与集群中的data节点数量成正比但不宜超过data节点数量;json

注意: 索引一旦建立,shard值不可改变,但replicas的值能够改变;

Replicas

replicas(副本)简单的理解就是某个文件的拷贝,两个文件如出一辙,查询的时候两个都能看,误删除其中一个的时候另外一个还在;本质是保证数据不丢失,在elasticsearch中replicas的另外一个做用就是提升查询效率;
replica是相对与shard而言的,通常成对使用,好比你有一个索引,shard设置为5,replica设置为1,那么总的切片数为shard(5) + shard(5) * replicas(1) = total(10);若是有5台data节点,每台节点上都会存储两个不相同的shard,这样某台data节点坏掉集群能从其它节点上保存了整个index的5个shard,因此不影响正常使用;一旦有新的节点加入,集群能够从其它节点将shard再次存储在该节点,从而保证集群高可用性;
replica可在index建立后更改,其值越大搜索效率越高,但写入性能越低(一条数据写入操做须要作(1+replicas)遍),具体值与集群data节点数量相关,不宜超过【data节点数-1】app

参考文档

elasticsearch概念介绍: https://www.elastic.co/guide/...
相关文章
相关标签/搜索