データベース

Elasticsearch・OpenSearch えらすてぃくさーち・おーぷんさーち

ElasticsearchOpenSearch全文検索ログ分析ELKスタック転置インデックス
Elasticsearch・OpenSearchについて教えて

簡単に言うとこんな感じ!

「大量のテキストデータから一瞬で検索できる」エンジンだよ。サイト内検索やアプリのログ分析が得意で、「先月のエラーを全部出して」みたいな検索を億件のデータでも秒で返してくれる。OpenSearchはElasticsearchからフォークした互換OSSだよ!


Elasticsearch・OpenSearchとは

Elasticsearchは、Apache Luceneをベースにした分散型の全文検索エンジンです。JSONドキュメントを保存し、テキスト検索・集計分析・地理情報検索などが高速に行えます。ELK スタック(Elasticsearch + Logstash + Kibana)としてログ管理・監視基盤としても広く使われています。

OpenSearchは、AWSが2021年にElasticsearchをフォークして作ったOSSプロジェクトです。Elastic社がElasticsearchのライセンスを商用制限のあるSSPLに変更したことへの対抗措置として誕生しました。APIレベルでElasticsearchと高い互換性を持ちます。AWSはAmazon OpenSearch Serviceとしてマネージドサービスを提供しています。

両者の中心技術は転置インデックスです。テキストを単語(トークン)に分解し、「どの単語がどのドキュメントに含まれるか」のインデックスを作成することで超高速な全文検索を実現しています。


主要な概念

用語説明
インデックスRDBテーブルに相当する。ドキュメントの集合
ドキュメントJSONオブジェクト。RDBの行に相当
シャードインデックスを分割した単位。水平分散の基本
レプリカシャードのコピー。障害耐性と読み取り性能向上
マッピングフィールドのデータ型定義。RDBのスキーマに相当
アナライザーテキストをインデックス用トークンに分解する処理
Query DSLJSON形式のクエリ言語

主な用途

  • ログ・監視分析 — ELK/EFKスタック構成でシステムログを可視化
  • サイト内検索 — ECサイトの商品検索、ドキュメント検索
  • セキュリティ分析SIEMとして不正アクセスパターンを検出
  • APM(アプリ性能監視) — Elastic APMでトレーシング・プロファイリング

歴史と背景

  • 2004年 — Shay Banonが前身の「Compass」を開発
  • 2010年 — Elasticsearchとして公開。分散検索エンジンに進化
  • 2012年 — Elastic社設立。Logstash・Kibanaを取得しELKスタックを形成
  • 2016年 — Elastic社がNASDAQ上場
  • 2021年 — ElasticがSSPLライセンスに変更→AWSがOpenSearchプロジェクトを開始
  • 2021年 — OpenSearch 1.0リリース
  • 現在 — AWSはOpenSearch Service、Elasticは Elastic Cloud Serverless を展開

Elasticsearch vs OpenSearch

Elasticsearch vs OpenSearch Elasticsearch ・ライセンス: SSPL(商用制限あり) ・クラウド: Elastic Cloud ・ML機能が豊富(商用) ・Kibanaで可視化 ・ベクター検索(AI統合) OpenSearch ・ライセンス: Apache 2.0(完全OSSS) ・クラウド: Amazon OpenSearch Service ・Elasticsearch 7.10互換 ・OpenSearch Dashboardsで可視化 ・CNCFプロジェクト(2024年〜)

関連する規格・RFC

資料内容
Apache LuceneElasticsearchとOpenSearchの基盤となる全文検索ライブラリ
SSPL(Server Side Public License)Elastic社が採用したライセンス。商用サービス提供に制限

関連用語