これらの設定は system.settings で確認でき、ソースコード から自動生成されています。
parallel_replicas_allow_in_with_subquery
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.3 | 1 | true の場合、IN のサブクエリは各フォロワー レプリカで実行されます |
true の場合、IN のサブクエリは各フォロワー レプリカで実行されます。
parallel_replicas_allow_materialized_views
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.12 | 1 | 並列レプリカでのmaterialized viewの使用を許可する |
並列レプリカでのmaterialized viewの使用を許可します
parallel_replicas_allow_view_over_mergetree
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.4 | 0 | 新しい設定 |
MergeTree テーブルに対する単純なビューで、並列レプリカがビューの内部クエリではなく外側のクエリを実行できるようにし、ノード間の並列化を向上させます。これは、すべての分岐が異なる MergeTree テーブルを読み取る UNION ALL ビューにも適用されます。
parallel_replicas_connect_timeout_ms
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.6 | 300 | 並列レプリカのクエリ用に個別の接続タイムアウトを設定 |
並列レプリカでクエリ実行を行う際に、リモートレプリカへの接続に使用するタイムアウトをミリ秒単位で指定します。タイムアウトした場合、該当するレプリカはクエリ実行に使用されません
parallel_replicas_count
これは内部設定であり、直接使用するものではなく、「並列レプリカ」モードの実装上の詳細を表します。この設定は、クエリ処理に参加する並列レプリカの数に合わせて、分散クエリのためにイニシエーターサーバーによって自動的に設定されます。
parallel_replicas_custom_key
特定のテーブルに対して、レプリカ間で処理を分割するために使用できる任意の整数式です。 値には任意の整数式を指定できます。
主キーを使用した単純な式が推奨されます。
この設定を、単一の分片と複数のレプリカで構成されるクラスターで使用した場合、それらのレプリカは仮想分片に変換されます。
それ以外の場合は、SAMPLE キーと同様に動作し、各分片の複数のレプリカを使用します。
parallel_replicas_custom_key_range_lower
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.6 | 0 | 動的な分片で並列レプリカを使用する際の range フィルターを制御する設定を追加 |
フィルタータイプ range が、カスタム範囲 [parallel_replicas_custom_key_range_lower, INT_MAX] に基づいて、レプリカ間で作業を均等に分割できるようにします。
parallel_replicas_custom_key_range_upper と組み合わせて使用すると、範囲 [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper] に対して、フィルターがレプリカ間で作業を均等に分割できるようになります。
注: この設定によってクエリ処理中に追加のデータがフィルタリングされることはありません。代わりに、並列処理のために範囲フィルターが範囲 [0, INT_MAX] を分割する境界点が変更されます。
parallel_replicas_custom_key_range_upper
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.6 | 0 | 動的な分片で並列レプリカを使用する際の範囲フィルターを制御する設定を追加しました。値が 0 の場合、上限は無効になります |
フィルタータイプ range が、カスタム範囲 [0, parallel_replicas_custom_key_range_upper] に基づいて、レプリカ間で作業を均等に分割できるようにします。値が 0 の場合、上限は無効になり、カスタムキー式の最大値が設定されます。
parallel_replicas_custom_key_range_lower と組み合わせて使用すると、範囲 [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper] に対して、フィルターがレプリカ間で作業を均等に分割できるようになります。
注: この設定によってクエリ処理中に追加のデータがフィルターされることはありません。代わりに、並列処理のために範囲フィルターが範囲 [0, INT_MAX] を分割する位置が変更されます
parallel_replicas_filter_pushdown
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.2 | 0 | 新しい設定 |
並列レプリカが実行するよう選択するクエリの一部へのフィルタのプッシュダウンを許可します
parallel_replicas_for_cluster_engines
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.3 | 1 | 新しい設定 |
table function エンジンを、対応する -Cluster の代替に置き換えます
parallel_replicas_for_non_replicated_merge_tree
true の場合、ClickHouse はレプリケートされていない MergeTree テーブルに対しても並列レプリカアルゴリズムを使用します
parallel_replicas_index_analysis_only_on_coordinator
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.12 | 1 | 索引解析は replica-coordinator でのみ実行され、他のレプリカではスキップされます。parallel_replicas_local_plan が有効な場合にのみ適用されます |
| 24.10 | 1 | 索引解析は replica-coordinator でのみ実行され、他のレプリカではスキップされます。parallel_replicas_local_plan が有効な場合にのみ適用されます |
索引解析は replica-coordinator でのみ実行され、他のレプリカではスキップされます。parallel_replicas_local_pla が有効な場合にのみ適用されます
parallel_replicas_insert_select_local_pipeline
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | 1 | 並列レプリカを使用する分散 INSERT SELECT でローカルパイプラインを使用します。現在はパフォーマンス上の問題により無効化されています |
| 25.4 | 0 | 並列レプリカを使用する分散 INSERT SELECT でローカルパイプラインを使用します。現在はパフォーマンス上の問題により無効化されています |
並列レプリカを使用する分散 INSERT SELECT でローカルパイプラインを使用します
parallel_replicas_local_plan
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.9 | 0 | 並列レプリカを使用するクエリで、ローカルレプリカに対してローカルプランを使用する |
| 24.11 | 1 | 並列レプリカを使用するクエリで、ローカルレプリカに対してローカルプランを使用する |
| 24.10 | 1 | 並列レプリカを使用するクエリで、ローカルレプリカに対してローカルプランを使用する |
ローカルレプリカ向けにローカルプランを構築します
parallel_replicas_mark_segment_size
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.9 | 0 | この設定の値は自動的に自動決定されるようになりました |
| 24.1 | 128 | 新しい並列レプリカコーディネーター実装でセグメントサイズを制御するための新しい設定を追加しました |
パーツは、並列読み取りのためにレプリカ間へ分配されるセグメントに仮想的に分割されます。この設定は、それらのセグメントのサイズを制御します。何をしているのかを十分に理解している場合を除き、変更は推奨されません。値は [128; 16384] の範囲である必要があります。
parallel_replicas_min_number_of_rows_per_replica
クエリで使用するレプリカ数を、 (読み取ると推定される行数 / min_number_of_rows_per_replica) に制限します。なお、最大値は引き続き 'max_parallel_replicas' によって制限されます
parallel_replicas_mode
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.10 | read_tasks | この設定は、並列レプリカ機能をベータ化する一環として導入されました |
並列レプリカでカスタムキーとともに使用するフィルターの種類。default - カスタムキーに対して剰余演算を使用します。range - カスタムキーの値の型で取り得るすべての値を使って、カスタムキーに範囲フィルターを適用します。
parallel_replicas_only_with_analyzer
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.2 | 1 | 並列レプリカは、アナライザが有効な場合にのみサポートされます |
並列レプリカを使用するには、アナライザを有効にする必要があります。アナライザが無効な場合は、レプリカからの並列読み取りが有効になっていても、クエリ実行はローカル実行にフォールバックします。アナライザを有効にせずに並列レプリカを使用することはサポートされていません
parallel_replicas_plan_based
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.7 | 0 | 新しい設定 |
クエリツリーベースの分析ではなくクエリプランを分析し、並列レプリカを使用するかどうか、およびどこで使用するかを決定します。その結果、SQLクエリではなくプランフラグメントがリモートレプリカに送信されます。実験的機能です。
parallel_replicas_prefer_local_join
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.2 | 1 | true の場合、JOIN を並列レプリカアルゴリズムで実行でき、かつ JOIN の右側のすべてのストレージが *MergeTree であるときは、GLOBAL JOIN ではなくローカル JOIN が使用されます。 |
true の場合、JOIN を並列レプリカアルゴリズムで実行でき、かつ JOIN の右側のすべてのストレージが *MergeTree であるときは、GLOBAL JOIN ではなくローカル JOIN が使用されます。
parallel_replicas_prefer_local_replica
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.5 | 1 | 新しい設定。無効にすると、並列読み取り用のレプリカはローカルレプリカを強制的に含めず、負荷分散アルゴリズムのみに基づいて選択されます。 |
有効時 (デフォルト) には、並列読み取りに使用されるレプリカ群に常にローカルレプリカが含まれます。
無効時には、ローカルレプリカは優先されず、レプリカは負荷分散アルゴリズムのみに基づいて選択されます。
これにより、max_parallel_replicas = 1 を指定したクエリを別のホストに送ることができ、多数の短いクエリがクラスター全体に分散される場合のキャッシュ局所性を改善できます。
parallel_replicas_support_projection
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.8 | 1 | 新しい設定。並列レプリカでプロジェクションの最適化を適用できます。parallel_replicas_local_plan が有効で、aggregation_in_order が無効な場合にのみ有効です。 |
並列レプリカでプロジェクションの最適化を適用できます。parallel_replicas_local_plan が有効で、aggregation_in_order が無効な場合にのみ有効です。