分散検索クエリーのロード・バランス機能
分散検索クエリーのロード・バランス機能。
DSE Searchは、アルゴリズムを使用して、クエリー対象のシャード数を最小限に抑え、非ローカル・ノードから転送されるデータの量を削減することで、分散検索クエリーの負荷のバランスをとります。戦略は検索インデックスごと(コアごと)であり、dsetool set_core_propertyで変更できます。変更はRELOAD SEARCH INDEXで認識され、ノードを再起動する必要はありません。異なる検索インデックスは異なる値を持つことができます。
コア・プロパティ
分散検索クエリーのロード・バランス機能のコア・プロパティは次のとおりです。
shard.set.cover.finder
シャード・セット・カバー・ファインダーでは、クエリーのカバーを設定する方法を計算し、検索データを読み取るためにある1つのノードが他のノードより優先的に選ばれる方法が指定されます。
値は、以下のいずれかです。
- STATIC
用途 結果 - 高速
- ロード・バランスされたクライアントが必要
- 8つ以上のvnode
- shard.set.cover.finder=STATIC
- 1つのノードに対する同じクエリーでは同じトークン範囲とエンドポイントを使用します。
- 作成するトークン・フィルターの数を減らします。
- シャード要求を均一に分散させるには、クエリーを送信するクライアントがクラスター全体でクエリー要求を均等に分散する必要があります。
- DYNAMIC
用途 結果 - デフォルト
- 8つ以下のvnode
- shard.set.cover.finder=RANDOM
- クラスター内の単一のノードに到着するクエリーに対する、クラスター全体のシャード要求の均一な分散。
- トークン範囲の数が多いため、特にvnodeを使用して、クエリーごとに多数の一意のトークン・フィルターを作成します。
shard.shuffling.strategy
shard.set.cover.finder=DYNAMICの場合、シャード・シャッフリング・ストラテジを次のいずれかの値に変更できます。
- HOST - シャードが、クエリーを受け取ったホストに基づいて選ばれます。
- QUERY - シャードが、クエリー文字列に基づいて選ばれます。
- HOST_QUERY - シャードが、ホストxクエリーに基づいて選ばれます。
- RANDOM - ランダムなシャードの組み合わせが、各要求に従って選ばれます(デフォルト)。
- SEED - クエリー間で同じシャードが選ばれます。
shard.set.cover.finder.inertia
shard.set.cover.finder=STATICの場合、シャード・カバー・ファインダーの慣性値を変更できます。inertiaの値をデフォルト1から増やすと、2つ以上のvnodeと20を超えるノードのあるクラスターのパフォーマンスが向上します。ほとんどのワークロードにはデフォルトが適しています。
コア・プロパティの変更
注: コア・プロパティの変更は、検索インデックスのdse-search.propertiesリソースにプロパティを設定する高度な操作です。
これらのコマンド例は、デモ・キースペースとhealth_dataテーブルのコア・プロパティを変更する方法を示しています。 - シャード・セット・カバー・ファインダーを変更するには:
dsetool set_core_property demo.health_data shard.set.cover.finder=STATIC
- shard.set.cover.finder=DYNAMICの場合のみ、シャード・シャッフリング・ストラテジを変更できます。
dsetool set_core_property demo.health_data shard.shuffling.strategy=query
- ノードの変更を認識するには、検索インデックスを再読み込みします。
RELOAD SEARCH INDEX ON demo.health_data
- dse-search.propertiesリソースのプロパティの状態を表示するには:
dsetool list_core_properties demo.health_data
結果:shard.set.cover.finder=STATIC
ヒント: ログ・ファイルには、読み込まれたDSE検索プロパティが表示されます。dsetool list_core_propertiesコマンドは、dse-search.propertiesリソース内のプロパティの状態のみを表示します。