1、基礎組成
1.2、index:基本單位
1.3、document:表中的一行
1.4、type
2、 es 的分布式架構原理(es 是如何實現分布式的啊)?
主從機制:高可用
非 master節點宕機了,那麼會由 master 節點,讓那個宕機節點上的 primary shard 的身份轉移到其他機器上的 replica shard(將其他機器上的此台上的primary shard的副本replica shard切換為primary shard)。接著你要是修復了那個宕機機器,重啟了之後,master 節點會控制將缺失的 replica shard 分配過去,同步後續修改的資料,讓集群恢復正常。
3、 es 寫入資料的工作原理是什麼啊?es 查詢資料的工作原理是什麼啊?底層的 lucene 介紹一下唄?倒排索引了解嗎?
2、寫資料詳細過程(底層原理)
3、 每隔 1 秒鐘,es 將 buffer(這一秒必須是有資料的) 中的資料寫入乙個新的segment file
,每秒鐘會產生乙個新的磁碟檔案segment file
,這個segment file
中就儲存最近 1 秒內 buffer 中寫入的資料。
4、 重複上面的步驟,新的資料不斷進入 buffer 和 translog,不斷將buffer
資料寫入乙個又乙個新的segment file
中去,每次refresh
完 buffer 清空,translog 保留。隨著這個過程推進,translog 會變得越來越大。當 translog 達到一定長度的時候,就會觸發commit
操作
2.4、流程:flush
2.5、translog的作用:
2.6、總結:
3、刪除和更新
3.2、刪除:如果是刪除操作,會生成乙個.del
檔案,裡面將某個 doc 標識為deleted
狀態,那麼搜尋的時候根據.del
檔案就知道這個 doc 是否被刪除了。
3.3、更新:如果是更新操作,就是將原來的 doc 標識為deleted
狀態,然後新寫入一條資料。
4、es 讀資料過程
5、es搜尋過程
4、 es 在資料量很大的情況下(數十億級別)如何提高查詢效率啊?
2、資料預熱:
2、冷熱分離
3、document模型設計:盡量別用複雜的關聯查詢
4、分頁效能優化
解決方法:
5、 es 生產集群的部署架構是什麼?每個索引的資料量大概有多少?每個索引大概有多少個分片?
Elasticsearch 架構原理
elasticsearch的一些架構設計,對我們做效能調優 故障處理,具有非常重要的影響。下面將從elasticsearch的準實時索引的實現 自動發現 rounting和replica的讀寫過程,shard的allocate控制 在傳統的資料庫中,乙個欄位存乙個值,但是這對於全文搜尋是不足的。想要...
Elasticsearch 架構原理
elasticsearch的一些架構設計,對我們做效能調優 故障處理,具有非常重要的影響。下面將從elasticsearch的準實時索引的實現 自動發現 rounting和replica的讀寫過程,shard的allocate控制 在傳統的資料庫中,乙個欄位存乙個值,但是這對於全文搜尋是不足的。想要...
elasticsearch原理分析
集群內部原理 1 主節點 master node 主節點負責集群層面的相關操作,管理集群變更。通過配置 node.master true 預設 使節點具有被選舉為 master 的資格。主節點是全域性唯一的,將從有資格成為master的節點中進行選舉。2 資料節點 data node 負責儲存資料 ...