いくつかのコアコンセプトのESのESの翻訳は学ぶことができます

正文

Elasticsearch概念のいくつかの非常に基本的なしかし非常にコアがありますが、正式なスタート学習する前に、あなたは大きな助けを学びます後ろに、この下にそれらを理解する必要があります。

リアルタイムNRTの近く

Elasticsearchは、ほぼリアルタイムの検索プラットフォームです。これは、検索からインデックスが作成された文書が本当に短い遅延(通常は1秒)でなければならないことを意味します。

クラスタのクラスタ

当社が保有するすべてのデータを搬送し、インデックスと検索に能力内のすべてのノードを提供し、クラスタ、すなわち、1つまたは複数のノード(サーバ)のセット。各クラスタは、「elasticsearch」のデフォルト名を識別するための固有の名前を持っています。名前は、各ノードは唯一のクラスタに追加することができることが非常に重要であり、各ノードがクラスタの一部になることができ、それがこの名前によって決定されます。

私たちは、それ以外の場合は、間違ったノードクラスタに追加されます、異なる環境、クラスタ名が異なっていることを確認する必要があります。たとえば、3つのクラスタの開発、進歩と3つの生産環境を表現するために名付けられログ-devを、伐採ステージ、ログ・生産を使用することができます。

クラスタ内の1つのノードだけでは完璧に動作することができます。また、あなたは別のクラスタ名を設定することができ、目標は、複数のクラスタを実行します。

ノードノード

ノードは、単一のサービスでも、クラスタの一部である、各クラスタノードに参加するために必要なデータ、インデックス、および検索機能を格納するための責任があります。そして、同じクラスタは、各ノードが独自の名前を持ち、ノードのデフォルト名は、ランダムにノードが開始されたUUID、によって生成され、それは名前が割り当てられます。あなたは、デフォルトで生成された名前を使用したくない場合は、カスタマイズすることができます。名前は、また、ノード名も特定する必要があるクラスタに属するノードを知るために、クラスタ管理の際に、各ノードを識別するためにそれらを介して、クラスタが非常に重要です。

ノードのクラスタ名を設定すると、指定したクラスタに追加することができます。デフォルトのノード名は「elaticsearch」のクラスタとして追加されます。あなたは、ネットワーク内の複数のノードを開始し、彼らはお互いを見つけることができる場合、これらのノードが自発的に「elaticsearch」のクラスタの名前を形成します。

クラスタは、複数のノードのいずれかから構成されてもよいです。ネットワークノードが実行されていない場合は、起動し、新しいノードが自動的に新しいクラスタを作成し、このクラスタは、一つのノードのみが含まれ、デフォルト名は「elasticsearch」です。

索引索引

インデックスは、同様の特性を持っている文書のコレクションです。それを理解するには?たとえば、注文データを保存し、インデックス、コモディティインデックス格納されている情報だけでなく、インデックスとデータストレージの消費者を入力することができます。各インデックスは認識して(小文字でなければなりません)の名前です。私たちは、このようなインデックス作成、検索、更新などの文書データのインデックスにいくつかの操作を実行し、時間を削除すると、また名前で識別されます。

クラスターは、インデックスの任意の数を定義することができます。

タイプタイプ

注:Elasticsearch 6.0のタイプは放棄されています。もはや、複数のタイプをサポートしていません

タイプは、私たちは、インデックス、例えば、ユーザタイプ、ブログタイプで文書の種類を格納することができますインデックスの論理/パーティションを、分類するために使用されます。しかし、6.0の後、の種類に複数の種類の作成をサポートしていません、そして、タイプtypeの概念は、次のバージョンになります、7.0は完全に除去されています。

ドキュメントドキュメント

ドキュメントはElasticsearchにおける情報の最小単位は、索引付けされています。たとえば、あなたが文書を消費者に表すことができ、文書が商品を表し、順序を表し文書があります。ドキュメントは非常に一般的なデータ形式であるJSON形式です。

インデックス/タイプでは、我々は、文書の任意の番号を保存することができます。インデックス/タイプを指定しなければならない物理的な意味が、文書がインデックスに格納されているが、現在のバージョン(6.5)、文書を保存することに留意されたいです。

断片化およびレプリカシャープス&レプリカ

索引に格納されるデータの量は、単一ノードのハードウェアの制限を超えてもよいことは間違いありません。栗の場合は、インデックスを含む10億のドキュメントと仮定すると、ノードのディスク容量が十分ではないかもしれない、ディスク容量1Tを取り上げます。十分なスペースがある場合でも、処理が遅すぎる単一ノード要求に問題があるでしょう。

どのようにこの問題を解決するには?Elasticsearchは、それぞれがシャープス、すなわち、スライスと呼ばれる、能力インデックスは複数の部分に分割することができる提供します。あなたは、インデックスを作成するとき、あなたは、インデックスの断片の数を指定することができ、それぞれの断片は、実際に独立した、フル機能を備えた「インデックスインデックス」であり、クラスタ内の任意のノードに存在してもよいです。

断片化は、2つの理由のために非常に重要です。

  • これは、クラスタが容量拡張のレベルを達成することができます
  • これは、システムのパフォーマンス/スループットを向上させるために、私たちは異なる断片(複数のノード)との間に並列動作を実現することを可能にします。

だから、あなたはどのように断片化インデックス、それの分布に、と思いますか?それの検索要求と集約、検索結果異なる断片をどのように見つけますか?実際には、Elasticsearchは、私たちは、これらの問題を解決しなければなりません。そして、このプロセスは、我々はまた、表示されます。

ネットワーク/クラウド環境では、例外は、任意の時間、例えば、いくつかのケースでは、スライス/ノードで起こり得る突然直接消失クラスタから直接作業し、又は停止します。このように、フォールトトレランスは非常に必要な、非常に重要です。これに基づき、Elasticsearchはスライスのコピーを作成する機能、あなたは1つまたは複数のコピーを作成するように設定することができ、各スライスを提供します。

重要なのコピーは、次の2点をご紹介します。

  • ノード/スライスがハングアップした場合可用性は、まだ正常に動作することができます。したがって、に注意を払うようにしてください、とスライスしたマスタースライスのコピーが同じノードに割り当てられることはありません。
  • 高性能、操作は、これは、検索のパフォーマンスを改善し、検索のスループットを向上させることができ、複数のコピー上で並列に実行することができます。

簡潔には、インデックスが複数のスライスに分割することができ、0インデックスがコピー以上の部分もよいです。複製コピーと、各インデックスは、マスタースライス(元の断片が、他のコピーは、スライスからコピーされ)、スライス(プライマリスライスコピー)のコピーを有することになります。

インデックスが作成されたときにインデックスの断片化とコピーの数を定義することができます。インデックスが作成された後しかし、あなたはまた、任意の時点での動的な変更のコピーの数を変更することができます。二つのインターフェース_shrinkによっておよび_split、あなたはまた、断片インデックスの数が作成されている変更することができますが、これはそれが最善であるインデックスを作成するとき、あなたは断片の正確な数を設定し、小さなものではありません。

デフォルトでは、Elasticsearchでは、クラスタの2つ以上のノードを持っている場合、デフォルトでは、各インデックスは主に5つの断片を持っていることを意味し、各指標、の5つの主要な断片化と5つのコピーを割り当てます5つのコピー、すなわち10枚のスライスの合計を含みます。

ます。https://juejin.im/post/5cfcbedce51d45775a7002e7で再現

おすすめ

転載: blog.csdn.net/weixin_33694172/article/details/91417209