Elastic學習之旅(1)初識ElasticSearch

大家好,我是Edison。

最近需要用到ElasticSearch,於是想要系統學習瞭解下,於是這就開始啦。

什麼是ElasticSearch?

ElasticSearch是一款開源的分佈式搜索分析引擎,它可以提供近實時(Near Real Time)的分佈式存儲/搜索/分析引擎服務

起源:Lucene

ElasticSearch起源於Lucene,Lucene是一個基於Java開發的搜索引擎類庫,創建於1999年,於2005年成爲Apache頂級開源項目。Lucene具有高性能和易擴展的優點,但也有一定的侷限性:只能基於Java開發,學習曲線陡峭,原生不支持水平擴展等

重生:ElasticSearch

2004年Shay Banon基於Lucene開發了Compass,2010年Shay Banon重寫了Compass,並改名爲ElasticSearch,它完美解決了Lucene的侷限!

ElasticSearch支持分佈式,可水平擴展,且降低了全文檢索的學習曲線,可以被任何編程語言調用

ElasticSearch的主要功能

ElasticSearch主要提供了三大核心功能:

(1)海量數據的分佈式存儲以及集羣管理

服務和數據的高可用,水平擴展

(2)近實時搜索,性能卓越

結構化 / 全文 / 地理位置 / 自動完成

(3)海量數據的近實時分析

聚合功能

支持多種方式集成接入

ElasticSearch提供了多種方式進行接入:

(1)多種編程語言類庫,如Java/.NET/Python/PHP等;

(2)RESTful API v.s Transport API

(3)JDBC & ODBC

ElasticStack 生態圈

ElasticStack目前有如下圖所示的成熟生態圈:

  • Logstash:數據處理管道,支持從不同來源採集數據並轉換數據,最後將數據發送到不同的存儲庫中。
  • Beats:輕量級的數據採集器,如Filebeat、Packetbeat、Winlogbeat、Metricbeat、Heartbeat等。
  • Kibana:可視化分析利器,幫助我們解開對數據的任何疑問,強大的數據展示能力。
  • X-Pack:商業化套件,也就是付費用戶專享了,有OSS、Basic、黃金版 和 白金版幾個License類別。

ELK 應用場景

我們常常所聽到的ELK其實是ElasticSearch + Logstach + Kibana的組合縮寫,ELK被廣泛的應用在下面這幾個應用場景中:

(1)網站搜索 / 垂直搜索 / 代碼搜索

(2)日誌管理與分析 / 安全指標監控 / 應用性能監控

其中,日誌管理與分析 可能是大家最熟悉的應用場景,因爲日誌對應用系統來說太重要了,它就像是醫生給病人看病,日誌就是病人對自己的陳述。

小結

本篇,我們瞭解了ElasticSearch是什麼,它有什麼樣的特點,提供了什麼主要的功能 以及 ELK的主要應用場景。至今,ElasticSearch已有超過2.5億的下載量,不僅有良好的開發者社區,更有大量的互聯網公司使用案例。

下一篇,我們就搭建一個ElasticSearch,並進行簡單的配置,玩起來!

參考資料

極客時間,阮一鳴,《ElasticSearch核心技術與實戰

 

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