Elasticsearch發展史


簡介

Elasticsearch是當前比較流行的開源的分布式搜索和數據分析引擎,具備易使用、高性能、擴展性強等特點。是ElasticStack的核心組件,以其為核心構建的ELK,已經是日志分析領域的事實標准。Elasticsearch是怎么一步一步發展成熟的呢?

2010年2月8日, Shay Banon 發表了一篇博客,說他基於Lucene開發(封裝 ???)了一個分布式搜索引擎,實現了一些功能。。。
在這里插入圖片描述

0.7.0

2010年5月14日發布,第一個可以查詢到發版信息的版本,重要特性:

  • Zen Discovery 自動發現模塊
  • Groovy Client支持
  • 簡單的插件管理機制
  • 更好支持ICU分詞器
  • 更多的管理API

1.0.0

2014年2月14日發布,重要特性:

  • Snapshot/Restore API 備份恢復API
  • 支持聚合分析Aggregations
  • CAT API 支持
  • 支持聯盟查詢
  • 斷路器支持
  • Doc values 引入

2.0.0

2015年10月28日發布,重要特性:

  • 增加了 pipleline Aggregations
  • query/filter 查詢合並,都合並到query中,根據不同的上下文執行不同的查詢
  • 存儲壓縮可配置
  • Rivers 模塊被移除
  • Multicast 組播發現被移除,成為一個插件,生產環境必須配置單播地址

5.0.0

2016年10月26日發布,重要特性:

  • Lucene 6.x 的支持,磁盤空間少一半;索引時間少一半;查詢性能提升25%;支持IPV6。
  • Internal engine級別移除了用於避免同一文檔並發更新的競爭鎖,帶來15%-20%的性能提升
  • Shrink API ,它可將分片數進行收縮成它的因數,如之前你是15個分片,你可以收縮成5個或者3個又或者1個,那么我們就可以想象成這樣一種場景,在寫入壓力非常大的收集階段,設置足夠多的索引,充分利用shard的並行寫能力,索引寫完之后收縮成更少的shard,提高查詢性能
  • 提供了第一個Java原生的REST客戶端SDK
  • IngestNode,之前如果需要對數據進行加工,都是在索引之前進行處理,比如logstash可以對日志進行結構化和轉換,現在直接在es就可以處理了
  • 提供了 Painless 腳本,代替Groovy腳本

6.0.0

2017年8月31日發布,重要特性:

  • 稀疏性 Doc Values 的支持
  • Index sorting,即索引階段的排序。
  • 順序號的支持,每個 es 的操作都有一個順序編號(類似增量設計)
  • 無縫滾動升級
  • Removal of types,在 6.0 里面,開始不支持一個 index 里面存在多個 type
  • Index-template inheritance,索引版本的繼承,目前索引模板是所有匹配的都會合並,這樣會造成索引模板有一些沖突問題, 6.0 將會只匹配一個,索引創建時也會進行驗證
  • Load aware shard routing, 基於負載的請求路由,目前的搜索請求是全節點輪詢,那么性能最慢的節點往往會造成整體的延遲增加,新的實現方式將基於隊列的耗費時間自動調節隊列長度,負載高的節點的隊列長度將減少,讓其他節點分攤更多的壓力,搜索和索引都將基於這種機制。
  • 已經關閉的索引將也支持 replica 的自動處理,確保數據可靠。

7.0.0

2019年4月10日發布,重要特性:

  • 引入了真正的內存斷路器,它可以更精准地檢測出無法處理的請求,並防止它們使單個節點不穩定
  • Zen2 是 Elasticsearch 的全新集群協調層,提高了可靠性、性能和用戶體驗,變得更快、更安全,並更易於使用
  • 查詢優化
    • 更快的前 k 個查詢
    • 間隔查詢
    • Function score 2.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM