Elasticsearch(ES)通俗简介

Elasticsearch到底是什么玩意

Elasticsearch(ES)是一款基于Lucene的分布式、可扩展、高可用、实时的搜索与数据分析引擎。Lucene是使用Java实现的一套全文检索类库,ES基于Lucene做了分布式相关的工作。

Elasticsearch有哪些应用

  1. 全文检索
  2. 结构化查询
  3. 近实时数据
  4. 海量数据进行近实时的处理
  5. 分析统计

Elasticsearch相关概念

  1. 集群(cluster):一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。
  2. 节点(node):一个节点就是集群中的一个服务器,作为集群的一部分,参与集群的索引和搜索功能。
  3. 索引(index): 一个索引就是一个具有相似特征的文档集合,相当于一个数据集。
  4. 类型(type):在一个索引中,你可以定义一种或多种类型,相当于对一个索引中数据的逻辑划分(ES官方文档明确说明不推荐使用type,即建议一个索引只有一个type。ES7.0已经废弃了type)。
  5. 文档(document): 一个文档是一个可被索引的基础信息单元,就是索引里面的一条数据,使用JSON格式来表示。
  6. 域(field): 文档中的一个数据字段。一个文档由多个域组成。
  7. 分片(shards):分片是索引的一部分,一个索引由多个分片组成。每个分片可以分布在不同的节点上,ES会根据文档id(也可以指定其他字段)做hash,使用得到的hash值将文档路由到指定分片上。分片是ES做Data Rebalance的最小单元。
  8. 副本(replicas):创建索引时可以为索引指定0个或者多个副本。副本是分片级别的,即索引的分片由1个主分片(primary shard)和0个或者多个副本分片(replica shard)组成。primary shard可以接受读取和写入请求,replica shard只能接受读取请求。所以副本只能提高数据的可用性和并发读取能力。当primary shard所在服务器的节点挂掉以后,ES会通过leader选举机制将replica shard为primary shard。

Elasticsearch与传统数据库对应关系

Elasticsearch(ES)通俗简介_第1张图片

Elasticsearch生态

  1. Kibana:ES的数据查询、分析和监控的可视化平台。ES6.3以后,Kibana开源免费。
  2. Logstash:开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。
  3. Security:ES的权限管理工具。从 6.8 和 7.1 版本开始,核心安全功能(例如 TLS、文件和原生 Realm 身份验证,以及基于角色的访问控制)免费提供。
  4. Curator:ES的索引和快照管理工具。

你可能感兴趣的:(笔记,大数据,elasticsearch)