技術共有

[Elasticsearch] オープンソース検索テクノロジーの進化と選択: Elasticsearch と OpenSearch

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. 歴史的発展

2010 年に Apache を使用 2.0 2.0 2.0 オープンソース契約がリリースされた後、エラスティックサーチ 急速に世界で最も人気のある企業に検索エンジン

エラスティックサーチ 多くの場合、ログスタッシュ そしてキバナ 一緒にデプロイされたこの組み合わせは、Elasitc スタック、アプリケーションの可観測性、セキュリティ ログ分析、ユーザー行動の理解などのログ分析のユースケースを有効にするために使用されます。

2015 年、Amazon はこのオープンソース プロトコルを利用して、 Amazon Elasticsearch ServiceAmazon ES)、AWS の顧客がスケーラブルな Elasticsearch を起動できるようにするクラウド ホスティング サービス 集まる、データ ソースをクラスター エンドポイントに接続し、クラウド内のデータを読み込み、処理、分析、または視覚化します。

しかし、Elasticは最終的にAmazonによる自社製品と商標の使用に反対し、2019年に商標侵害と虚偽広告の疑いでハイテク巨人に対して訴訟を起こした。

ここに画像の説明を挿入します

🚀《Elastic、商標権侵害訴訟でAmazonと合意

Elastic と Amazon は 2021 年に訴訟で和解し、その結果 2 つの重要な進展が見られました。

  • 2021 年 1 月、Elastic は次のことを発表しました。 7.11 バージョンから開始すると、Elasticsearch は以下に基づきますServer Side Public LicenseSSPL ) および Elastic ライセンス。この変更により、Amazon やその他の企業は Elastic と直接連携せずに Elasticsearch サービスを提供できなくなります。
  • 2021 年 4 月、Amazon は、Elasticsearch の最後のオープンソース バージョンから開始すると発表しました (7.10.2 ) ブランチを作成して、新しいオープンソース検索エンジン プロジェクトを立ち上げます。なぜならElasticsearch この名前はもう使用できません。新しいプロジェクトには次の名前が付けられます。オープンサーチ 。Amazon は、OpenSearch というクラウド サービスも提供しています。Amazon OpenSearch Service

🚀 OpenSearch 官网:https://opensearch.org/

ここで思い出していただきたいのは、Alibaba Cloud の初期の検索エンジンは OpenSearch とも呼ばれていたということです。偶然にも、Alibaba Cloud のオープン検索サービスは OpenSearch とも呼ばれます。そのアドレスについては、次を参照してください。https://developer.aliyun.com/article/67156

Alibaba Cloud OpenSearch (オープン検索サービス) は、Alibaba Cloud によって開始された一連のセルフサービスでカスタマイズ可能なクラウド検索サービスです。当初の目的は、Alibaba が 10 年近くにわたって蓄積した検索エンジン テクノロジーをプラットフォーム化してサービスし、大多数の開発者に公開してコストを削減することです。このしきい値により、開発者はタオバオ、Tmall、その他のアプリケーションの検索ツールと同様のプロフェッショナルな検索製品を低コストで簡単に利用できるようになります。

この記事では、Alibaba Cloud の OpenSearch ではなく、Elasticserach のブランチである Opensearch を紹介します。

次のセクションでは、これら 2 つの検索ソリューションが過去 3 年近くでどのように分岐したか、またどちらが AWS ログ分析またはエンタープライズ検索アプリケーションに適しているかを詳しく見ていきます。

以下の類似点と相違点は主に、Elastic 公式 Web サイト、OpenSearch 公式 Web サイト、および関連ブログから得られます。

2. OpenSearch と Elasticsearch の類似点

OpenSearch は Elasticsearch の比較的高度なフォークから開発されているため、検索、分析、ダッシュボードの基本機能はすべて 2 つのアプリケーション間で同一です。

ここに画像の説明を挿入します
OpenSearch と Elasticsearch はどちらも提供しますマルチテナントアーキテクチャ そして全部調べて分散検索 能力分析エンジン。

したがって、両方を使用して満足することができます サイト内検索エンタープライズ検索 そしてログ分析 使用例。

3. OpenSearch と Elasticsearch の違い

OpenSearch と Elasticsearch を比較すると、次のような主な違いがあります。

  • バージョン
  • ライセンス
  • コミュニティ
  • 関数
  • 安全性
  • パフォーマンス
  • 価格

バージョン 3.1 は大きく異なります

次の図は、2 つの検索エンジン ソリューションである Elasticsearch と OpenSearch の独立した開発パスとリリース リズムを示しています。

ここに画像の説明を挿入します

  • Elasticsearchパス 1.x2.x5.x6.x7.x8.x バージョンが更新され、最終的には 2024 年にリリース予定のバージョンに進化9.x バージョン。
  • 開く検索元 1.0 バージョンは 2021 年 7 月にリリースされ始め、段階的に更新されます。2.x シリーズ、その中でも2.6 バージョンは 2024 年に最後になると予想されます2.x シリーズ版、後日発売予定3.x シリーズ。

3.2 さまざまなライセンス

2021 年以前は、Elasticsearch は Apache で利用可能でした 2.0 2.0 2.0 ライセンスに基づいて公衆利用が可能です。このライセンスにより、ユーザーはいかなる目的でもソフトウェアを使用、配布、変更することができ、ロイヤリティを支払うことなく Elasticsearch の変更バージョンを配布することができます。

Amazon との論争の後、Elasticsearch は現在、 SSPL そしてエラスティックライセンス 承認します。この変更後、Elasticsearch は厳密にはオープンソースとはみなされなくなりました。ライセンスでは、Elasticsearch の機能をサードパーティに提供する者は、ソース コード全体と、サードパーティが実行するために必要なすべての API を公開する必要があるためです。

OpenSearch は現在、以下に基づいています Apache 2.0 ライセンス 認可。

🚀 简述一下 SSPL 协议和常规开源的不同:SSPL 协议要求如果你提供基于此协议软件的服务,必须公开整个服务的源代码,而常规开源软件不需要。

現時点では、Elasticsearch を使用しているため、ソース コードは公開されていないと思われるかもしれません。

このように、中国にはBATやByteなどの一部の大手メーカーを除けば、オープンソースコードをベースに本当に再開発して商用化できるコードは数えるほどしかありません。

平たく言えば、アマゾン大手メーカーの商品化行為と同じような協定です!

SSPL プロトコルを使用するいくつかのオープン ソース ソフトウェアは次のとおりです。

ソフトウェアの名前利用規約
時間
モンゴDBSSPL2018 年 10 月に SSPL が有効になりました
グレイログSSPL2020 年 11 月にバージョン 4.0 以降で SSPL が使用されることが発表されました
Elasticsearch と KibanaSSPL とエラスティック ライセンス2021 年 1 月、Elastic NV は、将来のバージョンで SSPL ライセンスと Elastic ライセンスによる二重認証を使用することを発表しました。

3.3 コミュニティは異なります

OpenSearch と Elasticsearch にはどちらも健全でアクティブで忠実なコミュニティがあるため、どちらの検索エンジンも機能提供において大幅に遅れをとったり、すぐにサポートされなくなる可能性は低いです。

  • Elasticsearch コミュニティ ペーパーは比較的成熟しており、公式フォーラムのアドレスは次のとおりです。https://discuss.elastic.co/

ここに画像の説明を挿入します

ここに画像の説明を挿入します
調べてみたところ、OpenSearch フォーラムの質問と回答の数はまだ大きな規模に達していません。

3.4 さまざまな機能

Amazon が最初に Elasticsearch をフォーク 7.10.2 OpenSearch を作成するときは、まず互換性のない Apache をすべて削除する必要があります 2.0 2.0 2.0 ライセンスコード。

ここに画像の説明を挿入します

これには、すべての充電機能を無効にすることと、Elastic X-Pack コード全体を削除することが含まれます。

関数エラスティックサーチオープンサーチ
述べる
ライセンスSSPL / エラスティックライセンスApache ライセンス 2.0OpenSearch は完全なオープンソース ライセンスを維持しています
セキュリティ機能一部有料機能あり利用可能なほとんどのオープンソースOpenSearch はセキュリティ機能をオープンソースにする傾向があります
アラートと異常検出有料バージョンとオープンソースバージョンオープンソースが利用可能OpenSearch はオープンソースのアラートと異常検出を提供します
SQLのサポート持っている持っているOpenSearch は Open Distro の SQL 機能を継承します。
機械学習のサポート有料機能オープンソースのプラグインとして利用可能OpenSearch コミュニティは ML プラグインを提供します
クライアントの互換性自社製品を徹底サポートElasticsearch 7.10と互換性がありますOpenSearch は古い Elasticsearch クライアントとの互換性を維持します
コミュニティサポートElastic が主導コミュニティ主導型OpenSearch はコミュニティへの貢献とフィードバックを奨励します
プラグインのエコロジー閉じたエコシステムオープンなプラグインエコシステムOpenSearch はプラグインのオープンソース開発を促進します
追跡分析有料機能オープンソースが利用可能OpenSearch はオープンソースの追跡および分析機能を提供します
長期サポート版供給供給OpenSearch は長期サポートされるバージョンにコミットします

Elastic GitHub:https://github.com/elastic

ここに画像の説明を挿入します

OpenSearch GitHub:https://github.com/opensearch-project

ここに画像の説明を挿入します

3.5 異なるセキュリティ

Elasticsearch と OpenSearch はどちらも、同じセキュリティ機能を多く備えています。

ただし、これらの機能は OpenSearch に含まれていますが、Elasticsearch の一部の機能は有料顧客のみが利用できます。

OpenSearch公式Webサイトで紹介されているように: デフォルト(システムデフォルト)では安全です。

ここに画像の説明を挿入します

Elastic 有料機能リストのリスト:https://www.elastic.co/cn/pricing

ここに画像の説明を挿入します

3.6 異なるパフォーマンス

大規模な検索操作を実行している場合は、これら 2 つの検索エンジンのどちらがより高速なクエリを提供するかに興味があるかもしれません。

Elastic は最近、「Elasticsearch vs. OpenSearch: パフォーマンスのギャップを明らかにする」というタイトルのブログを公開しました。

🚀 文章地址:https://www.elastic.co/cn/blog/elasticsearch-opensearch-パフォーマンスギャップ

Elastic 公式 Web サイトのドキュメントでは、次のように強調されています。Elasticsearch の初期バージョンの登場以来、OpenSearch はイノベーションのペースに追いついていません。OpenSearch GA 以来、Elasticsearch は 4 4 4 回。

Elastic の公式比較では、以下の図に示すように、さまざまな主要パフォーマンス指標における Elasticsearch の利点と、ストレージ リソースの節約が強調されています。

ここに画像の説明を挿入します

  • テキストクエリText Querying): Elasticsearch は、テキスト クエリのパフォーマンスにおいて OpenSearch よりも高速です 76 % 76% 76%
  • 選別Sorting): Elasticsearch は並べ替え操作において OpenSearch よりも高速です 58 % 58% 58%
  • 日付ヒストグラムDate Histogram): 日付ヒストグラム集計を行う場合、Elasticsearch は OpenSearch よりも高速であることが示されています。 81 % 81% 81% パフォーマンス。
  • 条項Terms): Elasticsearch は、用語クエリを処理するときに OpenSearch よりも高速に実行されます。 61 % 61% 61%
  • 範囲Ranges): 範囲クエリに関しては、Elasticsearch は OpenSearch よりも高速です 42 % 42% 42% パフォーマンス。
  • Elasticsearch の用途 ストレージ OpenSearch 未満 37 % 37% 37%

これは、Elasticsearch が同じタスクを処理する場合、クエリ速度が速くなるだけでなく、ストレージ効率も向上することを意味します。

以下のスクリーンショットについてはブログを参照してください。https://www.elastic.co/cn/blog/migrating-1-billion-log-lines-opensearch-elasticsearch

ここに画像の説明を挿入します
左側が Opensearch、右側が Elasticsearch です。明らかな比較から、Elasticsearch は OpenSearch よりも多くの費用を節約できることがわかります。 23 % 23% 23% 収納スペースの。

3.7 価格は異なります

Elasticsearch と OpenSearch のセルフマネージド バージョンは無料でダウンロードできますが、ユーザーはインストール、管理、操作するために独自のハードウェアとコンピューティング リソースを使用する必要があります。

中国の中小企業の多くはElasticsearchを利用しており、基本的には通常の無料の基本機能で十分です。

一部の商業銀行など、多くの大企業も Elasticsearch の商用機能を使用しています。

中国におけるもう 1 つの新機能は、Elastic と緊密に連携してクラウド ベンダーによって開始された Elasticsearch バージョンです。例: Alibaba Cloud Elasticsearch と Tencent Cloud Elasticsearch もよく使用されます。
ここに画像の説明を挿入します

ここに画像の説明を挿入します

3.8 両方を相互にインポートできます

OpenSearch から Elasticsearch への移行 参照:

Elasticsearch から OpenSearch への移行 参照:

4. まとめ

OpenSearch は 3 年以上前にリリースされています。Elasticsearch と OpenSearch には多くの違いがありますが、最終的には同じバージョンである Elasticsearch から派生したものです。 7.10.2

最も適切な選択はプロジェクトまたは製品の固有のニーズと状況に依存するため、Elasticsearch と Amazon OpenSearch の間で直接の推奨事項は提供しません。ただし、この記事のデータは参考になると思います。

読者は、自身の特定の状況や好みに基づいて決定を下し、機能要件、費用対効果、長期的な技術サポート、またはアーキテクチャとパフォーマンスのチューニングにおける自身の能力を考慮することをお勧めします。