Elastic Search 介绍和基本概念

Elastic Search 特点

Elastic Search 可能是是当下最火的搜索引擎中间件了。为什么这么火呢?主要是因为他有几大绝艺:

  1. 快速。无论什么时候,你需要向 ES 查询你的数据,都能够在你还没有反应过来的时候,把查询的结果送到你面前。堪称一个快如闪电。
  2. 灵活。ES 就像一个大胃王,不管是数字、文本、地理信息类型数据,也不管是结构化的还是非结构化的数据,ES 统统都不在话下,都能够索引并进行查询分析。并且依赖 ES 强大的查询语言,灵活性完全可以和 SQL 相提并论。
  3. 稳定。通过一台机器处理 1T 的数据和通过 200 台机器处理
    100T 的数据在效率上没有大的差别。当你的数据快速增长的时候,加服务器就好了。隔端时间挂掉一台服务器对 ES 来说根本就像挠痒痒,数据完整性,处理的效率用户不会有不同感受。如果服务器全挂了?呃,那你应该换个好运维了。
  4. 简单。ES 架构简单,无论是部署一个单节点的 ES 还是几百台机器的一个集群,都可以很容易的完成。除了 要求 JDK 以外,没有什么其他的依赖,同学们能够快速的在单机上就搭建一个实验环境,试用 ES 的全部功能。

Elastic Search 概念

在学习和使用 ES 之前,有一些 ES 的核心概念需要先了解。了解这些概念有助于你对 ES 的理解。

准实时(Near Realtime)

和关系数据库这类系统不一样。在关系型数据库中,对数据的修改马上就反应在查询结果中了,但是在 ES 系统中,对数据进行索引后,这个结果要反应到你的查询结果,可能有一个小的延迟。这个延迟通常在一秒以内。这是因为在 ES 在索引文档的时候,是先将数据写入 Member Cache 中,然后系统每隔一秒钟将 Member Cache 中的数据写入到 FileSystem Cache 中。只有写入到 FileSystem Cache 中的数据才会被查询到。所以会有这个延迟。这也是 ES 被称为准实时系统的原因。

集群(Cluster)

一台或者多台 ES 服务器组成一个集群。没错,一台服务器也被称为集群。集群中所有的节点一起来保存你的数据,共同提供给客户端索引、查询数据的能力。一个集群会有一个唯一的集群名称,这个名称默认是 “elasticsearch” ,也可以通过配置修改。ES 的节点通过这个唯一的名字加入集群,并成为集群的一部分。

节点(Node)

节点是一个单独的 ES 服务器,他作为 ES 集群的一部分,和其他节点一起协同完成 ES 集群的文档索引,文档查询的能力。节点在集群中也有一个唯一的名字。默认情况下在节点启动的时候自动生成一个随机的唯一标识符来指定节点的名字,你也可以通过配置来指定。这个名字用来标识节点在集群中的身份。

索引(Index)

文档是有相似特性的文档的集合。概念上类似关系数据的表(Table)。索引在集群中用唯一的名称来标识,这个名称的字母必须都是小写。执行索引、查询、修改、删除文档的操作时候,都需要通过名称指明是在哪个索引上进行的。在一个集群中,我们可以创建任意多个索引。

类型(Type)

这个是一个在 ES 6.0 开始后被定义为不推荐使用的特性。原本的目的是为了让用户在同一个索引中保存不同类型数据文档。例如在同一个索引中既保存用户信息,又保存订单信息。现在推荐在同一个索引中只保存一类数据。例如一个索引保存用户信息,另一个索引保存订单数据。预计这个特性将在 ES 7.0 版本中被删除,所以大家就不要在用这个特性了。

文档(Document)

文档是 ES 中被索引的基本单位。概念上类似关系数据库中的一条记录。形式上,一个文档是一个 JSON 格式的数据。一个索引中可以存储任意多数量的文档。

分片(Shards)

分片是 ES 中非常重要的概念。一个索引可能会存储大量的数据。这些数据存储所需要的空间可能会超出一个单独服务器存储空间的限制。或者说大量的数据都存储在一个单独的服务器上,会导致在索引中查询数据的性能太差。

为了解决这个问题,ES 将索引的数据分割成多份,称为分片。当你创建一个索引的时候,可以简单的通过一个数字来指定分片的数量。默认情况下 ES 会为每个索引分片5个分片。每个分片存储索引的一部分数据。每个分片能够针对自己存储的这部分数据,提供全部的功能。分片的数量在创建索引的时候可以指定,索引数据之后,分片数量不能改变。

切片为 ES 提供了两个好处:

  1. 他能够方便的水平分割和扩展你的索引存储的数据量。当数据量很大的时候,用更多的索引分片来保存数据。
  2. 多个分片能够让你的索引的操作并行化。让一次操作分布在多个不同节点的多个分片上,提高系统的吞吐量。

这种分布式和并行化都在 ES 的后台进行,对用户来说是透明的。

ES 的每一个分片都是一个独立的 Lunce 的索引。这也是为什么说 ES 是一个基于 Lunce 的分布式搜索引擎的原因。基于 Lunce 索引的限制,一个 ES 的分片存储的文档的数量最大是
2,147,483,519 条。这个数值是Integer.MAX_VALUE - 128 计算得到的。

副本(Relicas)

在一个大规模的集群中,集群中的节点随时随地都可能会发生故障。一旦某个节点因为网络、存储或者其他的原因失效的时候,存储在改节点上的分片的数据就丢失了。为了应对这种问题, ES 允许你为索引的每个分片建立一个或者多个复制品,称为副本。这样,索引的每个分片就有一个主分片和多个副本分片。

副本机制也为 ES 带来两大好处

  1. 首先,他在 ES 的集群中的某些节点因为各种原因导致故障的时候,提供了高可用性。不会因为部分节点的失效导致整个 ES 集群不可用。当然,首先索引分片的主分片和副本分片不能存储在一个服务器上,否则一个服务器故障了,会导致整个分片不可用。
  2. 同分片一样,多个副本同样能够将你的查询分布到不同的节点上,让查询操作并行化,从而提高查询的吞吐量。

默认情况下,ES 会为索引分配一个副本。所以一个ES 集群你应该提供两个以上的节点。来获得高可用性。

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

推荐阅读更多精彩内容

  • 本周在数据库研发和运营组做了关于ELK的分享,这个分享主要是居于ES部分做的相关理论和测试的结论。下面是对此次分享...
    飞鸿无痕阅读 5,855评论 0 8
  • 简介 Elasticsearch是一个高可扩展的开源全文搜索和分析引擎,它允许存储、搜索和分析大量的数据,并且这个...
    零度沸腾_yjz阅读 5,520评论 0 8
  • 欢迎访问我的博客查看原文:http://wangnan.tech 注:文本整理自《ELKstack权威指南》 架构...
    GhostStories阅读 19,775评论 0 31
  • 恭喜是一只狗。它是2015年的冬天嫂子从学校抱回来的。当时家里刚死了一只名叫汪汪的黑色草狗,大概为了寄托哀思,哥嫂...
    杨戬阅读 288评论 2 3
  • 记~北岛对脱口秀的看法:“那是媒体用大量的废话,变成笑料,填充人与人之间沉默的深渊” 对音乐:“音乐是植根于人的生...
    月出雅南阅读 653评论 0 1