Elasticsearchの中核となる概念を示しています

この記事では、命令を説明するために、アウトライン、ポイント、8コアの概念について説明します。

  • NRT
  • クラスタ
  • ノード
  • ドキュメント&フィールド
  • 指数
  • タイプ
  • シャード
  • レプリカ

リアルタイムに近いニアリア​​ルタイム(NRT)

Elasticsearchの強みは、我々がほぼリアルタイムに呼び出してほぼリアルタイムで(準リアルタイムNRT)、です。
NRTは、例えば、以下の説明のために、2つの意味があります。

  • インデックスからのデータへのデータの書き込みは(1秒程度)小さな遅延を有するように検索することができます。

例えば:1秒、ユーザーがリアルタイムの近くにあるこの製品に情報を検索することができた後、新製品の新たなビジネスプラットフォームを追加しました。

  • あなたはElasticsearchに基づいて検索を実行するために、第2レベルのクエリと分析を実現することができます

また例えば、私は今、淘宝網で私を見てみたい、例をあげ、昨年はどのくらいのお金ほとんどのものを買うために月に最も高価な商品を、商品の種類を購入するどのくらいのお金、の合計を過ごした、いくつかのアイテムを購入していますほとんどのような情報淘宝網は言った場合、あなたは結果を得るために10分を待たなければならない、あなたは非常にクラッシュしていないほぼリアルタイムアップという淘宝網は、あなたにセカンドレベルを返すことができる場合は、この遅延時間は、ほぼリアルタイムではありません。

以下は、3の基本的な概念を説明する図を描きます

クラスタ:クラスタ

複数のノードを含み、各ノードは、そのクラスタが中小アプリケーション、通常のクラスタノードの開始のために、コンフィギュレーション(クラスタ名、デフォルトはelasticsearchである)によって決定されるに属します。クラスタの目的は、高可用性と大規模なデータ・ストレージノード間でより高速なクエリ機能を提供します。

ノード:ノード

クラスタ内のノードは、ノードは、(運転・保守管理業務の実施中)名(デフォルトはランダムに割り当てられている)、ノード名が非常に重要であり、「elasticsearch」クラスタのデフォルトノードは、名前に参加するを持っている直接起動した場合ノードの束は、それらは自動的に、クラスタelasticsearchを形成するもちろん、ノードは、クラスタelasticsearchを形成することができます

ドキュメント&フィールド:文書とフィールド

文書は、文書が顧客のデータであってもよい、商品分類データESの最小データ単位である1つのラインのデータは、通常、JSONデータ構造によって表され、各指標の種類、文書を複数格納することができます。フィールドを複数有する文書は、各フィールドは、データフィールドです。

行のMySQLの等価物は、単に、例えば、理解することができます。商品の文書データを次のように

product document
{
  "product_id": "1000",
  "product_name": "mac pro 2019 款笔记本",
  "product_desc": "高性能,高分辨率,编程必备神器",
  "category_id": "2",
  "category_name": "电子产品"
}

インデックス:インデックス

同様のデータ構造を含む文書の束がありますが、顧客は、インデックス、商品分類指数、受注指数を持つことができるよう、インデックスが名前を持っています。
インデックスは、類似または同一文書のクラスを表すために、インデックスを文書の多くが含まれています。たとえば、すべての製品データ、商品文書のすべてを保存する可能性がある製品指数、コモディティインデックスを作成します。

タイプ:タイプ

各インデックスは、1つまたは複数のタイプを持つことができる場合、タイプは、ブログシステム、指標として、論理データ、型の下文書は、同じフィールドを有する分類指標であり、ユーザは、データ型を定義することができ、ブログデータ型、コメントデータ型。

すべての製品データを格納コモディティ指数、製品ドキュメント

しかし、商品がカテゴリに分類され、文書の各カテゴリは、フィールドはまた、アフタータイムなどの特殊フィールドなどの一部、含まれていてもよい、など電気製品など、同じではないかもしれない。新鮮な品物を、また、のような新鮮な貯蔵寿命などの一部を含み、特別なフィールド

タイプ、日々商品の種類、電気製品の種類、商品の種類、新鮮な

日化商品タイプ:PRODUCT_ID、PRODUCT_NAME、product_desc、CATEGORY_ID、CATEGORY_NAME
电器商品タイプ:PRODUCT_ID、PRODUCT_NAME、product_desc、CATEGORY_ID、CATEGORY_NAME、service_period
生鲜商品タイプ:PRODUCT_ID、PRODUCT_NAME、product_desc、CATEGORY_ID、CATEGORY_NAME、eat_period

文書の束が含まれていますすべてのタイプ

{
"PRODUCT_ID": "2"、
"PRODUCT_NAME": "长虹电视机"、
"product_desc": "4K高清"、
"CATEGORY_ID": "3"、
"カテゴリ名": "电器"、
"service_period":「1年」
}

{
"PRODUCT_ID"、 "3" 。
、 "PRODUCT_NAME": "エビ"、
"product_desc": "自然、アイスランド産生"、
"CATEGORY_ID":" 4" 、
"カテゴリ名": "新鮮な"、
"eat_period": "7日"
}

また、プライマリー断片として知られているシャードの断片化、

単一の機械が大量のデータを格納することができない、ESデータは、複数のストレージサーバーに分散インデックス断片、複数に切断することができます。シャードでは、このような複数のサーバーに分散検索や分析などの操作は、スループットとパフォーマンスを向上させるためにアップを実行するように、より多くのデータを保存するためにスケールアウトすることができます。

各シャードは、Luceneインデックスです。

また、レプリカのシャードとして知られているレプリカコピー、

あなたは各レプリカのシャードの複数のコピーを作成することができますので、任意のサーバーの障害やダウンタイムの対象は、その後、シャードは、失われる可能性があります。データを確保するシャード障害が、失われていない場合、レプリカは、レプリカの複数のさらなるサーチ動作のスループットと性能を向上させることができる、バックアップサービスを提供してもよいです。

プライマリー断片(インデックス設定すると、デフォルト5を変更することはできません)、

レプリカのシャード(任意の時点での数、デフォルトの1を修正)、

各デフォルトのインデックス10シャード、5番目のプライマリー断片、5番目の複製断片、最小高可用性構成では、サーバは2です。

インデックス関連の説明:

  • インデックスは、シャード以上が含まれています
  • 断片は、データの一部を担持する、作業の各単位の最小容量で、Luceneのインスタンス、完全なインデックス処理要求と
  • ノードに変更すると、破片は自動的にノードを負荷分散します
  • プライマリー断片と複製断片、各ドキュメントは、プライマリー断片の複数に存在することができない、唯一の特定のプライマリー断片とその対応する複製断片が存在しなければなりません
  • レプリカのシャードは、フォールトトレランス、負荷の責任プライマリー断片のコピーであり、読み取り要求を負担します
  • 索引の作成にプライマリー断片の数が固定されており、複製断片の数は、いつでも変更することができます
  • デフォルトプライマリー断片の数が5で、レプリカはデフォルトで1であり、デフォルトは10シャード、5番目のプライマリー断片を、5番目のレプリカ断片有します
  • プライマリー断片とそのレプリカのシャードは、同じノードに配置することができない(またはノードダウンし、プライマリー断片とレプリカが失われ、フォールトトレラントの役割を達成できないだろう)が、同じノード上のレプリカのシャードの他のプライマリー断片

クラスタ内のインデックス割り当てマップ:

ブログ記事複数のプラットフォームからこの記事OpenWriteリリース!

おすすめ

転載: www.cnblogs.com/flyrock/p/11918620.html