《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > OpenSearch 是云廠商的新選擇?

OpenSearch 是云廠商的新選擇?

2021-11-29
來源:CSDN

  最流行的全文搜索引擎

  Elasticsearch 是一款廣泛使用的開源分布式全文搜索引擎,源于 Apache Lucene[1],許可證為 Apache 2.0。由于出色的搜索引擎、高擴展性和豐富的統(tǒng)計分析能力,深受用戶喜愛。

  基于 Lucene 的 Elasticsearch

  2010 年開源的 Elasticsearch 隨著全球搜索引擎業(yè)務的飛速發(fā)展,也變得更加流行。在國內(nèi)外積累了大量的核心用戶并受到社區(qū)的強烈歡迎。根據(jù) DB-Engines[2] 網(wǎng)站對于 Search Engine 類數(shù)據(jù)庫的流行度趨勢統(tǒng)計,2016 年至今 Elasticsearch 始終保持第一。

  Elastic 成立于 2012 年,是很多來自硅谷的開源軟件獨角獸公司之一。Elasticsearch 的成功離不開 Elastic 公司的成功運營。隨著云計算技術的不斷發(fā)展壯大,以 AWS 為首的云廠商 SaaS 模式 趨于火熱,越來越多的用戶愿意接受 SaaS 模式。部分云廠商將開源產(chǎn)品以服務的方式發(fā)布并盈利,但并未回饋開源。

  Elastic 公司在這樣的背景下,決定有針對性的修改了許可授權(quán),各大云廠商們面臨在非授權(quán)的情況下,將無法繼續(xù)更新 Elasticsearch 版本的困境(舊版本不影響)。

  Elasticsearch 版本協(xié)議說明

  AWS 沒有選擇與 Elastic 合作,而是在 2019 年開始嘗試新的可能。2021 年 AWS 正式開源了基于 Elasticsearch 的 OpenSearch 項目,并在 AWS 商店正式推出了 OpenSearch[3] 服務來取代原有的 Elasticsearch 服務。

  這一系列事件,對全球云廠商對開源軟件的使用也許會產(chǎn)生深遠的影響。接下來我們梳理一下整個事件的時間線。

  時間線

  2010 年 2 月

  Elastic 發(fā)布了 Elasticsearch,源于 Apache Lucene,許可證為 Apache 2.0。

  2018 - 2019 年

  Elastic 修改了 Kibana(配套可視化工具) 和 Elasticsearch 的開源協(xié)議( ALv2 -> SSPL & Elastic 雙授權(quán)),意味著 7.10.2 版本后不再提供開源版本。

  2019 年 3 月

  AWS 推出 Open Distro for Elasticsearch(OpenSearch 的前身),一個 100% 的開源發(fā)行版。

  2021 年 4 月

  AWS 宣布推出 OpenSearch 項目,基于 7.10.2 版本創(chuàng)建分支,并重構(gòu)了所有 ODFE 插件與 OpenSearch 配合使用,ODFE 在 1.13 版本結(jié)束。

  2021 年 9 月

  AWS 將 AWS Electicsearch Service 服務更新為 AWS OpenSearch Service。

  ELv2 與 SSPL 協(xié)議

  事件中,以 Elastic 公司修改開源協(xié)議為重要轉(zhuǎn)折點。

  ELv2:由 Elastic 制定的源代碼許可。該協(xié)議適用于 Elastic 的分發(fā)版以及 Elasticsearch 和 Kibana 所有免費和付費功能的源代碼。ELv2 的目標是在盡可能寬松的情況下防止濫用。該許可允許免費使用、修改、創(chuàng)建衍生作品和重新分發(fā),但有三個基本的限制條件:

  不得將產(chǎn)品作為托管服務提供給其他人

  不得規(guī)避許可密鑰功能或刪除/隱藏受許可密鑰保護的功能

  不得刪除或隱藏任何許可協(xié)議、版權(quán)或其他聲明

  SSPL:由 MongoDB 制定的源代碼許可。針對云服務提供商做出了限制,即要求云服務提供商在未對項目做出貢獻的情況下,不得發(fā)布自己的開源產(chǎn)品即服務。SSPL 允許用戶以自由且不受限制的方式使用并修改代碼成果,唯一的要求是:如果將產(chǎn)品以作為一種服務進行交付,那么必須同時公開發(fā)布所有關于修改及 SSPL 之下管理層的源代碼。

  影響與選擇

  Elastic 公司決定修改開源協(xié)議,并不會對個人用戶使用造成影響,只會限制云服務廠商將開源產(chǎn)品轉(zhuǎn)化為軟件即服務的形式。對于沒有獲得授權(quán)的云廠商來說,除了提供到最后一個開源版本的 Elasticsearch 服務之外,就需要開始考慮其他替代方案了。

  目前各大云廠商主要采取的如下兩種方案:

  PlanA - 與 Elastic 達成商業(yè)授權(quán)協(xié)議,深度合作。

  PlanB - 未獲得商業(yè)授權(quán)的云廠商,繼續(xù)使用基于 ALv2 協(xié)議下的 Elasticsearch 的開源(OSS)版本,并嘗試尋找新的替代方案。

  目前為止,與 Elastic 達成合作的云服務供應商:Microsoft、Google、阿里巴巴、騰訊、Clever Cloud 等。

  新的選擇?

  OpenSearch 是一個社區(qū)驅(qū)動的開源搜索和分析套件,源自 Apache 2.0 許可的 Elasticsearch 7.10.2 和 Kibana 7.10.2。它由一個搜索引擎守護進程 OpenSearch 和一個可視化和用戶界面 OpenSearch Dashboards 組成。OpenSearch 使人們能夠輕松攝取、保護、搜索、聚合、查看和分析數(shù)據(jù)。

  演進歷程

  項目早期,Open Distro 的核心仍然是普通的 Elasticsearch。Amazon 對 Open Distro 所做的是為 Elasticsearch 和 Kibana 添加功能。

  OpenSearch 實際上是 Elasticsearch 的一個分支。

  一方面 OpenSearch 正在從開源 Elasticsearch 停止的地方開始,代碼中任何有 Elasticsearch 或 Kibana 引用的地方,最后都會更改為 OpenSearch 。另一方面 Open Distro 所有功能都將添加到 OpenSearch,OpenSearch 后續(xù)將致力于保持其分支開源,并得到 AWS 的支持。

  可替代性

  如果說 Elasticsearch 提供了非常棒的能力,利用它的大數(shù)據(jù)工具來幫助進行全棧監(jiān)控、自動化、數(shù)據(jù)重新平衡、IP 過濾等的各種規(guī)模的組織,那么 OpenSearch 就是致力于聚合、查看和分析數(shù)據(jù)的企業(yè)的洞察引擎解決方案。

  從方案的角度講,兩者都提供了大數(shù)據(jù)解決方案,且底層實現(xiàn)一致。

  從功能的角度講,OpenSearch 覆蓋了開源版 Elasticsearch 的所有功能,并為其提供媲美 Elasticsearch X-Pack 的商業(yè)能力。

  無論 Elasticsearch 還是 OpenSearch,用戶的核心需求是搜索、安全、監(jiān)控、告警、跨集群同步等集群服務,后者也可以完全滿足需求。

  最新版本

  從 2021 年 4 月 12 日推出 OpenSearch 項目以來,截止到現(xiàn)在已更新至 1.1.0 版本,雖然該版本已媲美 X-Pack 部分功能。但是目前實踐上還需要更多的驗證。

  隨著 1.1.0 的推出,OpenSearch 已經(jīng)在向自己的方向前進。有許多已推出的功能和增強功能,包括:

  添加碎片級后壓框架,以提高 OpenSearch 索引的可靠性。

  添加許多新的可觀測功能,以幫助您分析跟蹤和日志數(shù)據(jù)。

  OpenSearch 的 k-NN 插件將為更新的FAISS算法增加支持,以提高性能。

  異常檢測將增加信號導致特定異常的可見性。

  擴集群復制同步能力。

  Elastic 看 OpenSearch

  在 OpenSearch 服務推出后,Elastic 官網(wǎng)也對該服務為用戶提出了一些熱門問題[4],并做出了自己的詮釋。

  什么是 OpenSearch 項目?

  為什么 OpenSearch 項目 fork 是從 Elasticsearch 和 Kibana 創(chuàng)建的?

  Amazon OpenSearch Service 是否具有 Elasticsearch 中沒有的任何功能?

  展望

  在云廠商們各自的生態(tài)環(huán)境下,開發(fā)者將采用不同的模式來完成產(chǎn)品的迭代,從不同的產(chǎn)品視角來滿足不同的用戶需求。

  可預見在未來很長一段時間里, Elasticsearch 仍然會繼續(xù)引領潮流,占據(jù)該領域的霸主地位。而 OpenSearch 依托于 AWS ,相信也會成為一個優(yōu)秀的搜索引擎解決方案。

  許可協(xié)議限制了在云廠商的使用,開源則提供了更多的可能。當云廠商無法使用 Elasticsearch 后續(xù)版本的時候,或許可以考慮 OpenSearch。

  [1]. Apache Lucene:http://lucene.apache.org

  [2]. DB-Engines:https://db-engines.com

  [3]. OpenSearch:https://opensearch.org

  [4]. What is opensearch: https://www.elastic.co/what-is/opensearch




1.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。