LoginSignup
32
33

More than 5 years have passed since last update.

Elasticsearch 一目で分かるアーキテクチャ

Posted at

全体像

ElasticSearch アーキテクチャ

物理的なインデックス

Elasticsearch の物理的なインデックスは、クラスタ、 ノード、シャードの 3 つの要素から構成されている。

クラスタ ( ≒ ElasticSearch サーバー群 )

複数のノード ( ElasticSearch サーバー ) を一つの ElasticSearch として動作させることができます。クラスタ構成にすることで、大量のデータを複数のノードに分散して保持することが可能です。クラスタは同一のプロセス名 (デフォルトでは elasticsearch ) を指定することで構成できます。

ノード ( ≒ ElasticSearch サーバー )

Elasticsearch の 1 プロセス ( ≒ サーバー ) に相当します。基本的には 1 サーバーに、1 プロセス動作しますが、複数のノードを起動することも可能です。

シャード

各インデックスを分割したものです。シャードにはプライマリシャードとレプリカシャードが存在します。

プライマリシャード

インデックスの書き込みと参照処理で使用されます。プライマリシャードにデータを保存し、レプリカシャードにデータをコピーします。

レプリカシャード

プライマリシャードのコピーです。インデックスの参照処理で使用されます。プライマリシャードが消えてしまった場合は、該当の レプリカシャードが昇格されフェールオーバーに使用されます。

論理的なインデックス

Elasticsearch の論理的なインデックスは、インデックス、タイプ、ドキュメント の3つの要素から構成されています。

インデックス ( ≒ データベース )

RDB のデータベースに相当します。インデックスはドキュメントの集合です。Elasticsearch はインデックス単位でドキュメントを管理することができます。各インデックスを横断して検索することもでき、任意のインデックスのみ検索対象にすることもできます。

タイプ ( ≒ テーブル )

RDB のテーブルに相当します。インデックスに登録するドキュメントを分類するものです。各タイプを横断して検索することもでき、任意のタイプのみ検索対象にすることもできます。

ドキュメント ( ≒ レコード )

ドキュメントは、RDBMS の 1 レコードに相当します。ドキュメントは複数のフィールドから構成され、各ドキュメント異なった構造を持つことができます。

参考文献

Elasticsearch システム概要 – Hello! Elasticsearch. – Medium

32
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
33