Elastic Searchの概要について(Node, Shard, Index, Type, Fileld)

スポンサーリンク

はじめに

Elastic Searchという分散型検索エンジンについて学習して、Nodes(ノード)とかShard(シャード)などの理解を整理するために纏めました。

公式

Elasticsearchチュートリアル

Node(ノード)とは

Nodeについて

Elasticsearchの構成要素について

Elastic Searchを使い始めるときに必ず必要なものです。
どのNodeもHTTPリクエストの送信と変換ができるようになっています。
イメージでいえばサーバーですね。これがないと通信ができないです。

※どのNodeも標準で4つの機能を備えています。

名前機能
Master-eligible nodeElasticsearchの管理・制御を実施
Data nodeデータを格納
Ingest nodeAPIを受け付けるに特化
Machine learning node複数クラスタ構成で利用する

Cluster(クラスタ)とは

複数のNodeを纏めたもの。
1つのClusterに必ず1つのNodeが存在します。
ElasticSearchは検索トラフィックの増加とデータ量や書き込み速度の分散をNodeを増やすことで対応することができます。

Shard(シャード)とは

Indexの中身を入れる場所です。
2種類あります。
名前機能
Primary Shard書き込み可能なShard
Replica Shard読み取り専用のShard

デフォルトでは、5つのPrimary Shardとそれと対になるReplica Shardが生成されます。
(必ずセットで生成されます。)

Index(インデックスとは)

リレーショナルデータベースで言う所のDatabase(データベース)です。
ただ、データの中身自体はShardに保存されます。
見た目はIndexにあるように見えるけど・・・ってやつです。

Type(タイプ)とは

リレーショナルデータベースで言う所のtable(テーブル)です。
現在2020年1月時点の7.0のバージョンでは_docタイプしか認められていないので実質形骸化?

Document(ドキュメント)とは

リレーショナルデータベースで言う所のrow(ロー)です。

Fields(フィールズ)とは

リレーショナルデータベースで言う所のcolumn(カラム)です。
Documentのなかに入っているデータ単体という理解で一旦抑えました。

終わりに

一旦理解は抽象的ですが、なんとか進めそうです。
使ってみて例え話で説明できるくらいになりたい。

タイトルとURLをコピーしました