ElasticSearch的基本概念

什么是ElasticSearch?

Elasticsearch 是一个分布的式开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。

可以在承载了pb级数据的成百上千的服务器上运行

具有横向扩展性,高可用性,使用简单的特点

ElasticSearch的使用方式有哪些?

搜索引擎(主要功能)

分析框架(强大的聚合功能)

数据存储,主要是日志

ElasticSearch和sql的区别

ElasticSearch的容器是索引,可以理解为数据库。ElasticSearch的mapping定义了数据类型,sql的数据类型是表结构定义。ElasticSearch的字段是sql的列,文档是sql的行。

为了管理大量数据,ElasticSearch的索引通常拆分成多个分片,分布在多个节点。

ElasticSearch的相关概念

近实时性

ElasticSearch具有近实时性,搜索时可能会有延迟,一般是1秒

集群

搭建集群的优势

高可用性。

健康状态。

存储空间。

     如果 Elasticsearch 只放在一台服务器上,假如这台主机突然断网了或者被攻击了,那么整个 Elasticsearch 的服务就不可用了。但如果改成 Elasticsearch 集群的话,有一台主机宕机了,还有其他的主机可以支撑,这样就仍然可以保证服务是可用的。一台主机宕机了,这台主机里面存的数据依然是可以被访问到的,因为在其他的主机上也有备份,但备份的时候也不是整台主机备份,是分片备份的。索引的不同分片存储在不同的主机上,分片的副本也尽可能存在不同的主机上,这样可以提高容错率,从而提高高可用性。如果只有一台主机,分片和副本其实是没意义的,一台主机挂掉了,就全挂掉了。

集群的结构

多台主机构成了一个集群,每台主机称作一个节点(Node)。

节点

节点是单个Elasticsearch的实例, 用于存储数据、 参与集群索引与搜索等功能。默认情况下, 节点的名称是在节点启动时生成的随机通用唯一标识符。

索引

索引相当于数据库

Mapping

每个index都有一个mapping, mapping可以被自定义,也可以是默认第一条被创建的数据结构

类型

type用于index的逻辑分区,一个index不能创建多个type

文档

文档是能被index的基本信息单元,文档由字段组成,类似数据库中的一行记录

分片

       分片 Shard,就是对数据切分成了多个部分。我们知道 Elasticsearch 中一个索引(Index)相当于是一个数据库。但索引存储的时候并不是整个存一起的,它是被分片存储的,Elasticsearch 默认会把一个索引分成五个分片。分片是数据的容器,数据保存在分片内,分片又被分配到集群内的各个节点里。当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里,所以相当于一份数据被分成了多份并保存在不同的主机上。

副本

        副本Replica,就是对原分片的复制,和原分片的内容是一样的,Elasticsearch 默认会生成一份副本,所以相当于是五个原分片和五个分片副本,相当于一份数据存了两份,并分了十个分片,当然副本的数量也是可以自定义的。这时我们只需要将某个分片的副本存在另外一台主机上,这样当某台主机宕机了,我们依然还可以从另外一台主机的副本中找到对应的数据。所以从外部来看,数据结果是没有任何区别的。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值