elasticsearch之基本概念

下面几个关于es的核心概念,理解这些概念可以让我们学习更加轻松

Near Realtime (NRT) 近实时

Elasticsearch 是一个接近实时的搜索平台,也就是稍微会有一些延迟,默认是1s,从你创建一个索引文档开始到这个文档可以被搜索需要耗时1s,但是我们可以设置RefreshPolicy实现实时,但是这样会使服务器频繁刷新索引。

Cluster(集群)

集群是一个或者多个server的节点的集合,保存你的完整数据并且联合提供索引查询,要确保在不同的环境中不去使用相同的集群名称,否则最后会发现一些节点加入了不同集群
,例如,你使用logging-dev, logging-stage, and logging-prod分别代表不同的集群,注意,一个单节点的集群也是合理并且可以的,或者你可以拥有一些相互独立的集群,并且他们都有自己独一无二的名字。


Node (节点)


一个节点是一个单独的服务器也是集群的一部分,存储数据,参数索引创建和搜索,和集群类似,单个节点被识别是通过一个默认的随机uuid,
这个是在节点启动的时候分配,如果你不想使用默认的也可以自己定义,此名称对于管理目的很重要,
因为您希望确定网络中的哪些服务器对应于ElasticSearch集群中的哪些节点。一个节点可以通过配置cluster name 加入到某一个集群中
如果集群中就你一个节点,那么就组成了一个单节点及集群,名字叫elasticsearch


Index (索引)


一个索引是具有一些拥有相同特性的文档集合,例如,你可以创建 客户索引 ,产品索引,订单索引分别存储数据,一个索引是通过名称定义,必须是小写,
这个索引名在创建索引数据,搜索,更新,删除等操作,在一个简单的集群中,你可以定义很多索引


Type


6.0.0以后的es版本都已经弃用,不再说明。
Document 文档 
一个文档是可以被索引存储的最小单元,类似于关系数据库的一条记录,这个文档被解析为json格式数据


Shards & Replicas (分片和副本)

在一个单节点上一个索引的数据量如果太大,可能会超过硬件能够的限制,例如,一个索引上有十亿个文档需要占用1TB的磁盘空间,这个节点可能存储不下,
或者单独提供搜索服务变得特别慢,为了解决这个问题,Elasticsearch可以将index切分成多个分片,在你创建索引的时候,你可以简单定义这个所以
可以被分片的数量,每个分片就是一个功能完成和独立的index,可以被存储在任意的集群节点上。

分片的重要性从两个方面解读:

1、水平分割扩展你的存储能力

2、它允许您跨碎片(可能在多个节点上)分布和并行操作,从而提高性能/吞吐量


副本的两个重要性原因

1、提供高可用在一个分片或者节点故障的情况下

2、可以提高你的搜索吞吐量,因为所有的副本都可以被搜索。
 

你可能感兴趣的:(elasticsearch,es,基本概念,elasticsearch)