《1.》Elasticsearch是基於Lucene開發的。html
《2.》Lucene是基於Java語言開發的搜索引擎類庫,建立於1999年,2005年成爲Apache頂級開源項目。數據庫
《3.》Lucene具備高性能、易擴展的優勢。編程
《4.》Lucene的侷限性:緩存
①只能基於Java語言開發安全
②類庫的接口學習曲線陡峭性能優化
③原生並不支持水平擴展服務器
《1.》2004年Shay Banon基於Lucene開發了Compass架構
《2.》2010年Shay Banon重寫了Compass,取名Elasticsearch併發
①支持分佈式,水平可擴展框架
②下降全文檢索的學習曲線,能夠被任何編程語言調用
《1.》集羣規模能夠從單個擴展至數百個節點
《2.》高可用 & 水平擴展
服務和數據兩個維度
《3.》支持不一樣的節點類型
①支持Hot & Warm架構
《1.》多語言支持(Java | .Net | Python | Ruby | Php | Groovy | Perl)
https://www.elastic.co/guide/en/elasticsearch/client/index.html
《2.》Restful API & Transport API
9200 & 9300 (建議使用RESTful API)
《3.》JDBC & ODBC
《1.》海量數據的分佈式存儲 以及 集羣管理
服務和數據的高可用,水平擴展
《2.》近實時搜索,性能卓越
結構化 | 全文 | 地理位置 | 自動完成
《3.》海量數據的近實時分析
聚合功能
《1.》0.4 : 2010年2月第一次發佈
《2.》1.0 : 2014年1月
《3.》2.0 : 2015年10月
《4.》5.0 :2016年10月
《5.》6.0 :2017年10月
《6.》7.0 :2019年4月
https://www.elastic.co/cn/support/eol
《1.》使用Lucene 6.X ,性能提高,默認打分機制從TF-IDF 改成 BM25
《2.》支持Ingest節點 | Painless Scripting | Completion suggetsted 支持 | 原生的Java REST客戶端支持
《3.》Type標記爲deprecated ,支持了keyword的類型
《4.》性能優化
① 內部引發移除了避免同一個文檔併發更新的競爭鎖,帶來了 15% - 20%的性能提高
② Instant aggregation ,支持分片上聚合的緩存
③ 新增了Profile API
《1.》使用了Lucene 7.X
《2.》新功能
① 跨集羣複製 (CCR)
② 索引生命週期管理
③ SQL的支持
《3.》更友好的升級以及數據遷移
① 在主要版本之間的遷移更爲簡單,體驗更好
② 全新的基於操做的數據複製框架,能夠加快恢復數據
《4.》 性能優化
① 有效存儲稀疏字段的新方法,下降了存儲成本
② 在索引時進行排序,能夠加快排序的查詢性能
《1.》使用Lucene 8.0
《2.》重大改進 - 正式廢除單個索引下多Type的支持
《3.》7.1開始 ,Security 功能無償使用
《4.》支持K8S ,ECK - Elasticsearch Operator on Kubernets
《5.》新功能
① New Cluster coordination
② Feature-Complete High Level REST Client
③ Scipt Score Query
《6.》性能優化
① 默認的Primary Shard數從5 改成 1,避免Over Sharding
② 性能優化,更快的Top K
《1.》開源的服務器端數據處理管道,支持從不一樣來源採集數據,轉換數據,並將數據發送到不一樣的存儲庫中。
《2.》Logstash 誕生於2009年,最初用來作日誌的採集與處理
《3.》Logstash 創始人 Jordan Sisel
《4.》2013年被Elasticsearch 收購
《1.》實時解析和轉換數據
① 從IP地址破譯出地理座標
② 將PII數據匿名化,徹底排除敏感字段
《2.》能夠擴展
① 200個插件(日誌 | 數據庫 | Arcsigh | Netflow)
《3.》可靠性安全性
① Logstash 會經過持久化隊列來保證至少將運行中的時間送達一次
② 數據傳輸加密
《4.》監控
《1.》 Kibana 名字的含義 = Kiwifruit + Banana
《2.》數據可視化工具 ,幫助用戶解開對數據的任何疑問
《3.》基於Logstash的工具,2013年加入Elastic公司
《1.》2015年3月收購Elastic Cloud ,提供Cloud服務
《2.》2015年3月收購PacketBeat
《3.》2016年9月收購PreAlert - Machine Learning 異常檢測
《4.》2017年6月收購Opbeat 進軍 APM
《5.》2017年11月收購SaaS廠商Swiftype ,提供網站和APP搜索
《6.》2018年 X-Pack開源
知足不一樣的數據源
https://www.elastic.co/cn/products/beats
https://www.elastic.co/cn/subscriptions
《1.》6.3以前的版本 ,X-Pack以插件方式安裝
《2.》X-Pack開源以後,Elasticsearch & kibana支持 OSS版 和 Basic兩種版本
部分X-Pack功能支持無償使用,6.8和7.1開始,Security功能免費
《3》OSS , Basic , 黃金級 , 白金級
https://www.elastic.co/cn/use-cases/
《1.》應用場景
① 網站搜索 | 垂直搜索 | 代碼搜索
② 日誌管理與分析 | 安全指標監控 | 應用性能監控 | WEB抓取輿情分
《2.》日誌管理
《3.》Elaticsearch與數據庫的集成
① 單獨使用Elasticsearch存儲【不建議這麼用】
②如下狀況能夠考慮與數據庫集成
<1.> 與現有系統集成
<2.> 須要考慮事務性
<3.> 數據更新頻繁
《4.》指標分析 | 日誌分析