時々エンジニアからopensearchとは何か、elasticsearchとどのような関係があるのかと聞かれることがあります。srestサービスためのデータ検索・ソリューションを調査中ので私の考えを伝えたい。
elasticsearchは、使ったことのない人の間でも広く知られている。一方、opensearchはあまり知られていない。
両方とも、大量の非構造化データの保存と検索機能を提供されてます。
歴史
elasticsearchは2010年に開発されたが、2021年にライセンスがオープンソースからより制限されたSSPLライセンスに変更された。
コミュニティを維持するために、AWSはelasticsearchをフォークし、opensearchというプロジェクトを作ることにした。
opensearchはバージョン7.10でフォークされ、それまでは完全な互換性がある。
2年経った今(この記事が書かれた時点で)、両システムには異なるAPIがいくつか存在する。
ライセンス
フォークの主な理由はライセンスだった。
SSPLはオープンソースと言われているが、コードの使用方法に厳しい制限を設けているため、完全にオープンというわけではない。
管理社
両社ともよく知られている。AWSはクラウド・サービスのインフラ・エコシステムをすべて持っているので、もしあなたがAWSのサービスを利用しているなら、opensearchを利用するのは理にかなっているかもしれない。
データ検索ツール
どちらも視覚化とデータ探索のためのツールである。あるものは別のものからフォークされたものなので、かなり似ている。主な違いは、elasticsearchの方が優れているプラグインの量である。
インデックス管理
詳細は省くが、どちらもインデックスの包括的な管理方法を提供し、タスクの自動化も行っている。 違いは実装にある。
パーフォーマンス
最も信頼できる情報ではないかもしれないが、elasticsearchはかなり高性能のようです。経験では、どちらのプラットフォームもほぼ即座にパフォーマンスを発揮するので、それほど重要ではないかもしれない。
コミュニティ支援
opensearchの方がコミュニティからの支持は厚いはずだが、コミット数やフォーク数、その他の指標を見るとelasticsearchの方が支持されている。
https://github.com/opensearch-project/OpenSearch
https://github.com/elastic/elasticsearch
まとめて
同じ点を表にまとめたら
Elasticsearch | Opensearch | |
---|---|---|
ライセンス | Server Side Public License (SSPL) | Apache 2.0 |
管理社 | Elastic NV | Amazon Web Services (AWS) |
データ探索ツール | Kibana | Dashboard |
インデックス管理 | Index Lifecycle Management (ILM) | Index State Management (ISM) |
パーフォーマンス | さらに速い | 超高速 |
コミュニティ支援 | より優れたサポート | elasticsearchより少ない |
これは個人的な知識に基づいており、100%正確ではないかもしれない。技術的な違いもあるはずで、それは皆さんの使用ケースによって重要になるかもしれない。