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

OpenSearch 是云廠商的新選擇?

2021-11-29
來(lái)源:CSDN

  最流行的全文搜索引擎

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

  基于 Lucene 的 Elasticsearch

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

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

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

  Elasticsearch 版本協(xié)議說(shuō)明

  AWS 沒(méi)有選擇與 Elastic 合作,而是在 2019 年開(kāi)始嘗試新的可能。2021 年 AWS 正式開(kāi)源了基于 Elasticsearch 的 OpenSearch 項(xiàng)目,并在 AWS 商店正式推出了 OpenSearch[3] 服務(wù)來(lái)取代原有的 Elasticsearch 服務(wù)。

  這一系列事件,對(duì)全球云廠商對(duì)開(kāi)源軟件的使用也許會(huì)產(chǎn)生深遠(yuǎn)的影響。接下來(lái)我們梳理一下整個(gè)事件的時(shí)間線。

  時(shí)間線

  2010 年 2 月

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

  2018 - 2019 年

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

  2019 年 3 月

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

  2021 年 4 月

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

  2021 年 9 月

  AWS 將 AWS Electicsearch Service 服務(wù)更新為 AWS OpenSearch Service。

  ELv2 與 SSPL 協(xié)議

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

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

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

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

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

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

  影響與選擇

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

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

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

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

  目前為止,與 Elastic 達(dá)成合作的云服務(wù)供應(yīng)商:Microsoft、Google、阿里巴巴、騰訊、Clever Cloud 等。

  新的選擇?

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

  演進(jìn)歷程

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

  OpenSearch 實(shí)際上是 Elasticsearch 的一個(gè)分支。

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

  可替代性

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

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

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

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

  最新版本

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

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

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

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

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

  異常檢測(cè)將增加信號(hào)導(dǎo)致特定異常的可見(jiàn)性。

  擴(kuò)集群復(fù)制同步能力。

  Elastic 看 OpenSearch

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

  什么是 OpenSearch 項(xiàng)目?

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

  Amazon OpenSearch Service 是否具有 Elasticsearch 中沒(méi)有的任何功能?

  展望

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

  可預(yù)見(jiàn)在未來(lái)很長(zhǎng)一段時(shí)間里, Elasticsearch 仍然會(huì)繼續(xù)引領(lǐng)潮流,占據(jù)該領(lǐng)域的霸主地位。而 OpenSearch 依托于 AWS ,相信也會(huì)成為一個(gè)優(yōu)秀的搜索引擎解決方案。

  許可協(xié)議限制了在云廠商的使用,開(kāi)源則提供了更多的可能。當(dāng)云廠商無(wú)法使用 Elasticsearch 后續(xù)版本的時(shí)候,或許可以考慮 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)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。