distributed_aggregation_memory_efficient
distributed_connections_pool_size
distributed_foreground_insert
insert_distributed_sync
分散テーブルへのデータの同期挿入を有効または無効にします。
デフォルトでは、分散テーブルにデータを挿入すると、ClickHouse サーバーはバックグラウンドモードでクラスター内のノードにデータを送信します。distributed_foreground_insert=1 の場合、データは同期的に処理され、INSERT 操作が成功するのは、すべてのデータがすべての分片に保存された後のみです (internal_replication が true の場合は、各分片で少なくとも 1 つのレプリカ) 。
設定可能な値:
0— データはバックグラウンドモードで挿入されます。1— データは同期モードで挿入されます。
1.
関連項目
distributed_group_by_no_merge
0— 無効 (最終的なクエリ処理はイニシエーター ノードで実行されます) 。1- 分散クエリ処理で、異なるサーバーからの集約状態をマージしません (クエリは分片上で完全に処理され、イニシエーターはデータをプロキシするだけです) 。異なる分片に異なるキーがあることが確実な場合に使用できます。2-1と同じですが、ORDER BYとLIMITをイニシエーターで適用します (distributed_group_by_no_merge=1のようにクエリがリモート ノード上で完全に処理される場合は適用できません) (ORDER BYやLIMITを含むクエリで使用できます) 。
distributed_insert_skip_read_only_replicas
- 0 — INSERT は通常どおり実行され、読み取り専用レプリカに送られた場合は失敗します
- 1 — イニシエーターは、データを分片に送信する前に読み取り専用レプリカをスキップします。
distributed_product_mode
- IN および JOIN サブクエリにのみ適用されます。
- FROM 句で、複数の分片を含む分散テーブルが使用されている場合に限ります。
- サブクエリの対象が、複数の分片を含む分散テーブルである場合に限ります。
- テーブル値 remote 関数には使用されません。
deny— デフォルト値。これらの種類のサブクエリの使用を禁止します (“Double-distributed in/JOIN subqueries is denied” 例外を返します) 。local— サブクエリ内のデータベースとテーブルを、宛先サーバー (分片) のローカルなものに置き換え、通常のIN/JOINはそのままにします。global—IN/JOINクエリをGLOBAL IN/GLOBAL JOINに置き換えます。allow— これらの種類のサブクエリの使用を許可します。
distributed_push_down_limit
- 余分な行をネットワーク経由で送信すること。
- イニシエーターで LIMIT を超える行を処理すること。
distributed_push_down_limit は少なくとも 1 つの条件が満たされる場合にのみクエリ実行を変更するため、結果が不正確になることはなくなりました。
- distributed_group_by_no_merge > 0。
- クエリに
GROUP BY/DISTINCT/LIMIT BYがなく、ORDER BY/LIMITがある。 - クエリに
GROUP BY/DISTINCT/LIMIT BYとORDER BY/LIMITがあり、かつ:- optimize_skip_unused_shards が有効になっている。
- optimize_distributed_group_by_sharding_key が有効になっている。
- 0 — 無効。
- 1 — 有効。