Elasticsearchにおけるシャード
シャード(Shard)とは、インデックスに関する用語です。
ちなみにElasticsearchにおけるインデックスとはDBの世界における表を指します。
簡易的な対応関係は以下のようになっています。
Elastic Search | RDBMS |
---|---|
インデックス | テーブル |
ドキュメント | レコード |
フィールド | フィールド |
シャードとは
shard : 破片
という英語名にも通じますが、シャードとはインデックスを分割したものです。
なぜ分割する必要があるのでしょうか。
二例紹介します。
大量のインデックスを格納する
極端な例ですが、あるサーバで割り当てられているデータ領域以上のディスク容量を占有するインデックスは、複数のサーバに分担しないとデータを保持できません。
その際に、インデックスを分割する必要があります。
まとめ
シャードとはインデックスを分割したもので、主に情報を分散することで可用性を維持するために利用されます。
クラスタ内に2つのノードがある場合は、デフォルトで採用される機構ですので覚えておくとどこかで役立つと思います。
以上、ご参考ください。