Elastic Search 介紹和基本概念

Elastic Search 特點(diǎn)

Elastic Search 可能是是當(dāng)下最火的搜索引擎中間件了讼渊。為什么這么火呢?主要是因?yàn)樗袔状蠼^藝:

  1. 快速尊剔。無論什么時(shí)候爪幻,你需要向 ES 查詢你的數(shù)據(jù),都能夠在你還沒有反應(yīng)過來的時(shí)候须误,把查詢的結(jié)果送到你面前挨稿。堪稱一個(gè)快如閃電京痢。
  2. 靈活奶甘。ES 就像一個(gè)大胃王,不管是數(shù)字祭椰、文本臭家、地理信息類型數(shù)據(jù),也不管是結(jié)構(gòu)化的還是非結(jié)構(gòu)化的數(shù)據(jù)方淤,ES 統(tǒng)統(tǒng)都不在話下钉赁,都能夠索引并進(jìn)行查詢分析。并且依賴 ES 強(qiáng)大的查詢語言携茂,靈活性完全可以和 SQL 相提并論你踩。
  3. 穩(wěn)定。通過一臺(tái)機(jī)器處理 1T 的數(shù)據(jù)和通過 200 臺(tái)機(jī)器處理
    100T 的數(shù)據(jù)在效率上沒有大的差別。當(dāng)你的數(shù)據(jù)快速增長(zhǎng)的時(shí)候带膜,加服務(wù)器就好了吩谦。隔端時(shí)間掛掉一臺(tái)服務(wù)器對(duì) ES 來說根本就像撓癢癢,數(shù)據(jù)完整性膝藕,處理的效率用戶不會(huì)有不同感受逮京。如果服務(wù)器全掛了?呃束莫,那你應(yīng)該換個(gè)好運(yùn)維了。
  4. 簡(jiǎn)單草描。ES 架構(gòu)簡(jiǎn)單览绿,無論是部署一個(gè)單節(jié)點(diǎn)的 ES 還是幾百臺(tái)機(jī)器的一個(gè)集群,都可以很容易的完成穗慕。除了 要求 JDK 以外饿敲,沒有什么其他的依賴,同學(xué)們能夠快速的在單機(jī)上就搭建一個(gè)實(shí)驗(yàn)環(huán)境逛绵,試用 ES 的全部功能怀各。

Elastic Search 概念

在學(xué)習(xí)和使用 ES 之前,有一些 ES 的核心概念需要先了解术浪。了解這些概念有助于你對(duì) ES 的理解瓢对。

準(zhǔn)實(shí)時(shí)(Near Realtime)

和關(guān)系數(shù)據(jù)庫這類系統(tǒng)不一樣。在關(guān)系型數(shù)據(jù)庫中胰苏,對(duì)數(shù)據(jù)的修改馬上就反應(yīng)在查詢結(jié)果中了硕蛹,但是在 ES 系統(tǒng)中,對(duì)數(shù)據(jù)進(jìn)行索引后硕并,這個(gè)結(jié)果要反應(yīng)到你的查詢結(jié)果法焰,可能有一個(gè)小的延遲。這個(gè)延遲通常在一秒以內(nèi)倔毙。這是因?yàn)樵?ES 在索引文檔的時(shí)候埃仪,是先將數(shù)據(jù)寫入 Member Cache 中,然后系統(tǒng)每隔一秒鐘將 Member Cache 中的數(shù)據(jù)寫入到 FileSystem Cache 中陕赃。只有寫入到 FileSystem Cache 中的數(shù)據(jù)才會(huì)被查詢到卵蛉。所以會(huì)有這個(gè)延遲。這也是 ES 被稱為準(zhǔn)實(shí)時(shí)系統(tǒng)的原因凯正。

集群(Cluster)

一臺(tái)或者多臺(tái) ES 服務(wù)器組成一個(gè)集群毙玻。沒錯(cuò),一臺(tái)服務(wù)器也被稱為集群廊散。集群中所有的節(jié)點(diǎn)一起來保存你的數(shù)據(jù)桑滩,共同提供給客戶端索引、查詢數(shù)據(jù)的能力。一個(gè)集群會(huì)有一個(gè)唯一的集群名稱运准,這個(gè)名稱默認(rèn)是 “elasticsearch” 幌氮,也可以通過配置修改。ES 的節(jié)點(diǎn)通過這個(gè)唯一的名字加入集群胁澳,并成為集群的一部分该互。

節(jié)點(diǎn)(Node)

節(jié)點(diǎn)是一個(gè)單獨(dú)的 ES 服務(wù)器,他作為 ES 集群的一部分韭畸,和其他節(jié)點(diǎn)一起協(xié)同完成 ES 集群的文檔索引宇智,文檔查詢的能力。節(jié)點(diǎn)在集群中也有一個(gè)唯一的名字胰丁。默認(rèn)情況下在節(jié)點(diǎn)啟動(dòng)的時(shí)候自動(dòng)生成一個(gè)隨機(jī)的唯一標(biāo)識(shí)符來指定節(jié)點(diǎn)的名字随橘,你也可以通過配置來指定。這個(gè)名字用來標(biāo)識(shí)節(jié)點(diǎn)在集群中的身份锦庸。

索引(Index)

文檔是有相似特性的文檔的集合机蔗。概念上類似關(guān)系數(shù)據(jù)的表(Table)。索引在集群中用唯一的名稱來標(biāo)識(shí)甘萧,這個(gè)名稱的字母必須都是小寫萝嘁。執(zhí)行索引、查詢扬卷、修改牙言、刪除文檔的操作時(shí)候,都需要通過名稱指明是在哪個(gè)索引上進(jìn)行的邀泉。在一個(gè)集群中嬉挡,我們可以創(chuàng)建任意多個(gè)索引。

類型(Type)

這個(gè)是一個(gè)在 ES 6.0 開始后被定義為不推薦使用的特性汇恤。原本的目的是為了讓用戶在同一個(gè)索引中保存不同類型數(shù)據(jù)文檔庞钢。例如在同一個(gè)索引中既保存用戶信息,又保存訂單信息∫蚧眩現(xiàn)在推薦在同一個(gè)索引中只保存一類數(shù)據(jù)基括。例如一個(gè)索引保存用戶信息,另一個(gè)索引保存訂單數(shù)據(jù)财岔。預(yù)計(jì)這個(gè)特性將在 ES 7.0 版本中被刪除风皿,所以大家就不要在用這個(gè)特性了。

文檔(Document)

文檔是 ES 中被索引的基本單位匠璧。概念上類似關(guān)系數(shù)據(jù)庫中的一條記錄桐款。形式上,一個(gè)文檔是一個(gè) JSON 格式的數(shù)據(jù)夷恍。一個(gè)索引中可以存儲(chǔ)任意多數(shù)量的文檔魔眨。

分片(Shards)

分片是 ES 中非常重要的概念。一個(gè)索引可能會(huì)存儲(chǔ)大量的數(shù)據(jù)。這些數(shù)據(jù)存儲(chǔ)所需要的空間可能會(huì)超出一個(gè)單獨(dú)服務(wù)器存儲(chǔ)空間的限制遏暴≈豆簦或者說大量的數(shù)據(jù)都存儲(chǔ)在一個(gè)單獨(dú)的服務(wù)器上,會(huì)導(dǎo)致在索引中查詢數(shù)據(jù)的性能太差朋凉。

為了解決這個(gè)問題州丹,ES 將索引的數(shù)據(jù)分割成多份,稱為分片杂彭。當(dāng)你創(chuàng)建一個(gè)索引的時(shí)候墓毒,可以簡(jiǎn)單的通過一個(gè)數(shù)字來指定分片的數(shù)量。默認(rèn)情況下 ES 會(huì)為每個(gè)索引分片5個(gè)分片亲怠。每個(gè)分片存儲(chǔ)索引的一部分?jǐn)?shù)據(jù)蚁鳖。每個(gè)分片能夠針對(duì)自己存儲(chǔ)的這部分?jǐn)?shù)據(jù),提供全部的功能赁炎。分片的數(shù)量在創(chuàng)建索引的時(shí)候可以指定,索引數(shù)據(jù)之后钾腺,分片數(shù)量不能改變徙垫。

切片為 ES 提供了兩個(gè)好處:

  1. 他能夠方便的水平分割和擴(kuò)展你的索引存儲(chǔ)的數(shù)據(jù)量。當(dāng)數(shù)據(jù)量很大的時(shí)候放棒,用更多的索引分片來保存數(shù)據(jù)姻报。
  2. 多個(gè)分片能夠讓你的索引的操作并行化。讓一次操作分布在多個(gè)不同節(jié)點(diǎn)的多個(gè)分片上间螟,提高系統(tǒng)的吞吐量吴旋。

這種分布式和并行化都在 ES 的后臺(tái)進(jìn)行,對(duì)用戶來說是透明的厢破。

ES 的每一個(gè)分片都是一個(gè)獨(dú)立的 Lunce 的索引荣瑟。這也是為什么說 ES 是一個(gè)基于 Lunce 的分布式搜索引擎的原因∧幔基于 Lunce 索引的限制笆焰,一個(gè) ES 的分片存儲(chǔ)的文檔的數(shù)量最大是
2,147,483,519 條。這個(gè)數(shù)值是Integer.MAX_VALUE - 128 計(jì)算得到的见坑。

副本(Relicas)

在一個(gè)大規(guī)模的集群中嚷掠,集群中的節(jié)點(diǎn)隨時(shí)隨地都可能會(huì)發(fā)生故障。一旦某個(gè)節(jié)點(diǎn)因?yàn)榫W(wǎng)絡(luò)荞驴、存儲(chǔ)或者其他的原因失效的時(shí)候不皆,存儲(chǔ)在改節(jié)點(diǎn)上的分片的數(shù)據(jù)就丟失了。為了應(yīng)對(duì)這種問題熊楼, ES 允許你為索引的每個(gè)分片建立一個(gè)或者多個(gè)復(fù)制品霹娄,稱為副本。這樣,索引的每個(gè)分片就有一個(gè)主分片和多個(gè)副本分片项棠。

副本機(jī)制也為 ES 帶來兩大好處

  1. 首先悲雳,他在 ES 的集群中的某些節(jié)點(diǎn)因?yàn)楦鞣N原因?qū)е鹿收系臅r(shí)候,提供了高可用性香追。不會(huì)因?yàn)椴糠止?jié)點(diǎn)的失效導(dǎo)致整個(gè) ES 集群不可用合瓢。當(dāng)然,首先索引分片的主分片和副本分片不能存儲(chǔ)在一個(gè)服務(wù)器上透典,否則一個(gè)服務(wù)器故障了晴楔,會(huì)導(dǎo)致整個(gè)分片不可用。
  2. 同分片一樣峭咒,多個(gè)副本同樣能夠?qū)⒛愕牟樵兎植嫉讲煌墓?jié)點(diǎn)上税弃,讓查詢操作并行化,從而提高查詢的吞吐量凑队。

默認(rèn)情況下则果,ES 會(huì)為索引分配一個(gè)副本。所以一個(gè)ES 集群你應(yīng)該提供兩個(gè)以上的節(jié)點(diǎn)漩氨。來獲得高可用性西壮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市叫惊,隨后出現(xiàn)的幾起案子款青,更是在濱河造成了極大的恐慌,老刑警劉巖霍狰,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抡草,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蔗坯,警方通過查閱死者的電腦和手機(jī)康震,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宾濒,“玉大人签杈,你說我怎么就攤上這事《κ蓿” “怎么了答姥?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谚咬。 經(jīng)常有香客問我鹦付,道長(zhǎng),這世上最難降的妖魔是什么择卦? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任敲长,我火速辦了婚禮郎嫁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祈噪。我一直安慰自己泽铛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布辑鲤。 她就那樣靜靜地躺著盔腔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪月褥。 梳的紋絲不亂的頭發(fā)上弛随,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音宁赤,去河邊找鬼舀透。 笑死,一個(gè)胖子當(dāng)著我的面吹牛决左,可吹牛的內(nèi)容都是我干的愕够。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼佛猛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼链烈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挚躯,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎擦秽,沒想到半個(gè)月后码荔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡感挥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年缩搅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片触幼。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡硼瓣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出置谦,到底是詐尸還是另有隱情堂鲤,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布媒峡,位于F島的核電站瘟栖,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谅阿。R本人自食惡果不足惜半哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一酬滤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寓涨,春花似錦盯串、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蔬墩,卻和暖如春译打,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拇颅。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工奏司, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人樟插。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓韵洋,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親黄锤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搪缨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 本周在數(shù)據(jù)庫研發(fā)和運(yùn)營(yíng)組做了關(guān)于ELK的分享,這個(gè)分享主要是居于ES部分做的相關(guān)理論和測(cè)試的結(jié)論鸵熟。下面是對(duì)此次分享...
    飛鴻無痕閱讀 5,901評(píng)論 0 8
  • 簡(jiǎn)介 Elasticsearch是一個(gè)高可擴(kuò)展的開源全文搜索和分析引擎副编,它允許存儲(chǔ)、搜索和分析大量的數(shù)據(jù)流强,并且這個(gè)...
    零度沸騰_yjz閱讀 5,528評(píng)論 0 8
  • 歡迎訪問我的博客查看原文:http://wangnan.tech 注:文本整理自《ELKstack權(quán)威指南》 架構(gòu)...
    GhostStories閱讀 19,858評(píng)論 0 31
  • 恭喜是一只狗痹届。它是2015年的冬天嫂子從學(xué)校抱回來的。當(dāng)時(shí)家里剛死了一只名叫汪汪的黑色草狗打月,大概為了寄托哀思队腐,哥嫂...
    楊戩閱讀 300評(píng)論 2 3
  • 記~北島對(duì)脫口秀的看法:“那是媒體用大量的廢話,變成笑料奏篙,填充人與人之間沉默的深淵” 對(duì)音樂:“音樂是植根于人的生...
    月出雅南閱讀 687評(píng)論 0 1