ES介紹

一、ES的簡介

   1、ES是一個開源分佈式全文檢索引擎,每個字段均可被索引、被搜索。
   2、使用Lucene作爲核心來實現索引和搜索的功能,通過RESTful API提供簡單的操作方式。
   3、數據的存儲、檢索效率高;擴展性強,可以擴展到上百臺服務器,處理PB級別的數據。(1PB=1024T=1024*1024G)
   4、ES的節點啓動後,通過多播(multicast)或者單播尋找集羣中的其他節點,並與之建立連接。

   5、ES對比關係型數據庫:
        索引(index):相當於一個數據庫。根據索引名稱(必須全小寫)進行文檔的增刪改查。一個ES集羣可以創建任意數量的索引。
        類型(type):相當於DB的表table。type是index內部的邏輯分區。
        文檔(document):相當於DB的行row。document是索引和搜索的原子單位,是包含了n個field字段的容器,json格式。
        字段(field):相當於DB的列columns

   6、節點node
         client_node: 協調節點,類似路由,請求分發的作用。
         master_node:主節點數據分片、數據的增刪(es底層沒有更新數據操作,改是先刪後增)、能提供搜索操作
         data_node: 數據節點,數據從主節點同步過來。此類型的節點只能做搜索操作

   7、分片shardshard是一個Lucene實例,分片將索引劃分成多份進行存儲(水平分割)。 每個分片本身也是一個功能完善的獨立“索引”,分片可以被放置到集羣的任何節點上。 ES就是通過分片來實現分佈式
   7.1 主分片和副本分片:ES會對分片做一份或者多份複製分片(replica shard)。默認情況下,ES中的每個索引被分成5個主分片和各一份複製分片,一共10個分片。
   7.2 副本分片的作用: 1.提高搜索性能、吞吐量   2.故障遷移:在分片/節點失效的情況下,提供了高可用(所以複製分片與主分片不能在同一個節點上)

   8、物理上的ES集羣:  集羣cluster  ->  節點node  ->  分片shard
         索引的邏輯結構:   索引index  ->   結構(mapping)  ->  類型type  ->  字段field

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章