一文搞懂 Elasticsearch 基本概念

  1. Cluster 和 Node

    Cluster 是对外提供搜索服务的集群,组成这个 Cluster 的各个节点叫做 Node。节点 Node 是 Elasticsearch 运行的实例;集群 Cluster 是一组有着同样 cluster.name 的节点,它们协同工作,互相分享数据,提供了故障转移和扩展的功能。Node 又可分为 IndexNode(提供读写)、DataNode(只提供数据存储和访问,负载均衡)等。节点之间是对等关系的(去中心化),而弱化的 Master 节点只不过多了维护集群状态的功能。每个节点上面的集群状态数据都是实时同步的。如果 Master 节点出故障,按照预定的程序,其他一台 Node 机器会被选举成为新的 Master。

  2. Shards

    Elasticsearch 将一个完整的索引分成若干部分,每个部分就是一个 Shards,每个 Shard 实际上就是一个基于 Lucene 的索引。Shards 存储在相同或不同的 Node 上;Shards 的数量一般在索引创建前指定,且索引创建后不能更改(其初始配置也是可以修改的)。检索时,Elasticsearch 会将查询发送到不同的 Shards 上并将返回结果合并,这个过程对用户来说是透明的。

  3. Replicas

    Replicas 是索引的冗余备份,可用于防止数据丢失或用来做负载均衡。一般地,Elasticsearch 会自动对搜索请求进行负载均衡。

  4. Recovery

    在有节点加入或退出集群 Cluster 或故障节点重新启动时,Elasticsearch 会根据机器的负载情况,对索引分片 Shards 进行重新分配。

  5. River

    River 是一个运行在 Elasticsearch 集群内部的插件,主要用来从外部获取异构数据,然后在 Elasticsearch 里创建索引。常见的有 RabbitMQ river Plugin、Twitter river Plugin、Wikipedia river Plugin 、MongoDB river Plugin 、JDBC river Plugin等。

  6. Gateway

    Gateway 是Elasticsearch 索引数据快照的存储方式,当 es 集群关闭再重新启动时,就会从 Gateway 中读取索引快照。es 支持多种类型的 Gateway,有本地文件系统(像普通的 Lucene 索引一样,这也是默认方式)、分布式文件系统(如 freeds)、Hadoop 的 HDFS 和 Amazon 的 S3 云存储服务等。

    Gateway 与 workDir的区别:Gateway 存储完整的索引数据,workDir 对外提供相应查询操作;Gateway 可以是本地文件系统、共享文件系统或 HDFS 等云存储,workDir 可以是内存、本地文件系统或者两者结合;Gateway 被假设是可靠的,持久化的数据存储,workDir 被假设是不安全的运行环境,数据允许丢失。

  7. Discovery.zen

    Discovery.zen 代表 es 的自动发现节点机制。Zen 用来实现节点自动发现和 Master 节点选举,Master 节眯负责处理节点的加入和退出以及分片 Shard 的重新分配。Master 不是固定不变的,当前 Master 出故障后,其他节点自动选举产生新的 Master。只有当节点准备就绪以后,该节点才会被通知可以被使用。在 config/elasticsearch.yml 中可以进行相应参数的设置。

    es 是一个基于 P2P 的系统,它通过广播机制寻找存在的节点,再通过多播协议来进行节点间的通信,同时也支持点对点的交互。因此,需要节点发现与 Master 选举机制。

  8. Transport

    Transport 代表 es 内部节点或集群与客户端的交互方式,默认内部是使用 TCP 协议进行交互,同时它支持 HTTP 协议(JSON 格式)、Thrift、Servlet、Memcached、ZeroMQ 等的传输协议(通过插件方式集成)

  9. Index、Type、Document、Field

    • Index 是 es 存储数据的地方,可以快速高效地对索引中的数据进行全文索引,类似于 RDBMS 数据中的 Database。
    • Type 类似于 Database 中的 Table,用来存放具体数据,在 Index 下一般会有多个存放数据的 Type。
    • Document 是类似关系数据库中的一行数据,在一个 Type 里的每一个 Document 都有一个唯一的 ID 作为区分,这里与 RDBMS 不同的是,Document 不需要有固定的结构,不同文档可以具有不同的字段集合;
    • Field 类似关系数据库的某一列,是 es 数据存储的最小单位。
关系型数据库 | Elasticsearch
---|---
数据库 Database | 索引 Index,支持全文检索
表 Table | 类型 Type
数据行 Row | 文档 Document,但不需要固定结构,不同文档可以具有不同字段集合
数据列 Column | 字段 Field
模型 Schema | 映像 Mapping
  1. Mapping

    Mapping 定义索引下 Type 的字段处理规则,如索引如何建立、索引数据类型、是否保存原始索引 JSON 文档、是否压缩原始 JSON 文档、是否需要分词处理、如何进行分词处理等。一般地,一个索引文件下能存储不同映像(Mapping)的类型文件(Types)。Mapping 也可通过语句删除,此时对应的类型文件下所有数据也会被删除。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容