Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

max_bytes_* MergeTree テーブル設定

これらの設定は system.merge_tree_settings で確認でき、ClickHouse のソースコードから自動生成されています。

max_bytes_to_merge_at_max_space_in_pool

UInt64
デフォルト値
161061273600

利用可能なリソースが十分にある場合に、複数のパーツを 1 つのパーツにマージする際の、合計サイズ (バイト単位) の上限です。これは、自動バックグラウンドマージによって作成されるパーツの最大サイズにおおよそ相当します。 (0 はマージが無効になることを意味します)

設定可能な値:

  • 0 以上の任意の整数。

マージスケジューラは定期的にパーティション内のパーツのサイズと数を分析し、プールに十分な空きリソースがあれば、バックグラウンドマージを開始します。マージは、ソースパーツの合計サイズが max_bytes_to_merge_at_max_space_in_pool より大きくなるまで実行されます。

OPTIMIZE FINAL によって開始されたマージでは、max_bytes_to_merge_at_max_space_in_pool は無視されます (考慮されるのは空きディスク容量のみです) 。

max_bytes_to_merge_at_min_space_in_pool

UInt64
デフォルト値
1048576

バックグラウンドプールで利用可能なリソースが最小限のときに、 複数のパーツを1つのパーツへマージする際の合計パーツサイズ (バイト単位) の最大値です。

設定可能な値:

  • 任意の正の整数。

max_bytes_to_merge_at_min_space_in_pool は、 利用可能なディスク領域 (プール内) が不足している場合でもマージできる パーツの合計サイズの上限を定義します。 これは、小さなパーツの数を減らし、 パーツが多すぎる エラーが発生する可能性を下げるために必要です。 マージでは、マージ対象パーツの合計サイズの2倍のディスク領域が予約されます。 そのため、ディスクの空き領域が少ない場合、 空き領域自体はあっても、その領域が進行中の大規模なマージですでに予約されているため、 ほかのマージを開始できず、insert のたびに小さなパーツが増えていく状況が発生することがあります。

Navigation