Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

全体像

ElasticSearch アーキテクチャ

物理的なインデックス

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

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

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

ノード ( ≒ ElasticSearch サーバー )

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

シャード

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

プライマリシャード

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

レプリカシャード

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

論理的なインデックス

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

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

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

タイプ ( ≒ テーブル )

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

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

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

参考文献

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away