OpenSearchとは

OpenSearchの定義

OpenSearchは、幅広いデータソースからデータをインデックス化、照会、分析するために使われるオープンソースの検索・分析エンジンです。

Apache Luceneを基盤とし、元々は別の検索・分析エンジンである Elasticsearchから派生したOpenSearchは、リアルタイム検索、オブザーバビリティーログ分析、セキュリティ分析のユースケースのためのスケーラブルかつ分散型のアーキテクチャを提供します。

OpenSearchには、データの可視化アプリケーション監視のためのOpenSearchダッシュボードが含まれています。また、最新のデータ環境全体で分析ワークフローをサポートするプラグイン、アプリケーション・プログラミング・インターフェース (API)、クライアントの幅広いエコシステムも備えています。

コミュニティー主導のロードマップを持つオープンソース・プロジェクトとして開発されているため、組織はライセンス制限やベンダー・ロックインなしにOpenSearchを使用できます。旧バージョンのElasticsearchとの互換性と拡張可能なプラグインフレームワークにより、チームは運用ワークロード、機械学習パイプライン、検索アプリケーションのためのFlexible AnalyticsエンジンとしてOpenSearchを採用することができます。

OpenSearchの主要な機能とは

今日の組織は、膨大な量のデータを生成しますが、これらのデータに価値が生じるのは、インデックスが付けられ、検索可能で、リアルタイムで利用できる場合に限られます。OpenSearchは、規模、コスト効率、相互運用性を考慮して設計されたオープンソースの検索アーキテクチャを通じて、この機能を提供しています。

実用において、OpenSearchは次のような機能を提供します。

オープンソース・ガバナンス

企業はOpenSearchのコードベースとロードマップを完全に可視化できるため、社内の要件に合わせてプラットフォームをカスタマイズできます。

互換性と移行の柔軟性

OpenSearchは、オープンソースのElasticsearchとのAPIおよびクエリー構文の互換性を維持しているため、組織は大規模な書き換えを行わずにワークロードを採用またはモダナイズできます。

拡張性と分配

クラスター・アーキテクチャは、ノード、レプリカ、シャードを通じて高可用性をサポートし、大規模なデータ・セット低遅延で検索することを可能にします(詳細は、「OpenSearchの仕組み」をご参照ください)。

リアルタイム・オブザーバビリティーのサポート

OpenSearchは、ログ、メトリクス、トレースを大規模に取り込み、トラブルシューティングと分析に使用されるダッシュボードを駆動します。

セキュリティと分析の統合

組み込みの認証とアクセス制御により、チームはセキュリティー・ワークロード全体に検索機能を適用できます。

コスト効率の高いデプロイメント

オープンソース・ソフトウェアであるOpenSearchは、オンプレミス、クラウド・プロバイダー、またはマネージド・サービスを通じてデプロイできます。

OpenSearchの沿革

OpenSearchは、人気の高い視覚化レイヤーであるElasticsearchとKibanaのライセンス変更に対するコミュニティーの対応として始まりました。Elasticsearchの以前のバージョンはApache 2.0ライセンスでリリースされましたが、その後のリリースではServer Side Public License (SSPL) とElastic Licenseが採用されました。これらのライセンスはオープンソースの再利用を制限しており、自由にデプロイおよび再配布ができる検索ソフトウェアに依存している組織にとっての課題となっていました。

オープンな検索エコシステムを維持するために、Amazon Web Services(AWS)は、ElasticsearchとKibanaの最後のApache 2.0バージョンをフォーク(独立したコピーを作成)し、OpenSearchプロジェクトを作成しました。このプロジェクトでは、オープンなガバナンス・モデルに基づく主要な機能と機能強化が導入され、Elasticsearch APIとクライアント・ライブラリーとの互換性が拡張されて移行が簡素化されました。

それ以来、OpenSearchプロジェクトは独自に進化してきました。コミュニティー主導のロードマップ、複数のプロバイダーからの貢献、GitHubでホストされているプラグインの成長するエコシステムを備えています。Elasticsearchの多くのパターンとの互換性を保ちつつ、OpenSearchはベクトル検索異常検知、高度な観測可能性ツールのプラグインによって機能セットを拡張してきました。

OpenSearchはElasticsearchと同じものですか?

両プロジェクトは共通の起源を持ちながらも、その道筋は異なります。Elasticsearchは、独自の機能開発戦略を持ち、SSPLおよびElasticライセンスの下で進行しています。対照的に、OpenSearchはApache 2.0ライセンスのままで、オープン性、拡張性、運用の可視性を優先しています。その結果、2つのうちどちらかを選択する組織は、主要な機能だけでなく、ガバナンス・モデル、ライセンス条件、長期的なエコシステムの方向性も評価するようになっています。

互換性は、依然としてプロジェクト間の重要な架け橋となっています。OpenSearchは、以前のバージョンのElasticsearch API、クエリー・パターン、クライアント・ライブラリーの多くを引き続きサポートしており、これはチームが最小限のリファクタリングで移行するのに役立っています。また、同様のリポジトリー構造とインデックス形式が保持されているため、Elasticsearchから移行するユーザーにとっての使いやすさも維持されます。

OpenSearchの仕組み

OpenSearchは、スケールとリアルタイムの性能を実現するように設計された分散型アーキテクチャーに基づいて構築されています。そのコア・コンポーネントにはクラスター、ノード、インデックス、シャード、ドキュメントが含まれており、これらが連携してデータを効率的に保管・取得します。

ノード

ノードは、インデックス作成、照会、ストレージのオペレーションを実行するサーバーまたはコンテナ化されたインスタンスです。一般的なノードのタイプは次のとおりです。

  • マスター・ノード:クラスターの状態を管理し、シャードの配置を調整し、メタデータを維持します。

  • データ・ノード:ドキュメントやシャードを保管し、インデックス作成や検索オペレーションを実行します。

  • クライアント(調整)ノード:検索クエリーをルーティングし、結果を集約し、ロード・バランシングをサポートします。

クラスター

 

クラスターとは、連携してデータを管理し、クエリーを実行する1つ以上のノードの集合です。クラスターは、冗長性とロード・バランシングを提供するため、ノードの障害により全体的な性能に影響が及ぶことがありません。各クラスターは、インデックス、シャード、ルーティング情報に関するメタデータを維持します。

インデックス

インデックスは、リレーショナル・データベース・テーブルに似た論理名前空間です。これには、JSONドキュメントの構造を定義するマッピングと、それらのドキュメントを保管するシャードへの参照が含まれます。「インデックス」という用語は、インデックスにデータを設定する操作を説明する動詞としても使用されます。

ドキュメント

ドキュメントは、個々のレコードを表すJSONオブジェクトです。簡単に言えば、保管され、検索されるデータのことです。インデックスが作成されると、各ドキュメント内のフィールドが分析、トークン化され、反転されたインデックスに保管されます。

シャード

シャードは、ドキュメントが存在するOpenSearch内の基本的なストレージ単位です。各インデックスは、プライマリ・シャードとオプションのレプリカ・シャードで構成されます。

  • プライマリ・シャードには、データの初期コピーが保管されます。

  • レプリカ・シャードは冗長性を提供し、読み取りスループットを向上させます。

各シャードはスタンドアロンのLuceneインスタンス(自己完結型の検索エンジン・ライブラリー)であるため、OpenSearchはノード全体にシャードを分散して、検索オペレーションを並列化し、性能を拡張します。

では、これはどのように組み合わされるのでしょうか?ドキュメントがインデックス化されると、OpenSearchはコンテンツを分析し、テキスト・アナライザーとトークナイザーを適用します。処理後、用語を適切なシャードに書き込みます。

インデックス作成はデータ・ノードによって処理され、速度と信頼性を高めるためにクラスター全体に分散できます。クエリーは調整ノードに送信され、そのノードが、関連データを含むシャードを識別し、それらのシャードにクエリーを転送して結果を集約します。

さまざまな作業場があるレストランのキッチンのようなものだと考えてください。インデックス化は、食材を準備して適切な作業場に送り、注文が入ったときにすぐ準備できるようにするようなものです。クエリーが到着すると、調整ノードはエキスパートのように機能します。つまり、必要なものを呼び出し、各作業場のコントリビューションを収集し、完成した1つのプレートを提供します。

AI Academy

生成AIの成功の鍵はデータ管理

生成AIの使用を成功させるために、高品質のデータが不可欠である理由をご覧ください。

OpenSearchの機能

OpenSearchには、検索、分析、オブザーバビリティーのための主要な機能が組み込まれています。プラグインや拡張機能によって機能が拡張され、チームは特殊なワークロードに合わせてプラットフォームをカスタマイズできます。

コア・プラットフォーム機能

  • 全文検索と関連性スコアリング:Apache Luceneを使用したフレーズ・クエリー、関連性チューニング、フィルターをサポートします。

  • 分散インデックス作成と検索:プライマリシャードとレプリカシャードにまたがってデータを保管し、並列インデックス作成と低遅延のクエリを実現。

  • 集計と分析クエリー:リアルタイムでデータを要約および分析し、傾向検出と運用監視を行います。

  • SQLクエリー構文:使い慣れた構造化クエリー言語(SQL)を使用してインデックス・データを照会し、JSONまたは表形式で結果を返します。

  • パイプ処理言語(PPL):ログ、メトリクス、その他の運用データセットを探索するためのパイプラインスタイルの構文。

  • インデックス状態管理(ISM):ロールオーバーや保持など、インデックスのライフサイクル・オペレーションを自動化します。

  • Data Prepper(INGESTパイプライン):オブザーバビリティーとセキュリティのためにインデックスを作成する前に、データのフィルタリング、エンリッチメント変換を行います。

  • ダッシュボードと視覚化:ログ、メトリクス、トレースから、視覚化データ、運用パネル、レポートを作成します。

  • 認証およびアクセス制御:詳細なアクセス制御をインデックス、ドキュメント、フィールドに提供し、Lightweight Directory Access Protocol(LDAP)、Security Assertion Markup Language(SAML)およびActive Directoryをサポートします。

  • オブザーバビリティー・プリミティブ:分散システムの監視に使用される主要なオブザーバビリティー・データの組み込みサポートを提供します。

プラグインベースの機能

すべてを網羅しているわけではないものの、これらの一般的な拡張機能は、高度な分析機械学習(ML)、オブザーバビリティーのシナリオを可能にします。

  • 異常検知:ランダム・カット・フォレスト・アルゴリズムを使用して、ログとメトリクスの異常なパターンを検知します。

  • k-NNおよびベクトル検索:セマンティック検索と類似性検索をサポートするほか、近傍法(k-NN)手法を使用した推奨ワークロードをサポートします。

  • ML Commons:OpenSearch内で機械学習モデルを直接実行し、トレーニングと推論をサポートします。

  • パフォーマンス・アナライザー:クラスター全体の詳細なリソースとパフォーマンスのメトリクスを提供し、CPUとクエリーのスループットを最適化できるようにチームを支援します。

  • クラスター間の複製:クラスター間でインデックスを複製し、ディザスター・リカバリー、冗長性、ワークロード分離をサポートします。

  • Trace分析:分散システムからのトレースを視覚化し、チームがサービスの依存関係とレイテンシー・パスを理解するのに役立ちます。

マネージド型のエクスペリエンスを好む組織は、AWS上のOpenSearchクラスターのスケーリング、バックアップ、ノード交換、メンテナンスを自動化するAmazon OpenSearch Serviceを使用することもできます。

OpenSearchダッシュボードとは

OpenSearchダッシュボードは、OpenSearchの視覚化および分析インターフェースです。インデックス化されたデータの探索、視覚化の構築、オブザーバビリティー、セキュリティー分析、アプリケーション監視のワークフロー全体で使用される運用ダッシュボードの作成のためのインタラクティブな環境を提供します。たとえば、チームはダッシュボードを活用してメトリクスの傾向を視覚化し、異常をほぼリアルタイムで調査できます。

OpenSearchダッシュボードは、チャート、表、マップ、ノートブック、カスタム・パネルの作成をサポートします。また、分析を効率化するための主要な機能も含まれています。ノートブックでは、ユーザーは視覚化とテキストを1つの説明に組み合わせることができ、運用パネルではパイプ処理言語で作成されたオブザーバビリティーの視覚化を統合した表示に整理できます。

OpenSearchダッシュボードは、Kibanaとユーザーインターフェース(UI)の伝統を共有しているため、多くのデータ・チームはそのワークフローが使いやすいと感じます。ただし、独自のロードマップに基づいて開発されており、より広範なOpenSearch機能セットを反映した機能が含まれています。

OpenSearchのユースケース

OpenSearchは、次のような業種・業務における幅広いユースケースをサポートしています。

  • ログ分析と運用インテリジェンス
  • オブザーバビリティー・ワークフロー
  • セキュリティ分析と脅威検知
  • 検索エンジンのアプリケーション
  • データの可視化と報告
  • 機械学習を活用した分析

ログ分析と運用インテリジェンス

チームは、アプリケーション、インフラストラクチャー、クラウド・サービスからのログにインデックスを付け、性能の問題を分析し、障害のトラブルシューティングを行います。OpenSearchは大量の取り込みとリアルタイム分析をサポートしているため、多国籍のeコマースサイトのような分散型のプロダクション・システムに適しています。

オブザーバビリティー・ワークフロー

OpenSearchは、メトリクス、ログ、トレースをサポートする統合型オブザーバビリティー・プラットフォームです。Trace Analyticsがサービスの相互作用を視覚化する一方で、アプリケーション・アナリティクスはテレメトリーを関連付けてシステムの動作を理解し、遅延や障害を特定します。ダッシュボードとPPLクエリーで、チームは問題を迅速に調査し、再利用可能な運用ビューを作成できます。

セキュリティー分析と脅威の検知

OpenSearchの検知とML Commonsアルゴリズムにより、組織はセキュリティー運用のオペレーション全体に検索と分析を適用できます。チームはこれを使用して、認証ログやアプリケーションの動作の異常なパターンを検知し、条件やしきい値が満たされたときに通知をトリガーします。

検索エンジンのアプリケーション

組織は、Webサイト、製品カタログ、エンタープライズ・コンテンツ・システムの背後にある検索エンジンとしてOpenSearchを使用しています。全文検索、オートコンプリート、フレーズ・マッチング、ベクトル検索は、幅広いユーザー・エクスペリエンスと推奨ユースケースをサポートします。

データの可視化とレポート作成

OpenSearchダッシュボードは、チームがデータを探索し、傾向を監視し、KPIを追跡し、洞察を利害関係者と共有するのに役立つインタラクティブな視覚化データ、レポート、ノートブックを提供します。

機械学習 – 分析の強化

ML Commonsを使うことで、チームはOpenSearch内でクラスター分類予測などのモデル駆動型のオペレーションを実行できます。これらの機能は、不正アクセス検知、需要予測、顧客セグメンテーション、下流データパイプラインの充実といったユースケースをサポートします。

執筆者

Tom Krantz

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

カメラ、音量調整つまみ、クリップボードなど、複数のアイコンがらせん状に並んだ3Dレンダリング
関連ソリューション
IBM watsonx.dataは、AI Enterprise Search

プラットフォームの再構築やロックインなく、ガバナンスの効いた安全なデータに基づく、文脈を理解する信頼性の高いAIエージェントから回答を得られます。

watsonx.data AI Enterprise Searchはこちら
データ管理ソフトウェアとソリューション

データ・サイロを排除し、複雑さを軽減し、データ品質を向上させることで、卓越した顧客体験と従業員体験を実現するデータ・ストラテジーを設計します。

データ管理ソリューションはこちら
データおよびAIコンサルティング・サービス

適切な戦略、データ、セキュリティ、ガバナンスを整え、AIを効果的に拡張します。

データおよびAIコンサルティング・サービスはこちら
次のステップ

ガバナンスが効いた一元的なビジネス・データに基づくエージェント型AIにより、組織全体から文脈に即した信頼性の高い回答を提供します。

  1. watsonx.data AI Enterprise Searchはこちら
  2. データ管理ソリューションの詳細はこちら