專訪Elasticsearch創始人ShayBanon:讓資料自己說話

工程師甲發表於2017-10-24
嘉賓|Shay Banon
作者|謝然

隨著網際網路資料規模的爆炸式增長,如何從海量的歷史、實時資料中快速獲取有用的資訊,變得越來越具有挑戰性。而這其中,搜尋作為獲取資訊最高效的途徑之一,已經越來越受到人們的青睞。

一款優秀的搜尋引擎,它連線了普通使用者和網站網頁,使用者可以輕而易舉且免費地搜尋到想看的網站和內容,而這些網站的內容被搜尋引擎檢索到,通過搜尋引擎技術呈現給使用者。

11 月 13 日,在 2017 杭州雲棲大會上,Elasticsearch 與阿里雲宣佈達成戰略合作,共同研發及釋出阿里雲上提供託管的 Elasticsearch,為中國市場提供嶄新的使用者體驗。Elasticsearch 挺進中國市場面臨的機遇和挑戰如何?阿里雲 Elasticsearch 為中國使用者提供了哪些新服務?為此,InfoQ 採訪了 Elasticsearch 的創始人兼執行長 Shay Banon。

經過短短一個小時的交流,能明顯感覺  Shay Banon 有著靈敏的商業嗅覺。他在搜尋的領域深耕了 18 年,差不多 8 年前創立了 Elasticsearch,他說,創業最重要的是找到自己擅長的地方,並且保持激情和熱愛,創業,意味著你要尋找生活中的問題,然後用創造性思維去解決它們。

Elasticsearch 源於一個食譜的應用  

在談及當年接觸 Lucene 並開發 Elasticsearch 的初衷的時候, Shay Banon 認為自己參與 Lucene 完全是一種偶然,當年他還是一個待業工程師,跟隨自己的新婚妻子來到倫敦,妻子想在倫敦學習做一名廚師,而自己則想為妻子開發一個方便搜尋菜譜的應用,所以才接觸到 Lucene。直接使用 Lucene 構建搜尋有很多問題,包含大量重複性的工作,所以 Shay Banon 便在 Lucene 的基礎上不斷地進行抽象,讓 Java 程式嵌入搜尋變得更容易,經過一段時間的打磨便誕生了他的第一個開源作品“Compass”,中文即“指南針”的意思。之後,他找到了一份面對高效能分散式開發環境的新工作,在工作中他漸漸發現越來越需要一個易用的、高效能、實時、分散式搜尋服務,於是決定重寫 Compass,將它從一個庫打造成了一個獨立的 server,並建立了開源專案。

第一個公開版本出現在 2010 年 2 月,在那之後 Elasticsearch 已經成為 Github 上最受歡迎的專案之一。

Elasticsearch 的成功源自開源  

經過八年,Elasticsearch 在中國也頗受廣大工程師歡迎, Shay Banon 說 Elasticsearch 成功的關鍵因素就是開源還有除了搜尋之外的不同用例,如 日誌管理、安全和分析。

他認為,開放原始碼搜尋引擎為人們學習、研究並掌握搜尋技術提供了極好的途徑與素材,推動了搜尋技術的普及與發展,使越來越多的人開始瞭解並推廣使用搜尋技術。使用開源搜尋引擎,可以大大縮短構建搜尋應用的週期,並可根據應用需求打造個性化搜尋應用,甚至構建符合特定需求的搜尋引擎系統。搜尋引擎的開源,無論是對技術人員還是普通使用者,都是一個福音。

Shay Banon 有一個願景,使世界上每個開發人員能夠使用搜尋作為基礎來簡單地解決他們最複雜的用例。通過實時和大規模提供資料,Elastic 的產品已經下載了超過 1.5 億次累積的時間,用於構建現代搜尋,日誌記錄,安全性,指標和分析應用程式。

技術助推力量  

當今世界,技術的日新月異加劇了市場競爭力的此消彼漲過程,企業越來越重視技術創新所帶來的競爭力量的增強以及由此創造的短期和長期市場利益,逐步形成以技術創新為核心的發展戰略。企業之間的競爭,不僅僅是規模上的競爭,更重要的是企業間的技術創新實力的較量。

馬雲在雲棲大會上演講時,談到技術對於未來的重要性,“在未來面前我們都是孩子,未來沒有專家”,他認為未來發展得好的公司一定是能將網際網路技術用得最好的公司。

任何一種新興技術,都必然要經歷螺旋式上升的發展軌跡,也必須符合技術生命週期的發展規律,即從概念提出、泡沫、破滅、冷靜、成熟、應用興起,再到重生與再創新。對於企業來講,在企業方向和研發戰略上,一定要把握和尊重技術產業領域的發展規律。

Shay Banon 介紹了 Elasticsearch 裡的幾項關鍵技術處於的趨勢。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

Shay Banon 說他及他的團隊會不斷在技術之路上不斷創新,讓 Elasticsearch 爭取可以為不同的使用者解決各種問題。

Elasticsearch 和阿里雲合作 大步邁進中國市場  

當談及 Elasticsearch 挺進中國市場的戰略時, Shay Banon 表示:“中國對我們來說是一個不斷增長的市場,過去幾年間,我們看到 Elasticsearch 的社群版圖擴充套件至超過 5000 多位開發人員。中國也是全球最大的市場之一,差不多有 1.9 億的開發者,希望這 1.9 億開發者都能用到開源的 Elasticsearch 的產品,並且取得成功。今天 Elasticsearch 選擇與阿里雲合作,並配合 Elasticsearch 的實時處理能力、強大的 X-Pack 功能,如 security,alerting 和 machine learning,共同加快中國廣大開發者生態的創新步伐,構建、託管及管理更多不同的應用。”除此之外,Shay Banon 認為 Elasticsearch 接下來會針對中國市場,大力推廣其商業化產品 X-Pack,讓越來越多的人瞭解與使用。

“阿里雲 Elasticsearch” 現已正式上線,簡單配置即可新增到客戶的雲端計算服務之上。通過 Elasticsearch 實時搜尋的能力與客戶應用相結合,以 Logstash 或 Beats 將資料匯入阿里雲 Elasticsearch 裡,使用 Kibana 儀表板把實時及歷史資料視覺化,加上 X-Pack 的一系列功能如 security、alerting、monitoring、reporting、Graph 分析及 machine learning,為開發人員提供一站式產品的體驗。

阿里雲 Elasticsearch 的新服務能讓阿里巴巴的客戶隨心所欲地運用 Elasticserach 強大的實時搜尋、採集及資料分析功能,是一站式而且主導性的解決方案。

此外,阿里雲和 Elasticsearch 會著力於技術提升,確保阿里雲 Elasticsearch 與時並進,擁有最新的功能。在未來,日誌匯入功能及其他服務也將相繼可用。

搜尋引擎的資料探勘優勢  

大資料時代,也是資訊爆炸的時代,是否擁有資訊已經不再重要,重要的是如何能夠快速的找到所需資訊,而搜尋引擎在這方面有著天然優勢,搜尋引擎的資料探勘將產生更加明顯的效果。

很多搜尋技術的改進都離不開大資料技術。搜尋引擎從本質上看,就是一種典型的大資料應用。目前,搜尋在大資料領域已經跨進了一大步,人們可以實時搜尋到想要的資訊。

根據最新的資料庫引擎排名顯示,Elasticsearch,Solr 和 Splunk 分別佔據了資料庫搜尋引擎的前三位。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

從趨勢上來看,Elasticsearch 和 Splunk 上升明顯,Elasticsearch 更是表現出了非常強勁的勢頭。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

在生產環境記錄應用的執行日誌已經成為慣例,但日誌需要經過處理和分析才有意義,第三方日誌管理工具的出現正旨在解決這個問題。當下比較有代表性的日誌管理工具有 Splunk 和 Logstash (注:Logstash 用途在於將資料插入到 Elasticsearch 和 Kibana 中視覺化日誌)。

Shay Banon 表示在日誌分析領域,Elasticsearch 最大的競爭對手就是 Splunk ,在商業軟體付錢與開源軟體免費之間選擇,Elasticsearch 是全世界最受歡迎的開源解決方案,而且會以靈活性,實時能力和規模地處理大量資料,所以如果你在內地問開發者,大部分開發者傾向於 Elastic Stack。

他舉例, 類似於 Netflix,Facebook,Microsoft 以及 Linkedln 公司在日誌基礎架構上會選擇執行大型 Elasticsearch 叢集。此外,Elastic Stack 能夠在不同範疇使用,比如欺詐檢測和特定領域的業務分析,這將使 Elastic 不繼擴張。

機器學習賦能使用者解決複雜問題  

雲端計算的發展,使得資料的採集、處理和分析都變得容易,大資料得以存在於各行各業各種資料體系中,人工智慧因此成為了一個火爆的領域。

而其中的機器學習就是基於搜尋技術建立起來的,而搜尋帶來的海量資料積累,又能夠構建一套基於海量資料的資料統計分析,從而能夠為一些應用場景下的關鍵決策帶來指導和支撐。

Shay Banon 強調機器學習在資料搜尋領域的重要價值:“以後不是跟資料講我們要什麼,而是資料主動告訴我們這邊有什麼,這就是機器學習的力量。

一點小小的擔憂  

搜尋引擎知道我們的出行路線、地理位置、工作資訊、日常行為模式和交際圈子,它比任何保險公司或銀行都瞭解我們的風險狀況,隨著可穿戴智慧裝置的興起,它也可能比醫生更瞭解我們自身的身體狀況。或者說,搜尋引擎將變得比我們自己更瞭解自己。

這是資訊時代獨特的背景,對於效率的追求使我們不可避免的享受網際網路搜尋引擎等服務帶給我們的資訊服務,同時也不可避免的享受個人資訊外洩的苦惱。搜尋引擎的機器學習勢必需要越來越多的使用者資訊,這與我們的隱私權存在本質上的衝突。或許,我們已經意識到這一點,但在效率面前對此無能為力。

給廣大工程師的建議:  

計算機世界變化的速度是驚人的。程式設計師被認為是最接近計算機世界的職業,幾乎所有的科技新產品都得由程式設計師來寫程式碼。

Shay Banon 建議廣大程式設計師要不斷地學習新的技能,並且銘記在過往使用那些技能時得到的經驗。有激情,並且熱愛這份職業,時刻站在終端使用者的角度去評估自己所編寫的軟體,而不是在封閉的空間裡編寫程式碼。

除此之外,程式設計師還要擅於藉助工具,開發過程中選擇適合自己和專案開發所需要的工具。正所謂工欲善其事, 必先利其器。

寫在最後:  

Shay Banon 非常喜歡馬雲說過的這句話,“幫助年輕人,幫助弱小的人,因為小樹苗也可能成長為參天大樹。你將種子埋入這些年輕人的腦中,等他們成長起來,就可以改變世界。”

幫助別人,讓別人強大,你才能更強大。這才是生命的意義。

轉載自:InfoQ旗下高效開發運維公眾號。


相關文章