04_手工画图剖析Elasticsearch核心概念:NRT、索引、分片、副本等

这里写自定义目录标题

    • 1、lucene和elasticsearch的前世今生
    • 2、elasticsearch的核心概念
    • 3、elasticsearch核心概念 vs. 数据库核心概念

1、lucene和elasticsearch的前世今生

2、elasticsearch的核心概念

3、elasticsearch核心概念 vs. 数据库核心概念

2.elasticsearch的核心概念
(1)Near Realtime (NRT):近实时, 从写入数据到数据可以被搜索到有一个小延迟(大概1秒);基于es执行搜索和分析可以达到秒级
(2) cluster集群:包括多个节点, 每个节点属于哪个集群是通过一个配置(集群名称,默认是elasticsearch)来决定的, 对于中小型应用, 刚刚开始一个集群就一个节点很正常
(3) Node: 节点, 集群的一个节点, 节点的名称(默认是随机分配的), 节点名称很重要(在执行运维管理操作的时候), 默认节点会加入一个名称为"elasticsearch"的集群, 如果直接启动一堆节点, 那么他们会自动组成一个elasticsearch集群, 当日一个节点也可以组成一个elasticsearch集群
(4) Document & field 文档,es中的最小数据单元,一个document可以是一条客户数据,一条商品分类数据,一条订单数据,通常用JSON数据结构表示,每个index下的type中,都可以去存储多个document。一个document里面有多个field,每个field就是一个数据字段。
(5) Index: 索引, 包含一堆有相似性结构的文档数据, 比如可以有一个客户索引, 商品分类索引, 订单索引, 索引有一个名称, 一个index包含很多document, 一个index就代表了一个类似或相同的document, 比如一个product index商品索引, 里边就存放所有的商品document
(6) Type: 每个索引下面可以有一个或多个type, 8之后改成只有一个了
(7) shard: 单台机器无法存储大量数据, es讲一个索引中的数据横向切分多个shard, 分布在多台服务器上存储. 有了shard就看可以横向拓展, 存储更多数据, 让搜索和分析等操作分布到多台服务器上去执行, 提升吞吐量和性能. 每个shard都是一个Lucene index.
(8) relica: 任何一台服务随时都有可能宕机, 此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。

你可能感兴趣的:(es,elasticsearch,搜索引擎,lucene)