[go: up one dir, main page]

メインコンテンツまでスキップ
メインコンテンツまでスキップ

MergeTree テーブル設定

System table system.merge_tree_settings は、全体的に設定された MergeTree の設定を表示します。

MergeTree の設定は、サーバの設定ファイルの merge_tree セクションで設定することもできますし、各 MergeTree テーブル個別に CREATE TABLE ステートメントの SETTINGS 式に指定することもできます。

設定 max_suspicious_broken_parts をカスタマイズする例:

サーバ設定ファイルで全ての MergeTree テーブルのデフォルトを設定します:

<merge_tree>
    <max_suspicious_broken_parts>5</max_suspicious_broken_parts>
</merge_tree>

特定のテーブルに対して設定する:

CREATE TABLE tab
(
    `A` Int64
)
ENGINE = MergeTree
ORDER BY tuple()
SETTINGS max_suspicious_broken_parts = 500;

特定のテーブルの設定を変更するには ALTER TABLE ... MODIFY SETTING を使用します:

ALTER TABLE tab MODIFY SETTING max_suspicious_broken_parts = 100;

-- reset to global default (value from system.merge_tree_settings)
ALTER TABLE tab RESET SETTING max_suspicious_broken_parts;

MergeTree settings

adaptive_write_buffer_initial_size

適応的な書き込みバッファの初期サイズ

add_implicit_sign_column_constraint_for_collapsing_engine

true の場合、CollapsingMergeTree または VersionedCollapsingMergeTree テーブルの sign カラムに対して、有効な値( 1-1 )のみを許可する暗黙の制約が追加されます。

add_minmax_index_for_numeric_columns

有効な場合、テーブルの全ての数値カラムに対して最小-最大(スキッピング)インデックスが追加されます。

add_minmax_index_for_string_columns

有効な場合、テーブルの全ての文字列カラムに対して最小-最大(スキッピング)インデックスが追加されます。

allow_coalescing_columns_in_partition_or_order_key

有効な場合、CoalescingMergeTree テーブルの結合されるカラムをパーティションまたはソートキーで使用することを許可します。

allow_experimental_replacing_merge_with_cleanup

Experimental feature. Learn more.

is_deleted カラムを持つ ReplacingMergeTree に対して、実験的な CLEANUP マージを許可します。これを有効にすると、OPTIMIZE ... FINAL CLEANUP を使用して、パーティション内の全てのパーツを単一のパーツにマージし、削除された行を取り除くことが可能になります。

また、min_age_to_force_merge_secondsmin_age_to_force_merge_on_partition_only、および enable_replacing_merge_with_cleanup_for_min_age_to_force_merge 設定を使用して、自動的にバックグラウンドでそのようなマージを行うことも許可します。

allow_experimental_reverse_key

Experimental feature. Learn more.

MergeTree ソートキーで降順をサポートする設定を有効にします。この設定は、時系列分析や Top-N クエリに特に便利で、データを逆時系列順で保存することでクエリのパフォーマンスを最適化します。

allow_experimental_reverse_key が有効な場合、MergeTree テーブルの ORDER BY 式に降順を定義できます。これにより、降順クエリの際に ReadInOrder 最適化を利用でき、ReadInReverseOrder よりも効率的です。

CREATE TABLE example
(
time DateTime,
key Int32,
value String
) ENGINE = MergeTree
ORDER BY (time DESC, key)  -- Descending order on 'time' field
SETTINGS allow_experimental_reverse_key = 1;

SELECT * FROM example WHERE key = 'xxx' ORDER BY time DESC LIMIT 10;

クエリで ORDER BY time DESC を使用すると、ReadInOrder が適用されます。

デフォルト値: false

allow_floating_point_partition_key

浮動小数点数をパーティションキーとして許可することを可能にします。

可能な値:

  • 0 — 浮動小数点パーティションキーは許可されません。
  • 1 — 浮動小数点パーティションキーは許可されます。

allow_nullable_key

Nullable 型を主キーとして許可します。

allow_part_offset_column_in_projections

プロジェクション SELECT クエリで '_part_offset' カラムの利用を許可します。

allow_reduce_blocking_parts_task

共有のマージツリー テーブルのためにブロックされたパーツを削減するバックグラウンドタスクです。 ClickHouse Cloud のみで使用可能

allow_remote_fs_zero_copy_replication

Experimental feature. Learn more.

この設定はプロダクションで使用しないでください。まだ準備ができていません。

allow_summing_columns_in_partition_or_order_key

有効な場合、SummingMergeTree テーブルの合計カラムをパーティションまたはソートキーで使用することを許可します。

allow_suspicious_indices

同一の式を持つ主キー/二次インデックスおよびソートキーを拒否します。

allow_vertical_merges_from_compact_to_wide_parts

コンパクトから広域部分に対して垂直方向のマージを許可します。この設定は全てのレプリカで同じ値を持たなければなりません。

always_fetch_merged_part

true の場合、このレプリカは決してパーツをマージせず、常に他のレプリカからマージされたパーツをダウンロードします。

可能な値:

  • true, false

ミューテーション/置換/切り離しなどの間に、常にデータをハードリンクの代わりにコピーします。

apply_patches_on_merge

true の場合、マージの際にパッチパーツが適用されます

assign_part_uuids

有効にすると、各新しいパートに一意のパート識別子が割り当てられます。 有効にする前に、全てのレプリカがUUIDバージョン4をサポートしていることを確認してください。

async_block_ids_cache_update_wait_ms

各挿入反復が async_block_ids_cache 更新を待機する時間

async_insert

true の場合、INSERT クエリからのデータはキューに保存され、後でバックグラウンドにテーブルにフラッシュされます。

background_task_preferred_step_execution_time_ms

マージまたはミューテーションの1ステップの実行の目標時間です。1ステップが長時間かかる場合は超えることがあります。

cache_populated_by_fetch

注記

この設定は ClickHouse Cloud のみ適用されます。

cache_populated_by_fetch が無効である場合(デフォルトの設定)、新しいデータパーツは、それらのパーツを必要とするクエリが実行されるまでキャッシュにロードされません。

有効にすると、cache_populated_by_fetch は全てのノードが新しいデータパーツをストレージからキャッシュに、クエリをトリガーする必要なくロードする原因になります。

参照

cache_populated_by_fetch_filename_regexp

注記

この設定は ClickHouse Cloud のみ適用されます。

空でない場合、この正規表現に一致するファイルのみがフェッチ後にキャッシュに事前にウォームアップされます(cache_populated_by_fetch が有効な場合)。

check_delay_period

廃止された設定、何も行いません。

check_sample_column_is_correct

テーブル作成時に、サンプリング用のカラムまたはサンプリング式のデータ型が正しいことを確認するチェックを有効にします。データ型は符号なし 整数型 のいずれかでなければなりません: UInt8UInt16UInt32UInt64

可能な値:

  • true — チェックが有効です。
  • false — テーブル作成時にチェックが無効です。

デフォルト値: true

デフォルトでは、ClickHouseサーバーはテーブル作成時にサンプリング用のカラムまたはサンプリング式のデータ型を確認します。すでに不正なサンプリング式を持つテーブルがあり、サーバーが起動時に例外を発生させないようにしたい場合は、check_sample_column_is_correctfalse に設定してください。

clean_deleted_rows

廃止された設定、何も行いません。

cleanup_delay_period

古いキューログ、ブロックのハッシュ、およびパーツをクリーンアップするための最小期間です。

cleanup_delay_period_random_add

cleanup_delay_period に0から x秒までの均等に分布した値を追加して、サンダリングハード効果を回避し、非常に大量のテーブルにおける ZooKeeper のその後の DoS を回避します。

cleanup_thread_preferred_points_per_iteration

バックグラウンドクリーンアップのための好ましいバッチサイズ(ポイントは抽象的ですが、1ポイントは約1挿入ブロックに相当します)。

cleanup_threads

廃止された設定、何も行いません。

columns_and_secondary_indices_sizes_lazy_calculation

テーブル初期化時ではなく、最初のリクエスト時に lazy にカラムおよび二次インデックスのサイズを計算します。

columns_to_prewarm_mark_cache

事前暖起マークキャッシュのためのカラムのリスト(有効な場合)。 空の意味は全てのカラム

compact_parts_max_bytes_to_buffer

ClickHouse Cloud のみで使用可能。コンパクト部分内の単一ストライプに書き込む最大バイト数。

compact_parts_max_granules_to_buffer

ClickHouse Cloud のみで使用可能。コンパクト部分内の単一ストライプに書き込む最大グラニュール数。

compact_parts_merge_max_bytes_to_prefetch_part

ClickHouse Cloud のみで使用可能。マージ中にメモリに全てを読み込むためのコンパクト部分の最大サイズ。

compatibility_allow_sampling_expression_not_in_primary_key

主キーに含まれないサンプリング式のテーブルを作成することを許可します。これは、サーバーを不正なテーブルで実行するために一時的に許可するために必要です。

compress_marks

マークは圧縮をサポートし、マークファイルのサイズを削減し、ネットワーク伝送を高速化します。

compress_primary_key

主キーは圧縮をサポートし、主キーのファイルサイズを削減し、ネットワーク伝送を高速化します。

concurrent_part_removal_threshold

非アクティブなデータパーツの数がこの数値以上の場合に限り、並行パート削除を有効にします(max_part_removal_threads を参照)。

deduplicate_merge_projection_mode

クラシックでない MergeTree(Replicated、Shared でない)テーブルにプロジェクションを作成することを許可するかどうか。無視オプションは互換性のためだけであり、間違った答えになる可能性があります。それ以外に、マージプロジェクションの際のアクション、破棄または再構築どちらかの行動を指示できます。したがって、クラシック MergeTree はこの設定を無視します。この設定は OPTIMIZE DEDUPLICATE にも影響があり、全ての MergeTree ファミリメンバーに影響します。lightweight_mutation_projection_mode オプションに似ており、部分レベルの機能です。

可能な値:

  • ignore
  • throw
  • drop
  • rebuild

default_compression_codec

特定のテーブル定義のカラムに圧縮コーデックが定義されていない場合に使用するデフォルトの圧縮コーデックを指定します。 カラムの圧縮コーデック選択順序:

  1. テーブル定義でカラムに対して定義された圧縮コーデック
  2. default_compression_codec(この設定)で定義された圧縮コーデック
  3. compression 設定で定義されたデフォルトの圧縮コーデック デフォルト値:空文字列(定義されていない)。

detach_not_byte_identical_parts

マージまたはミューテーション後に、他のレプリカのデータパーツとバイトが同一でない場合、レプリカのデータパーツを切り離すことを有効または無効にします。無効にすると、データパーツは削除されます。後でそのようなパーツを分析したい場合は、この設定を有効にしてください。

この設定は データレプリケーション が有効な MergeTree テーブルに適用されます。

可能な値:

  • 0 — パーツが削除されます。
  • 1 — パーツが切り離されます。

detach_old_local_parts_when_cloning_replica

失われたレプリカを修復する際に古いローカルパーツを削除しません。

可能な値:

  • true
  • false

disable_detach_partition_for_zero_copy_replication

ゼロコピー レプリケーション用の DETACH PARTITION クエリを無効にします。

disable_fetch_partition_for_zero_copy_replication

ゼロコピー レプリケーション用の FETCH PARTITION クエリを無効にします。

disable_freeze_partition_for_zero_copy_replication

ゼロコピー レプリケーション用の FREEZE PARTITION クエリを無効にします。

disk

ストレージディスクの名前。ストレージポリシーの代わりに指定できます。

dynamic_serialization_version

Dynamic データ型のためのシリアル化バージョンです。互換性のために必要です。

可能な値:

  • v1
  • v2
  • v3

enable_block_number_column

各行に対して列 _block_number の永続化を有効にします。

enable_block_offset_column

マージ時に仮想列 _block_number を永続化します。

enable_index_granularity_compression

可能な場合、メモリ内のインデックスの粒度値を圧縮します。

enable_max_bytes_limit_for_min_age_to_force_merge

設定 min_age_to_force_merge_secondsmin_age_to_force_merge_on_partition_onlymax_bytes_to_merge_at_max_space_in_pool 設定を尊重すべきかどうか。

可能な値:

  • true
  • false

enable_mixed_granularity_parts

index_granularity_bytes 設定を使用することで粒度サイズを制御する移行を有効または無効にします。バージョン 19.11 より前は、粒度サイズを制限するための index_granularity 設定がありました。index_granularity_bytes 設定は、大きな行(数十メガバイト、数百メガバイト)のテーブルからデータを選択する際の ClickHouse のパフォーマンスを向上させます。大きな行のテーブルをお持ちの場合、この設定をテーブルに対して有効にすることで SELECT クエリの効率を改善できます。

enable_replacing_merge_with_cleanup_for_min_age_to_force_merge

Experimental feature. Learn more.

パーティションを単一のパーツにマージする際に、ReplacingMergeTreeにCLEANUPマージを使用するかどうか。allow_experimental_replacing_merge_with_cleanupmin_age_to_force_merge_seconds、および min_age_to_force_merge_on_partition_only が有効になっている必要があります。

可能な値:

  • true
  • false

enable_the_endpoint_id_with_zookeeper_name_prefix

レプリケートマージツリー テーブルのために、ZooKeeper名プレフィックスを持つエンドポイントIDを有効にします。

enable_vertical_merge_algorithm

垂直マージアルゴリズムの使用を有効にします。

enforce_index_structure_match_on_partition_manipulation

パーティション操作クエリ(ATTACH/MOVE/REPLACE PARTITION)の宛先テーブルに対してこの設定が有効な場合、インデックスおよびプロジェクションはソーステーブルと宛先テーブルの間で同一でなければなりません。そうでない場合、宛先テーブルはソーステーブルのインデックスおよびプロジェクションのスーパーセットを持つことができます。

exclude_deleted_rows_for_part_size_in_merge

有効な場合、データパーツの実際のサイズ(すなわち、DELETE FROM で削除された行を除外したサイズ)がマージ対象のパーツ選択時に使用されます。この動作は、後にこの設定が有効になってから実行された DELETE FROM に影響を受けるデータパーツに対してのみトリガーされます。

可能な値:

  • true
  • false

参照

exclude_materialize_skip_indexes_on_merge

指定されたカンマ区切りリストのスキップインデックスを、マージ時に構築および保存から除外します。materialize_skip_indexes_on_merge が false の場合には影響を持ちません。

除外されたスキップインデックスは、MATERIALIZE INDEX クエリや、INSERT 時に materialize_skip_indexes_on_insert セッション設定に従って、依然として構築および保存されるでしょう。

例:

CREATE TABLE tab
(
a UInt64,
b UInt64,
INDEX idx_a a TYPE minmax,
INDEX idx_b b TYPE set(3)
)
ENGINE = MergeTree ORDER BY tuple() SETTINGS exclude_materialize_skip_indexes_on_merge = 'idx_a';

INSERT INTO tab SELECT number, number / 50 FROM numbers(100); -- setting has no effect on INSERTs

-- idx_a will be excluded from update during background or explicit merge via OPTIMIZE TABLE FINAL

-- can exclude multiple indexes by providing a list
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = 'idx_a, idx_b';

-- default setting, no indexes excluded from being updated during merge
ALTER TABLE tab MODIFY SETTING exclude_materialize_skip_indexes_on_merge = '';

execute_merges_on_single_replica_time_threshold

この設定の値がゼロより大きい場合、単一のレプリカのみがすぐにマージを開始し、他のレプリカはその結果をダウンロードするため、一定の時間待機します。選択されたレプリカがその時間内にマージを完了できない場合、標準動作にフォールバックします。

可能な値:

  • どの正の整数でも。

fault_probability_after_part_commit

テスト用です。変更しないでください。

fault_probability_before_part_commit

テスト用です。変更しないでください。

finished_mutations_to_keep

保持する完成したミューテーションの記録数です。ゼロの場合、全て保持されます。

force_read_through_cache_for_merges

Experimental feature. Learn more.

マージのためにファイルシステムキャッシュを強制的に読み込む

fsync_after_insert

挿入された各パートに対して fsync を実行します。挿入のパフォーマンスが大幅に低下するため、広域パーツには使用が推奨されません。

fsync_part_directory

全てのパート操作(書き込み、名前変更など)の後にパートディレクトリに対して fsync を実行します。

in_memory_parts_enable_wal

廃止された設定、何も行いません。

in_memory_parts_insert_sync

廃止された設定、何も行いません。

inactive_parts_to_delay_insert

テーブル内の単一パーティションにおける非アクティブなパーツの数が inactive_parts_to_delay_insert 値を超えた場合、INSERT は人工的に遅延されます。

ヒント

サーバがパーツを迅速にクリーンアップできない場合に役立ちます。

可能な値:

  • どの正の整数でも。

inactive_parts_to_throw_insert

単一パーティションにおける非アクティブなパーツの数が inactive_parts_to_throw_insert 値を超えた場合、INSERT は以下のエラーで中断されます:

"非アクティブなパーツが多すぎます (N)。パーツのクリーニングが挿入よりも著しく遅れています" という例外。

可能な値:

  • どの正の整数でも。

index_granularity

インデックスのマーク間のデータ行の最大数。すなわち、1つの主キー値に対する行数です。

index_granularity_bytes

バイト単位でのデータグラニュールの最大サイズ。

行数のみによって粒度サイズを制限するには、0 に設定します(推奨されません)。

initialization_retry_period

テーブル初期化の再試行期間(秒単位)。

kill_delay_period

廃止された設定、何も行いません。

kill_delay_period_random_add

廃止された設定、何も行いません。

kill_threads

廃止された設定、何も行いません。

lightweight_mutation_projection_mode

デフォルトでは、軽量削除 DELETE はプロジェクションを持つテーブルでは動作しません。これは、プロジェクション内の行が DELETE 操作の影響を受ける可能性があるためです。そのため、デフォルト値は throw です。しかし、このオプションによって動作を変更できます。値が drop または rebuild のいずれかの場合、削除はプロジェクションで機能します。drop はプロジェクションを削除するため、現在のクエリでは速くなりますが、将来のクエリではプロジェクションが添付されなくなり遅くなります。rebuild はプロジェクションを再構築し、現在のクエリのパフォーマンスに影響を与えますが、将来のクエリを加速させる可能性があります。これらのオプションはパーツレベルでのみ機能するため、影響を受けないパーツ内のプロジェクションはそのまま維持され、削除や再構築などのアクションをトリガーすることはありません。

可能な値:

  • throw
  • drop
  • rebuild

load_existing_rows_count_for_old_parts

exclude_deleted_rows_for_part_size_in_merge 設定とともに有効な場合、既存のデータパーツに対する削除された行の数がテーブルの起動時に計算されます。これには、テーブルの起動時間が遅れる可能性があります。

可能な値:

  • true
  • false

参照

lock_acquire_timeout_for_background_operations

マージやミューテーションなどのバックグラウンド操作において、テーブルロックを取得することに失敗するまでの時間(秒)です。

marks_compress_block_size

マーク圧縮ブロックサイズ、ブロック圧縮の実際のサイズ。

marks_compression_codec

マークで使用される圧縮エンコーディング。マークは十分に小さく、キャッシュされているため、デフォルトの圧縮は ZSTD(3) です。

materialize_skip_indexes_on_merge

有効な場合、マージに対して新しいパーツのためにスキップインデックスを構築および保存します。 さもなければ、明示的な MATERIALIZE INDEXINSERT 時 によって作成/保存されます。

exclude_materialize_skip_indexes_on_merge についても参照して、より細かな制御を行います。

materialize_ttl_recalculate_only

MATERIALIZE TTLの際のみ ttl 情報を再計算します。

max_avg_part_size_for_too_many_parts

'too many parts' のチェックは、'parts_to_delay_insert' と 'parts_to_throw_insert' に従って、平均パートサイズ(関連するパーティション内)が指定された閾値を超えない場合にのみアクティブになります。閾値が超えた場合、INSERTは遅延または拒否されません。これにより、パーツが成功裏に大きなパーツにマージされる限り、単一サーバー上で数百テラバイトのデータを一つのテーブルに保存できます。これは非アクティブパーツまたは総パーツの閾値には影響を与えません。

max_bytes_to_merge_at_max_space_in_pool

十分なリソースがある場合に、一つのパーツにマージされる最大パーツサイズ(バイト単位)。

可能な値:

  • どの非負整数でも。

マージスケジューラは、定期的にパーティション内のサイズおよびパーツの数を分析します。そして、プール内の十分な空きリソースがあれば、バックグラウンドマージを開始します。マージは、ソースパーツの合計サイズが 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

バックグラウンドプールでの最小利用可能リソースで、一つのパーツにマージされる最大パーツサイズ(バイト単位)。

可能な値:

  • どの正の整数でも。

max_bytes_to_merge_at_min_space_in_pool は、利用可能なディスクスペースの不足にもかかわらず、マージ可能なパーツの最大総サイズを定義します。これは、小さなパーツの数を減らすために必要です。マージは合計マージパーツサイズを2倍にしてディスクスペースを確保します。したがって、フリーディスクスペースが少ない場合、現在の状態でフリースペースがあっても大規模なマージが進行中のため、他のマージが開始できず、小さなパーツの数が挿入のたびに増加する可能性があります。

max_cleanup_delay_period

古いキューログ、ブロックのハッシュ、およびパーツをクリーンアップするための最大期間です。

max_compress_block_size

テーブルに書き込む前に未圧縮データのブロックの最大サイズ。この設定はグローバル設定でも指定できます(max_compress_block_size 設定を参照)。テーブルが作成される際に指定された値がこの設定のグローバル値を上書きします。

max_concurrent_queries

MergeTree テーブルに関連して同時に実行可能なクエリの最大数です。 クエリは他の max_concurrent_queries 設定によって制限されます。

可能な値:

  • 正の整数。
  • 0 — 制限なし。

デフォルト値:0(制限なし)。

<max_concurrent_queries>50</max_concurrent_queries>

max_delay_to_insert

アクティブパーツの数が parts_to_delay_insert 値を超えた場合に、INSERT 遅延を計算するために使用される秒数の値です。

可能な値:

  • どの正の整数でも。

INSERT の遅延(ミリ秒単位)は、次の式によって計算されます:

max_k = parts_to_throw_insert - parts_to_delay_insert
k = 1 + parts_count_in_partition - parts_to_delay_insert
delay_milliseconds = pow(max_delay_to_insert * 1000, k / max_k)

たとえば、パーティションに299のアクティブパーツがあり、parts_to_throw_insert = 300、parts_to_delay_insert = 150、max_delay_to_insert = 1 の場合、INSERT は pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000 ミリ秒遅延します。

バージョン 23.1 から数式が変更されました。

allowed_parts_over_threshold = parts_to_throw_insert - parts_to_delay_insert
parts_over_threshold = parts_count_in_partition - parts_to_delay_insert + 1
delay_milliseconds = max(min_delay_to_insert_ms, (max_delay_to_insert * 1000)
* parts_over_threshold / allowed_parts_over_threshold)

たとえば、パーティションに224のアクティブパーツがあり、parts_to_throw_insert = 300、parts_to_delay_insert = 150、max_delay_to_insert = 1、min_delay_to_insert_ms = 10 の場合、INSERT は max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 ミリ秒遅延します。

max_delay_to_mutate_ms

未完のミューテーションが多い場合、ミューテーションされている MergeTree テーブルの最大遅延(ミリ秒単位)です。

max_digestion_size_per_segment

廃止された設定、何も行いません。

max_file_name_length

ハッシュを付けずにそのまま保持するファイル名の最大長。replace_long_file_name_to_hash 設定が有効な場合にのみ適用されます。 この設定の値にはファイル拡張子の長さは含まれません。したがって、ファイルシステムエラーを避けるために、通常255バイトの最大ファイル名長よりも少し低い値に設定することが推奨されます。

max_files_to_modify_in_alter_columns

この設定よりも変更(削除、追加)の対象となるファイルの数が多い場合、ALTER は適用されません。

可能な値:

  • どの正の整数でも。

デフォルト値:75

max_files_to_remove_in_alter_columns

削除の対象となるファイルの数がこの設定よりも多い場合、ALTER は適用されません。

可能な値:

  • どの正の整数でも。

max_merge_delayed_streams_for_parallel_write

パラレル書き込みのために同時にフラッシュできるストリーム(カラム)の最大数(マージ用の max_insert_delayed_streams_for_parallel_write のアナログです)。垂直マージにのみ機能します。

max_merge_selecting_sleep_ms

選択したパーツがない場合、再度マージ対象パーツを選択する前に待機する最大時間。値を低くすると、背景スケジュールプールで選択タスクが頻繁にトリガーされ、大規模なクラスターでZooKeeperへのリクエストが大量に発生します。

max_number_of_merges_with_ttl_in_pool

プール内にTTLエントリ付きマージが指定された数以上存在する場合、新たにTTL付きのマージを割り当てません。これは、通常のマージのためにフリースレッドを残し、「Too many parts」を回避するためです。

max_number_of_mutations_for_replica

各レプリカに対するパートのミューテーションの数を指定された数に制限します。 ゼロの場合、レプリカあたりのミューテーションの数に制限はありません(実行は他の設定によって制約される場合があります)。

max_part_loading_threads

廃止された設定、何も行いません。

max_part_removal_threads

廃止された設定、何も行いません。

Evaluation of Translation:

  1. The translation adheres to the specified HTML and markdown formatting, preserving original structure and tags.
  2. Technical terms were translated correctly, maintaining context and precision.
  3. No content or links were incorrectly omitted or altered.
  4. The original meaning was conveyed clearly in a fluent and professional Japanese wording.

The final translated content is consistent with the translation requirements, ensuring accuracy and adherence to technical terminology.

max_partitions_to_read

1つのクエリでアクセスできるパーティションの最大数を制限します。

テーブル作成時に指定された設定値は、クエリレベルの設定で上書きできます。

可能な値:

  • 任意の正の整数。

クエリ / セッション / プロファイルレベルでクエリ複雑度設定 max_partitions_to_read を指定することもできます。

max_parts_in_total

テーブルのすべてのパーティションにおけるアクティブなパーツの合計数が max_parts_in_total の値を超えると、INSERTToo many parts (N) 例外で中断されます。

可能な値:

  • 任意の正の整数。

テーブル内のパーツ数が多いと、ClickHouseクエリのパフォーマンスが低下し、ClickHouseの起動時間が増加します。これは、誤ったデザイン(パーティショニング戦略の選択時に間違い - パーティションが小さすぎること)による結果であることが多いです。

max_parts_to_merge_at_once

一度にマージできるパーツの最大数 (0 - 無効)。OPTIMIZE FINAL クエリには影響しません。

max_postpone_time_for_failed_mutations_ms

失敗した変異のための最大延期時間。

max_postpone_time_for_failed_replicated_fetches_ms

失敗したレプリケート取得のための最大延期時間。

max_postpone_time_for_failed_replicated_merges_ms

失敗したレプリケートマージのための最大延期時間。

max_postpone_time_for_failed_replicated_tasks_ms

失敗したレプリケートタスクのための最大延期時間。この値は、タスクが取得、マージまたは変異でない場合に使用されます。

max_projections

MergeTreeプロジェクションの最大数。

max_replicated_fetches_network_bandwidth

レプリケートされた 取得のためのネットワーク越しのデータ交換の最大速度をバイト毎秒で制限します。この設定は特定のテーブルに適用され、サーバーに適用される max_replicated_fetches_network_bandwidth_for_server 設定とは異なります。

サーバーネットワークと特定のテーブルのネットワークの両方を制限できますが、この場合、テーブルレベルの設定の値はサーバーレベルのそれよりも小さい必要があります。そうしないと、サーバーは max_replicated_fetches_network_bandwidth_for_server 設定のみに注意します。

設定は完全に正確に遵守されません。

可能な値:

  • 正の整数。
  • 0 — 無制限。

デフォルト値: 0

使用法

ノードを新たに追加または置き換えるためにデータをレプリケートする際のスピードを調整するために使用できます。

max_replicated_logs_to_keep

非アクティブレプリカがある場合、ClickHouse Keeperログに保持されるレコードの数です。非アクティブレプリカは、この数を超えると失われます。

可能な値:

  • 任意の正の整数。

max_replicated_merges_in_queue

ReplicatedMergeTreeキューで同時に許可されるマージおよび変異パーツのタスク数。

max_replicated_merges_with_ttl_in_queue

ReplicatedMergeTreeキューで同時に許可されるTTL付きパーツのマージタスク数。

max_replicated_mutations_in_queue

ReplicatedMergeTreeキューで同時に許可される変異パーツのタスク数。

max_replicated_sends_network_bandwidth

レプリケートされた 送信のためのネットワーク越しのデータ交換の最大速度をバイト毎秒で制限します。この設定は特定のテーブルに適用され、サーバーに適用される max_replicated_sends_network_bandwidth_for_server 設定とは異なります。

サーバーネットワークと特定のテーブルのネットワークの両方を制限できますが、このためには、テーブルレベルの設定の値がサーバーレベルのものより小さい必要があります。そうしないと、サーバーは max_replicated_sends_network_bandwidth_for_server 設定のみを考慮します。

設定は完全に正確に遵守されません。

可能な値:

  • 正の整数。
  • 0 — 無制限。

使用法

ノードを新たに追加または置き換えるためにデータをレプリケートする際のスピードを調整するために使用できます。

max_suspicious_broken_parts

1つのパーティション内の壊れたパーツの数が max_suspicious_broken_parts の値を超えると、自動削除が拒否されます。

可能な値:

  • 任意の正の整数。

max_suspicious_broken_parts_bytes

自動削除を拒否する場合の壊れたパーツの最大サイズ。

可能な値:

  • 任意の正の整数。

max_uncompressed_bytes_in_patches

すべてのパッチパーツ内のデータの最大非圧縮サイズ(バイト)。すべてのパッチパーツ内のデータ量がこの値を超えると、軽量更新が拒否されます。 0 - 無制限。

merge_max_block_size

マージされたパーツからメモリに読み込まれる行の数。

可能な値:

  • 任意の正の整数。

マージは merge_max_block_size 行のブロックでパーツから行を読み込み、その結果を新しいパートにマージして書き込みます。読み取られたブロックはRAMに配置されるため、merge_max_block_size はマージに必要なRAMのサイズに影響します。したがって、マージは非常に広い行を持つテーブルに対して大量のRAMを消費する可能性があります(平均行サイズが100kbの場合、10パーツをマージすると、(100kb * 10 * 8192) = ~ 8GBのRAMが必要です)。merge_max_block_size を減少させることで、マージに必要なRAM量を減らすことができますが、マージは遅くなります。

merge_max_block_size_bytes

マージ操作のためにブロックで形成されるべきバイト数。デフォルトでは、index_granularity_bytes と同じ値です。

merge_max_bytes_to_prewarm_cache

ClickHouse Cloudでのみ利用可能。マージ中にキャッシュをウォームアップするためのパーツの最大サイズ(圧縮またはパック)です。

merge_selecting_sleep_ms

パーツが選択されなかった場合、再度マージするためのパーツを選択するまでの最小待機時間。低い設定により、background_schedule_pool 内で頻繁に選択タスクがトリガーされ、大規模クラスターではZooKeeperへの多数のリクエストが発生する可能性があります。

merge_selecting_sleep_slowdown_factor

マージ選択タスクの待機時間は、マージするものがない場合にはこの係数で乗算され、マージが割り当てられた場合には除算されます。

merge_selector_algorithm

Experimental feature. Learn more.

マージ割り当てのためのパーツを選択するアルゴリズム。

merge_selector_base

割り当てられたマージの書き込み増幅に影響します(専門レベルの設定で、何をしているか理解していない場合は変更しないでください)。Simple および StochasticSimple マージセレクタに対して機能します。

merge_selector_blurry_base_scale_factor

ロジックがパーティション内のパーツの数に関連して呼び出されるタイミングを制御します。係数が大きいほど、反応が遅れます。

merge_selector_enable_heuristic_to_remove_small_parts_at_right

指定された比率の合計サイズの小さいパーツを範囲の右側から除去するためのマージパーツ選択のためのヒューリスティクスを有効にします( 0.01 )。Simple および StochasticSimple マージセレクタに対して機能します。

merge_selector_window_size

一度に調査するパーツの数。

merge_total_max_bytes_to_prewarm_cache

ClickHouse Cloudでのみ利用可能。マージ中にキャッシュをウォームアップするためのパーツ全体の最大サイズです。

merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds

廃止された設定で、何もしません。

merge_tree_clear_old_parts_interval_seconds

ClickHouseが古いパーツ、WAL、および変異のクリーンアップを実行するための秒単位の間隔を設定します。

可能な値:

  • 任意の正の整数。

merge_tree_clear_old_temporary_directories_interval_seconds

ClickHouseが古い一時的ディレクトリのクリーンアップを実行するための秒単位の間隔を設定します。

可能な値:

  • 任意の正の整数。

merge_tree_enable_clear_old_broken_detached

廃止された設定で、何もしません。

merge_with_recompression_ttl_timeout

再圧縮TTLでマージを繰り返す前の最小遅延(秒)。

merge_with_ttl_timeout

削除TTLでマージを繰り返す前の最小遅延(秒)。

merge_workload

マージと他のワークロードの間でリソースがどのように利用され、共有されるかを調整するために使用されます。指定された値は、このテーブルのバックグラウンドマージのための workload 設定値として使用されます。指定されていない場合(空の文字列)、サーバー設定 merge_workload が代わりに使用されます。

参照

min_absolute_delay_to_close

リクエストを停止し、状態チェックの際にOkを返さないための最小絶対遅延。

min_age_to_force_merge_on_partition_only

min_age_to_force_merge_seconds を完全なパーティションでのみ適用するか、サブセットに適用しないかを決定します。

デフォルトでは、max_bytes_to_merge_at_max_space_in_pool 設定を無視します(enable_max_bytes_limit_for_min_age_to_force_merge を参照)。

可能な値:

  • true, false

min_age_to_force_merge_seconds

範囲内のすべてのパーツが min_age_to_force_merge_seconds の値より古い場合、マージを行います。

デフォルトでは、max_bytes_to_merge_at_max_space_in_pool 設定を無視します(enable_max_bytes_limit_for_min_age_to_force_merge を参照)。

可能な値:

  • 正の整数。

min_bytes_for_compact_part

廃止された設定で、何もしません。

min_bytes_for_full_part_storage

ClickHouse Cloudでのみ利用可能。パックの代わりにデータパートのフルタイプのストレージを使用するための最小未圧縮サイズ(バイト)。

min_bytes_for_wide_part

Wide 形式で格納できるデータパートの最小バイト/行数。これらの設定のうち1つ、両方、またはどちらも指定できます。

min_bytes_to_prewarm_caches

新しいパーツのためにマークキャッシュと主インデックスキャッシュをぬるま湯にするための最小サイズ(未圧縮バイト)。

min_bytes_to_rebalance_partition_over_jbod

新しい大きなパーツをボリュームディスク JBOD に分配するときの均衡を有効にするために必要なバイトの最小量を設定します。

可能な値:

  • 正の整数。
  • 0 — バランス調整は無効。

使用法

min_bytes_to_rebalance_partition_over_jbod 設定の値は、max_bytes_to_merge_at_max_space_in_pool の値より少なくする必要があります/ 1024。そうしないと、ClickHouseは例外をスローします。

min_compress_block_size

次のマークを書くときに圧縮に必要な未圧縮データのブロックの最小サイズ。この設定はグローバル設定でも指定できます(min_compress_block_size 設定を参照)。テーブル作成時に指定された値は、この設定のグローバル値を上書きします。

min_compressed_bytes_to_fsync_after_fetch

フェッチ後のパートのfsyncを実行するための最小圧縮バイト数(0 - 無効)。

min_compressed_bytes_to_fsync_after_merge

マージ後のパートのfsyncを実行するための最小圧縮バイト数(0 - 無効)。

min_delay_to_insert_ms

単一パーティション内に多くの未マージパーツがある場合の、MergeTreeテーブルへのデータ挿入の最小遅延(ミリ秒)。

min_delay_to_mutate_ms

多くの未完了の変異がある場合のMergeTreeテーブルの最小遅延(ミリ秒)。

min_free_disk_bytes_to_perform_insert

データを挿入するために必要な空きディスクスペースの最小バイト数。利用可能な空きバイト数が min_free_disk_bytes_to_perform_insert より少ない場合、例外がスローされ、挿入は実行されません。この設定は以下を考慮します:

  • keep_free_space_bytes 設定を考慮します。
  • INSERT 操作によって書き込まれるデータの量は考慮されません。
  • 正の(ゼロでない)バイト数が指定された場合のみチェックされます。

可能な値:

  • 任意の正の整数。
注記

min_free_disk_bytes_to_perform_insertmin_free_disk_ratio_to_perform_insert の両方が指定された場合、ClickHouse は挿入をより多くの空きメモリで行える値を考慮します。

min_free_disk_ratio_to_perform_insert

INSERT を実行するための最小の空きディスクスペース対総ディスクスペース比。0から1までの浮動小数点値である必要があります。この設定は以下を考慮します:

  • keep_free_space_bytes 設定を考慮します。
  • INSERT 操作によって書き込まれるデータの量は考慮されません。
  • 正の(ゼロでない)比率が指定された場合のみチェックされます。

可能な値:

  • 浮動小数点、0.0 - 1.0

min_free_disk_ratio_to_perform_insertmin_free_disk_bytes_to_perform_insert の両方が指定された場合、ClickHouse は挿入をより多くの空きメモリで行える値を考慮します。

min_index_granularity_bytes

最小限許可されるデータグラニュールのサイズ(バイト)。

非常に低い index_granularity_bytes のテーブルが誤って作成されるのを防ぐためのセーフガードを提供します。

min_marks_to_honor_max_concurrent_queries

やはりmax_concurrent_queries 設定を適用するために、クエリによって読み取られる最小のマーク数。

注記

クエリは引き続き他の max_concurrent_queries 設定によって制限されます。

可能な値:

  • 正の整数。
  • 0 — 無効(max_concurrent_queries の制限がクエリに対して適用されません)。

<min_marks_to_honor_max_concurrent_queries>10</min_marks_to_honor_max_concurrent_queries>

min_merge_bytes_to_use_direct_io

ディスクストレージへの直接I/Oアクセスを使用するために必要なマージ操作の最小データボリューム。データパーツをマージするとき、ClickHouseはマージされるすべてのデータの合計ストレージボリュームを計算します。このボリュームが min_merge_bytes_to_use_direct_io バイトを超えると、ClickHouseはデータをストレージディスクに直接I/Oインターフェイス(「O_DIRECT」オプション)を使用して読み書きします。min_merge_bytes_to_use_direct_io = 0 の場合、直接I/Oは無効化されます。

min_parts_to_merge_at_once

マージセレクタが一度にマージするために選択できるデータパーツの最小数(専門レベルの設定で、何をしているか理解していない場合は変更しないでください)。 0 - 無効。Simple および StochasticSimple マージセレクタに対して機能します。

min_relative_delay_to_close

他のレプリカからクローズするまでの最小遅延、リクエストの提供を停止し、状態チェックの際にOkを返さない。

min_relative_delay_to_measure

絶対的な遅延がこの値より小さくない場合にのみ、相対的なレプリカの遅延を計算します。

min_relative_delay_to_yield_leadership

廃止された設定で、何もしません。

min_replicated_logs_to_keep

古くなったレコードを削除する前に、ZooKeeperログに保存しておく必要がある最後のレコードの数です。

可能な値:

  • 任意の正の整数。

min_rows_for_compact_part

廃止された設定で、何もしません。

min_rows_for_full_part_storage

ClickHouse Cloudでのみ利用可能。パックの代わりにデータパートのフルタイプを使用するための最小行数。

min_rows_for_wide_part

コンパクト形式の代わりに広い形式でパートを作成するための最小行数。

min_rows_to_fsync_after_merge

マージ後のパートに対してfsyncを実行するための最小行数(0 - 無効)。

mutation_workload

変異と他のワークロード間のリソースの利用と共有を調整するために使用されます。指定された値は、このテーブルのバックグラウンド変異のための workload 設定値として使用されます。指定されていない場合(空の文字列)、サーバー設定 mutation_workload が代わりに使用されます。

参照

non_replicated_deduplication_window

重複をチェックするために保存されている非レプリケート MergeTree テーブルに挿入された最も最近のブロックの数。

可能な値:

  • 任意の正の整数。
  • 0(重複排除を無効にする)。

重複排除メカニズムが使用され、レプリケートされたテーブルに似ています(replicated_deduplication_window 設定参照)。作成されたパーツのハッシュサムは、ディスク上のローカルファイルに書き込まれます。

notify_newest_block_number

Experimental feature. Learn more.

最新のブロック番号をSharedJoinまたはSharedSetに通知します。ClickHouse Cloud でのみ利用可能。

number_of_free_entries_in_pool_to_execute_mutation

プール内の自由なエントリの数が指定された数より少ない場合、パーツの変異は実行されません。これは、通常のマージのためにスレッドを自由に残すため、および「Too many parts」エラーを回避するためです。

可能な値:

  • 任意の正の整数。

使用法

number_of_free_entries_in_pool_to_execute_mutation 設定の値は、background_pool_size および background_merges_mutations_concurrency_ratio の値より少ない必要があります。 さもなければ、ClickHouseは例外をスローします。

number_of_free_entries_in_pool_to_execute_optimize_entire_partition

プール内の自由なエントリの数が指定された数より少ない場合、バックグラウンドでのパーティション全体の最適化は実行されません(これは min_age_to_force_merge_seconds を設定し、min_age_to_force_merge_on_partition_only を有効にしたときに生成されるタスクです)。これは、通常のマージのためにスレッドを自由に残すためであり、「Too many parts」を回避するためです。

可能な値:

  • 正の整数。

number_of_free_entries_in_pool_to_execute_optimize_entire_partition 設定の値は、background_pool_size および background_merges_mutations_concurrency_ratio の値より少ない必要があります。 さもなければ、ClickHouseは例外をスローします。

number_of_free_entries_in_pool_to_lower_max_size_of_merge

プール(またはレプリケートキュー)内の自由なエントリの数が指定された数より少ない場合、処理するためのマージの最大サイズを下げ始めます(またはキューに入れます)。これは、長時間実行されているマージでプールが満たされないようにするためです。

可能な値:

  • 任意の正の整数。

number_of_mutations_to_delay

テーブルに少なくともこれだけの未完了の変異がある場合、テーブルの変異を人工的に遅くします。 ゼロが設定されている場合は無効です。

number_of_mutations_to_throw

テーブルに少なくともこれだけの未完了の変異がある場合、「Too many mutations」例外をスローします。 ゼロが設定されている場合は無効です。

number_of_partitions_to_consider_for_merge

ClickHouse Cloud でのみ利用可能。マージするために考慮される上位Nパーティション。パーティションは、マージ可能なこのパーティション内のデータパーツの量を考慮してランダムに重み付けされた方法で選択されます。

object_serialization_version

JSONデータ型のためのシリアライズバージョン。互換性のために必要です。

可能な値:

  • v1
  • v2
  • v3

v3 バージョンのみが、共有データのシリアライズバージョンを変更することをサポートしています。

object_shared_data_buckets_for_compact_part

Compact パーツにおけるJSON共有データシリアル化のためのバケットの数。map_with_buckets および advanced 共有データシリアル化で機能します。

object_shared_data_buckets_for_wide_part

Wide パーツにおけるJSON共有データシリアル化のためのバケットの数。map_with_buckets および advanced 共有データシリアル化で機能します。

object_shared_data_serialization_version

JSONデータ型内の共有データのシリアライズバージョン。

可能な値:

  • map - 共有データを Map(String, String) として保存します。
  • map_with_buckets - 共有データを複数の独立した Map(String, String) カラムとして保存します。バケットを使用することで、共有データから個別のパスを読むことが改善されます。
  • advanced - 共有データの特別なシリアライズで、個別のパスを読み取るのを大幅に改善するように設計されています。このシリアライズは、追加情報を大量に保存するため、ディスク上の共有データストレージサイズが増加します。

map_with_buckets および advanced シリアライズに関するバケットの数は、設定 object_shared_data_buckets_for_compact_part/object_shared_data_buckets_for_wide_part によって決定されます。

object_shared_data_serialization_version_for_zero_level_parts

この設定は、挿入中に作成されるゼロレベルパーツ内の共有データのシリアル化バージョンを指定することを可能にします。ゼロレベルのパーツには、advanced 共有データシリアル化を使用しないことをお勧めします。挿入時間が大幅に増加する可能性があります。

old_parts_lifetime

サーバーが自発的に再起動された際にデータ損失を防ぐために、非アクティブパーツを保管する時間(秒単位)。

可能な値:

  • 任意の正の整数。

複数のパーツを新しいパーツにマージした後、ClickHouseは元のパーツを非アクティブとしてマークし、old_parts_lifetime 秒後にのみ削除します。非アクティブパーツは、現在のクエリによって使用されていない場合、つまりパーツの refcount が1である場合に削除されます。

新しいパーツに対して fsync は呼び出されないため、しばらくの間、新しいパーツはサーバーのRAM内(OSキャッシュ)のみで存在します。サーバーが自発的に再起動された場合、新しいパーツが失われるか損傷する可能性があります。データを保護するために、非アクティブパーツは即座に削除されません。

起動中、ClickHouseはパーツの整合性をチェックします。マージされたパーツが損傷している場合、ClickHouseは非アクティブパーツをアクティブリストに戻し、後で再度マージします。その後、損傷したパーツは名前が変更され(broken_ プレフィックスが追加されます)detached フォルダに移動されます。マージされたパーツが損傷していない場合は、元の非アクティブパーツの名前が変更され(ignored_ プレフィックスが追加されます)detached フォルダに移動されます。

デフォルトの dirty_expire_centisecs 値(Linuxカーネル設定)は30秒であり(書き込まれたデータがRAM内のみで保持される最大時間)、ディスクシステムに負荷がかかっている場合、データが書き込まれるのがかなり遅くなる可能性があります。経験的に、old_parts_lifetime の値は480秒に設定されており、新しいパーツがディスクに書き込まれます。

optimize_row_order

挿入時の行順序を最適化して、新たに挿入されたテーブルパートの圧縮可能性を高めるかどうかを制御します。

これは通常のMergeTreeエンジンのテーブルにのみ影響します。特別なMergeTreeエンジンテーブル(例:CollapsingMergeTree)には影響しません。

MergeTreeテーブルは、圧縮コーデック を使用して(オプションで)圧縮されます。LZ4 や ZSTD などの一般的な圧縮コーデックは、データにパターンがある場合に最大の圧縮率を達成します。同じ値の長いランは通常非常によく圧縮されます。

この設定が有効な場合、ClickHouseは新しく挿入されたパーツ内のデータを、列の新しいテーブルパート内で等しい値のランの数を最小限に抑えるように行順に保存しようとします。他の言葉で言えば、少ない等しい値の走行は、個々の走行が長く、よく圧縮されることを意味します。

最適な行順序を見つけることは計算上困難(NP困難)です。そのため、ClickHouseはヒューリスティクスを使用して、元の行順序を改善する行順序を迅速に見つけます。

行順序を見つけるためのヒューリスティクス

テーブル(またはテーブルパーツ)の行を自由にシャッフルすることが一般的に可能です。SQLは異なる行順序で同じテーブル(テーブルパーツ)を同等と見なします。

この行をシャッフルする自由は、テーブルに対してプライマリキーが定義されている場合には制限されます。ClickHouseでは、プライマリキー C1, C2, ..., CN が定義されているテーブルは、それに応じて行は C1, C2, ... Cn カラムでソートされます(クラスタリングインデックス)。その結果、行は「等価クラス」内でのみシャッフルできます。つまり、それらのプライマリキーのカラムで同じ値を持つ行です。高いカーディナリティを持つプライマリーキー(例: DateTime64 タイムスタンプカラムを含むプライマリキー)は、多くの小さな等価クラスをもたらします。低いカーディナリティのプライマリキーを持つテーブルは、少なくて大きな等価クラスを作成します。プライマリキーがないテーブルは、すべての行を含む一つの等価クラスになります。

等価クラスが少なく、大きいほど、行を再シャッフルする際の自由度が高くなります。

各等価クラス内で最適行順を見つけるために適用されるヒューリスティクスは、D. Lemire, O. Kaser によって提案され、小さいインデックスのためのカラムの順序変更 に基づいており、各等価クラス内の行を非プライマリキーのカラムの昇順にソートしています。

三つのステップを実行します:

  1. プライマリキーのカラムの行値に基づいて、すべての等価クラスを見つけます。
  2. 各等価クラスに対して、非プライマリキーのカラムのカーディナリティを計算(通常は推定)します。
  3. 各等価クラスに対して、非プライマリキーのカラムのカーディナリティの昇順で行をソートします。

有効化された場合、挿入操作は新しいデータの行順序を分析し最適化するために追加のCPUコストを負担します。INSERTはデータ特性に応じて30-50%長くなると予想されます。 LZ4やZSTDの圧縮率は平均で20-40%改善します。

この設定は、プライマリキーがないテーブルや低カーディナリティのプライマリキーを持つテーブル(つまり、わずかに異なるプライマリキー値を持つテーブル)に最適です。高カーディナリティのプライマリキー、例えば DateTime64 タイプのタイムスタンプカラムを含むものは、この設定から恩恵を受けないと予想されます。

part_moves_between_shards_delay_seconds

Experimental feature. Learn more.

シャード間でパーツを移動する前後に待機する時間。

part_moves_between_shards_enable

Experimental feature. Learn more.

シャード間でパーツを移動するための実験的/未完成の機能。シャーディング式は考慮されません。

parts_to_delay_insert

もし単一パーティション内のアクティブパーツの数が parts_to_delay_insert 値を超えると、INSERT 操作が人工的に遅くなります。

可能な値:

  • 任意の正の整数。

ClickHouse は、バックグラウンドでのマージプロセスがパーツを追加よりも速くマージできるように、INSERT を長く('sleep'を追加)実行します。

parts_to_throw_insert

もし単一パーティション内のアクティブパーツの数が parts_to_throw_insert 値を超えると、INSERTToo many parts (N). Merges are processing significantly slower than inserts という例外で中断されます。

可能な値:

  • 任意の正の整数。

SELECT クエリの最大パフォーマンスを達成するには、処理されるパーツの数を最小限に抑える必要があります。Merge Tree を参照してください。

バージョン 23.6 より前では、この設定は 300 に設定されていました。より高い異なる値を設定することができますが、これにより Too many parts エラーの発生確率が低下しますが、同時に SELECT パフォーマンスが低下する可能性があります。また、マージの問題が発生した場合(例えば、ディスクスペースが不十分な場合)、元の 300 よりも後で気付くことになります。

prefer_fetch_merged_part_size_threshold

パーツのサイズの合計がこの閾値を超え、レプリケーションログエントリの作成からの時間が prefer_fetch_merged_part_time_threshold より長い場合、ローカルでマージを行う代わりにレプリカからマージされたパーツを取得することを優先します。これは、非常に長いマージを高速化するためです。

可能な値:

  • 任意の正の整数。

prefer_fetch_merged_part_time_threshold

レプリケーションログ(ClickHouse Keeper または ZooKeeper)エントリの作成からの時間がこの閾値を超え、パーツのサイズの合計が prefer_fetch_merged_part_size_threshold より大きい場合、ローカルでマージを行う代わりにレプリカからマージされたパーツを取得することを優先します。これは、非常に長いマージを高速化するためです。

可能な値:

  • 任意の正の整数。

prewarm_mark_cache

真の場合、マークキャッシュは、挿入、マージ、フェッチ、サーバーの起動時にマークをマークキャッシュに保存することで、事前にウォームアップされます。

prewarm_primary_key_cache

真の場合、プライマリインデックスキャッシュは、挿入、マージ、フェッチ、サーバーの起動時にマークをマークキャッシュに保存することで、事前にウォームアップされます。

primary_key_compress_block_size

プライマリ圧縮ブロックサイズ、圧縮するブロックの実際のサイズ。

primary_key_compression_codec

プライマリによって使用される圧縮エンコーディング。プライマリキーは十分に小さく、キャッシュされているため、デフォルトの圧縮は ZSTD(3) です。

primary_key_lazy_load

テーブルの初期化時ではなく、最初の使用時にメモリにプライマリキーをロードします。これにより、多数のテーブルが存在する場合にメモリを節約できます。

primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns

プライマリキーのデータパート内のカラムの値がこの比率の回数以上変わる場合、次のカラムをメモリにロードするのをスキップします。これにより、不要なプライマリキーのカラムをロードせずにメモリ使用量を節約できます。

ratio_of_defaults_for_sparse_serialization

カラム内の default 値の数と 値の数の最小比率。この値を設定すると、カラムがスパースシリアライゼーションを使用して保存されるようになります。

カラムがスパース(ほとんどゼロを含む)である場合、ClickHouse はそれをスパースフォーマットでエンコードし、計算を自動的に最適化できます - データはクエリ中に完全なデコンプレッションを必要としません。このスパースシリアライゼーションを有効にするには、ratio_of_defaults_for_sparse_serialization 設定を 1.0 未満に設定してください。値が 1.0 以上の場合、カラムは常に通常のフルシリアライゼーションを使用して書き込まれます。

可能な値:

  • スパースシリアライゼーションを有効にするための 01 の間の浮動小数点数。
  • スパースシリアライゼーションを使用しない場合は 1.0(またはそれ以上)。

以下のテーブルでは、s カラムは 95% の行に対して空の文字列です。my_regular_table ではスパースシリアライゼーションを使用せず、my_sparse_table では ratio_of_defaults_for_sparse_serialization を 0.95 に設定しています:

CREATE TABLE my_regular_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id;

INSERT INTO my_regular_table
SELECT
number AS id,
number % 20 = 0 ? toString(number): '' AS s
FROM
numbers(10000000);


CREATE TABLE my_sparse_table
(
`id` UInt64,
`s` String
)
ENGINE = MergeTree
ORDER BY id
SETTINGS ratio_of_defaults_for_sparse_serialization = 0.95;

INSERT INTO my_sparse_table
SELECT
number,
number % 20 = 0 ? toString(number): ''
FROM
numbers(10000000);

my_sparse_tables カラムはディスク上でより少ないストレージスペースを使用しています:

SELECT table, name, data_compressed_bytes, data_uncompressed_bytes FROM system.columns
WHERE table LIKE 'my_%_table';
┌─table────────────┬─name─┬─data_compressed_bytes─┬─data_uncompressed_bytes─┐
│ my_regular_table │ id   │              37790741 │                75488328 │
│ my_regular_table │ s    │               2451377 │                12683106 │
│ my_sparse_table  │ id   │              37790741 │                75488328 │
│ my_sparse_table  │ s    │               2283454 │                 9855751 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘

system.parts_columns テーブルの serialization_kind カラムを表示することで、カラムがスパースエンコーディングを使用しているかどうかを確認できます:

SELECT column, serialization_kind FROM system.parts_columns
WHERE table LIKE 'my_sparse_table';

s のどのパーツがスパースシリアライゼーションを使用して保存されたかを見ることができます:

┌─column─┬─serialization_kind─┐
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Default            │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
│ id     │ Default            │
│ s      │ Sparse             │
└────────┴────────────────────┘

reduce_blocking_parts_sleep_ms

ClickHouse Cloud のみで利用可能。範囲がドロップまたは置き換えられなかった後にブロッキングパーツの削減を再試行する前に待機する最小時間。設定が低いと、large-scaleクラスターで zookeeper へのリクエストが大量に発生することになります。

refresh_parts_interval

ゼロより大きい場合は、基盤となるファイルシステムからデータパーツのリストを更新して、背景でデータが更新されたかどうかを確認します。 これは、テーブルが読み取り専用ディスクにある場合にのみ設定できます(つまり、データが別のレプリカによって書き込まれている間に、これは読み取り専用のレプリカです)。

remote_fs_execute_merges_on_single_replica_time_threshold

この設定の値がゼロより大きい場合、共有ストレージ上のマージされたパーツがある場合、すぐに単一のレプリカがマージを開始します。

注記

ゼロコピー複製は生産向けではありません。 ゼロコピー複製は、ClickHouse バージョン 22.8 以降ではデフォルトで無効です。

この機能は生産用途には推奨されません。

可能な値:

  • 任意の正の整数。

remote_fs_zero_copy_path_compatible_mode

Experimental feature. Learn more.

変換プロセス中に互換性モードでゼロコピーを実行します。

remote_fs_zero_copy_zookeeper_path

Experimental feature. Learn more.

ゼロコピー用のZooKeeperパスでのテーブル独立情報。

remove_empty_parts

TTL、ミューテーション、またはコラプシングマージアルゴリズムによってプルーニングされた後に空のパーツを削除します。

remove_rolled_back_parts_immediately

Experimental feature. Learn more.

不完全な実験的機能のための設定です。

remove_unused_patch_parts

すべてのアクティブパーツに適用されるパッチパーツをバックグラウンドで削除します。

replace_long_file_name_to_hash

カラムのファイル名が長すぎる場合('max_file_name_length' バイトを超える場合)、SipHash128 に置き換えます。

replicated_can_become_leader

真の場合、このノード上の複製テーブルのレプリカはリーダーシップを獲得しようとします。

可能な値:

  • true
  • false

replicated_deduplication_window

ClickHouse Keeper が重複をチェックするためにハッシュサムを保存する最近挿入されたブロックの数。

可能な値:

  • 任意の正の整数。
  • 0(重複排除を無効にする)

Insert コマンドは 1 つ以上のブロック(パーツ)を作成します。insert deduplication において、複製テーブルに書き込むとき、ClickHouse は作成されたパーツのハッシュサムを ClickHouse Keeper に書き込みます。ハッシュサムは、最近の replicated_deduplication_window ブロックのみに保存されます。最も古いハッシュサムは ClickHouse Keeper から削除されます。

replicated_deduplication_window の大きな数は、比較するエントリが増えるため Inserts を遅くします。ハッシュサムは、フィールド名とタイプの構成および挿入されたパートのデータ(バイトのストリーム)から計算されます。

replicated_deduplication_window_for_async_inserts

ClickHouse Keeper が重複をチェックするためにハッシュサムを保存する最近非同期挿入されたブロックの数。

可能な値:

  • 任意の正の整数。
  • 0(非同期挿入の重複排除を無効にする)

Async Insert コマンドは 1 つ以上のブロック(パーツ)にキャッシュされます。insert deduplication において、複製テーブルに書き込むとき、ClickHouse は各挿入のハッシュサムを ClickHouse Keeper に書き込みます。ハッシュサムは最近の replicated_deduplication_window_for_async_inserts ブロックのみに保存されます。最も古いハッシュサムは ClickHouse Keeper から削除されます。 replicated_deduplication_window_for_async_inserts の大きな数は、比較するエントリが多くなるため Async Inserts を遅くします。ハッシュサムはフィールド名とタイプの構成および挿入データ(バイトのストリーム)から計算されます。

replicated_deduplication_window_seconds

挿入されたブロックのハッシュサムが ClickHouse Keeper から削除されるまでの秒数。

可能な値:

  • 任意の正の整数。

replicated_deduplication_window に似て、replicated_deduplication_window_seconds は挿入重複排除のためにブロックのハッシュサムをどのくらいの期間保存するかを指定します。replicated_deduplication_window_seconds よりも古いハッシュサムは ClickHouse Keeper から削除されます。たとえそれらが replicated_deduplication_window よりも小さくても。

時間は最新のレコードの時間に対するものであり、壁時計の時間に対するものではありません。唯一のレコードである場合は、永遠に保存されます。

replicated_deduplication_window_seconds_for_async_inserts

非同期挿入のハッシュサムが ClickHouse Keeper から削除されるまでの秒数。

可能な値:

  • 任意の正の整数。

replicated_deduplication_window_for_async_inserts に似て、replicated_deduplication_window_seconds_for_async_inserts は非同期挿入の重複排除のためにブロックのハッシュサムをどのくらいの期間保存するかを指定します。replicated_deduplication_window_seconds_for_async_inserts よりも古いハッシュサムは ClickHouse Keeper から削除されます。たとえそれらが replicated_deduplication_window_for_async_inserts よりも小さくても。

時間は最新のレコードの時間に対するものであり、壁時計の時間に対するものではありません。唯一のレコードである場合は、永遠に保存されます。

replicated_fetches_http_connection_timeout

廃止された設定で、何もしません。

replicated_fetches_http_receive_timeout

廃止された設定で、何もしません。

replicated_fetches_http_send_timeout

廃止された設定で、何もしません。

replicated_max_mutations_in_one_entry

1 つの MUTATE_PART エントリでマージされて実行できる最大ミューテーションコマンドの数(0 は無制限を意味します)。

replicated_max_parallel_fetches

廃止された設定で、何もしません。

replicated_max_parallel_fetches_for_host

廃止された設定で、何もしません。

replicated_max_parallel_fetches_for_table

廃止された設定で、何もしません。

replicated_max_parallel_sends

廃止された設定で、何もしません。

replicated_max_parallel_sends_for_table

廃止された設定で、何もしません。

replicated_max_ratio_of_wrong_parts

不正なパーツの比率が全体のパーツ数未満の場合 - 開始を許可します。

可能な値:

  • 浮動小数点数、0.0 - 1.0。

search_orphaned_parts_disks

ClickHouse は ATTACH または CREATE テーブルのいずれかを行う際に孤立したパーツを探すためにすべてのディスクをスキャンします。これにより、未定義(ポリシーに含まれていない)ディスクでのデータパーツのミスを防ぎます。 孤立したパーツは、ストレージポリシーからディスクが除外された場合など、潜在的な安全性のないストレージ再構成から生じます。 この設定は、ディスクの特性によって検索範囲を制限します。

可能な値:

  • any - 範囲は制限されません。
  • local - 範囲はローカルディスクによって制限されます。
  • none - 空の範囲、検索しません。

serialization_info_version

serialization.json を書き込む際に使用されるシリアル化情報のバージョン。この設定は、クラスタのアップグレード中の互換性のために必要です。

可能な値:

  • DEFAULT
  • WITH_TYPES タイプのシリアル化バージョンを許可する types_serialization_versions フィールドを持つ新しいフォーマットを書き込みます。これにより、string_serialization_version などの設定が有効になります。

ロールアップグレード中は、これを DEFAULT に設定して、新しいサーバーが古いサーバーと互換性のあるデータパーツを生成できるようにします。アップグレードが完了したら、WITH_TYPES に切り替えてタイプ別のシリアル化バージョンを有効にします。

shared_merge_tree_create_per_replica_metadata_nodes

ZooKeeper におけるパー・レプリカ /metadata および /columns ノードの作成を有効にします。 ClickHouse Cloud のみで利用可能です。

shared_merge_tree_disable_merges_and_mutations_assignment

共有マージツリーのマージ割り当てを停止します。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_empty_partition_lifetime

パーツがない場合、Keeper に何秒間保存するか。

shared_merge_tree_enable_automatic_empty_partitions_cleanup

空のパーティションの Keeper エントリのクリーンアップを有効にします。

shared_merge_tree_enable_coordinated_merges

Experimental feature. Learn more.

コーディネートマージ戦略を有効にします。

shared_merge_tree_enable_keeper_parts_extra_data

Experimental feature. Learn more.

仮想パーツへの属性の書き込みと Keeper でのブロックのコミットを有効にします。

shared_merge_tree_enable_outdated_parts_check

古いパーツのチェックを有効にします。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_idle_parts_update_seconds

共有マージツリーで ZooKeeper ウォッチによってトリガーされずにパーツ更新を行う間隔(秒)。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_initial_parts_update_backoff_ms

パーツ更新のための初期バックオフ。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_interserver_http_connection_timeout_ms

サーバー間 HTTP 接続のタイムアウト。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_interserver_http_timeout_ms

サーバー間の HTTP 通信のタイムアウト。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_leader_update_period_random_add_seconds

共有マージツリーのリーダー更新期間に 0 から x 秒の一様分布の値を追加して、サンダリング効果を回避します。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_leader_update_period_seconds

パーツ更新のためのリーダーシップを再確認する最大期間。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_outdated_parts_to_process_at_once

1 回の HTTP リクエストでリーダーが削除を確認しようとする最大の古いパーツの数。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_parts_update_backoff_ms

パーツ更新の最大バックオフ。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_parts_update_leaders_in_total

パーツ更新リーダーの最大数。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_parts_update_leaders_per_az

パーツ更新リーダーの最大数。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_replicas_for_parts_deletion

パーツ削除に参加する最大レプリカ数(キラースレッド)。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_replicas_to_merge_parts_for_each_parts_range

衝突のあるマージ割り当てを回避できる最大レプリカ数(冗長な衝突を避けることを許可します)。0 は無効を意味します。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_max_suspicious_broken_parts

SMT のための最大の壊れたパーツの数、それを超えた場合は自動デタッチを拒否します。

shared_merge_tree_max_suspicious_broken_parts_bytes

SMT のための壊れたパーツの最大サイズ、それを超えた場合は自動デタッチを拒否します。

shared_merge_tree_memo_ids_remove_timeout_seconds

挿入リトライ中に誤ったアクションを避けるために挿入メモ化 ID を保持する時間。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_merge_coordinator_election_check_period_ms

Experimental feature. Learn more.

マージコーディネーターの選挙スレッドの実行間隔。

shared_merge_tree_merge_coordinator_factor

Experimental feature. Learn more.

コーディネーター スレッドの遅延のための時間変更因子。

shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms

Experimental feature. Learn more.

マージコーディネーターが新しいメタデータと同期を取る頻度。

shared_merge_tree_merge_coordinator_max_merge_request_size

Experimental feature. Learn more.

コーディネーターが MergerMutator から一度に要求できるマージの数。

shared_merge_tree_merge_coordinator_max_period_ms

Experimental feature. Learn more.

マージコーディネーター スレッドの実行間隔。

shared_merge_tree_merge_coordinator_merges_prepare_count

Experimental feature. Learn more.

コーディネーターが準備し、作業者に配布すべきマージエントリの数。

shared_merge_tree_merge_coordinator_min_period_ms

Experimental feature. Learn more.

マージコーディネーター スレッドの実行間隔の最小時間。

shared_merge_tree_merge_worker_fast_timeout_ms

Experimental feature. Learn more.

マージワーカー スレッドが即時アクション後に状態を更新する必要がある場合に使用するタイムアウト。

shared_merge_tree_merge_worker_regular_timeout_ms

Experimental feature. Learn more.

マージワーカー スレッドの実行間隔。

shared_merge_tree_outdated_parts_group_size

古いパーツクリーンアップのために同じランデブーハッシュグループに参加するレプリカの数。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_partitions_hint_ratio_to_reload_merge_pred_for_mutations

<candidate partitions for mutations only (partitions that cannot be merged)>/<candidate partitions for mutations> の比率が設定値より高い場合、マージ/ミューテート選択タスクでマージ条件を再読み込みします。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_parts_load_batch_size

一度にスケジュールするフェッチパーツメタデータジョブの数。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_ms

ローカルでマージされたパーツを含む新しいマージを開始せずに、ローカルでマージされたパーツを保持する時間。これにより、他のレプリカがパーツをフェッチし、このマージを開始する機会が与えられます。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_postpone_next_merge_for_locally_merged_parts_rows_threshold

ローカルでマージした後に次のマージを割り当てを遅らせるためのパーツの最小サイズ(行数)。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_range_for_merge_window_size

ローカルでマージされたパーツを含む新しいマージを開始せずに、ローカルでマージされたパーツを保持する時間。これにより、他のレプリカがパーツをフェッチし、このマージを開始する機会が与えられます。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_read_virtual_parts_from_leader

可能な場合はリーダーから仮想パーツを読み取ります。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_try_fetch_part_in_memory_data_from_replicas

有効にすると、すべてのレプリカが他のレプリカからメモリデータ(プライマリキー、パーティション情報など)をフェッチしようとします。

shared_merge_tree_update_replica_flags_delay_ms

レプリカがバックグラウンドスケジュールに応じてフラグを再ロードしようとする頻度。

shared_merge_tree_use_metadata_hints_cache

他のレプリカのメモリキャッシュから FS キャッシュヒントを要求することを有効にします。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_use_outdated_parts_compact_format

古いパーツのためのコンパクトフォーマットを使用します: Keeper への負荷を減らし、古いパーツの処理を改善します。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_use_too_many_parts_count_from_virtual_parts

有効にすると、あまりにも多くのパーツカウンタは、ローカルレプリカ状態ではなく、Keeper の共有データに依存します。ClickHouse Cloud のみで利用可能です。

shared_merge_tree_virtual_parts_discovery_batch

Experimental feature. Learn more.

バッチにパックされるべきパーティション発見の数。

simultaneous_parts_removal_limit

古いパーツが大量に存在する場合、クリーンアップスレッドは 1 回の反復で simultaneous_parts_removal_limit パーツを削除しようとします。 simultaneous_parts_removal_limit0 に設定すると無制限を意味します。

sleep_before_commit_local_part_in_replicated_table_ms

テスト用。変更しないでください。

sleep_before_loading_outdated_parts_ms

テスト用。変更しないでください。

storage_policy

ストレージディスクポリシーの名前。

string_serialization_version

トップレベルの String カラムのシリアル化形式を制御します。

この設定は、serialization_info_version が "with_types" に設定されている場合のみ有効です。 有効にすると、トップレベルの String カラムは、インラインではなく、文字列の長さを保存する別の .size サブカラムでシリアル化されます。これにより、実際の .size サブカラムが可能になり、圧縮効率が向上する可能性があります。

ネストされた String タイプ(例えば、NullableLowCardinalityArray 、または Map 内)には影響しませんが、Tuple 内に出現する場合は対象となります。

可能な値:

  • DEFAULT — インラインサイズを使用した標準のシリアル化形式を使用します。
  • WITH_SIZE_STREAM — トップレベルの String カラム用に別のサイズストリームを使用します。

table_disk

これはテーブルディスクであり、パス/エンドポイントはデータベースデータではなくテーブルデータを指す必要があります。s3_plain/s3_plain_rewritable/web のみ設定可能です。

temporary_directories_lifetime

tmp_-ディレクトリを保持する秒数。この設定の低い値ではマージやミューテーションが正しく機能しない可能性があるため、この値を下げないでください。

try_fetch_recompressed_part_timeout

再圧縮を伴うマージを開始する前のタイムアウト(秒)。この間、ClickHouse は再圧縮されたパーツを持つレプリカから再圧縮されているパーツをフェッチしようとします。

再圧縮はほとんどの場合遅いため、このタイムアウトまで再圧縮を伴うマージを開始せず、再圧縮されたパーツをフェッチしようとします。

可能な値:

  • 任意の正の整数。

ttl_only_drop_parts

すべての行がその TTL 設定に従って期限切れになった場合に、MergeTree テーブルでデータパーツが完全に削除されるかどうかを制御します。

ttl_only_drop_parts が無効(デフォルト)に設定されている場合、TTL 設定に基づいて期限切れになった行のみが削除されます。

ttl_only_drop_parts が有効に設定されている場合、そのパーツ内のすべての行がその TTL 設定に基づいて期限切れになった場合、全体のパーツが削除されます。

use_adaptive_write_buffer_for_dynamic_subcolumns

動的サブカラムへの書き込み中に、適応ライターバッファの使用を許可し、メモリ使用量を削減します。

use_async_block_ids_cache

真の場合、非同期挿入のハッシュサムをキャッシュします。

可能な値:

  • true
  • false

複数の非同期挿入を含むブロックは、複数のハッシュサムを生成します。 いくつかの挿入が重複している場合、Keeper は 1 つの RPC 内で 1 つの重複ハッシュサムのみを返すため、不要な RPC リトライが発生します。 このキャッシュは Keeper のハッシュサムパスを監視します。Keeper 内で更新が監視されると、キャッシュはできるだけ早く更新され、重複挿入をメモリ内でフィルタリングできるようになります。

use_compact_variant_discriminators_serialization

バイナリシリアル化におけるディスクリミネーターのコンパクトモードを有効にします。このモードにより、ほとんどの部分に 1 つのバリアントまたは多数の NULL 値がある場合に、パーツ内でディスクリミネーターのストレージに必要なメモリを大幅に削減できます。

use_const_adaptive_granularity

全体のパーツに対して常に定数の粒度を使用します。これにより、インデックスの粒度の値をメモリ内で圧縮できます。これにより、極端に大規模なワークロードで薄いテーブルを扱う際に役立ちます。

use_metadata_cache

廃止された設定で、何もしません。

use_minimalistic_checksums_in_zookeeper

ZooKeeper 内で部分のチェックサムを通常のもの(十数 KB)ではなく、小さいフォーマット(十数バイト)を使用します。すべてのレプリカが新しいフォーマットをサポートしているか確認してから有効にしてください。

use_minimalistic_part_header_in_zookeeper

ZooKeeper 内でのデーパーツヘッダーのストレージ方法。これを有効にすると、ZooKeeper はデータをより少なくストレージします。詳細についてはこちらをご覧ください。

use_primary_key_cache

主インデックスのキャッシュを使用し、すべてのインデックスをメモリに保存する代わりに使用します。非常に大きなテーブルに対して役立つことがあります。

vertical_merge_algorithm_min_bytes_to_activate

垂直マージアルゴリズムを有効にするために必要な、マージされるパーツの未圧縮サイズの最小(概算)バイト数。

vertical_merge_algorithm_min_columns_to_activate

垂直マージアルゴリズムを有効にするために必要な非主キー(非-PK)カラムの最小数。

vertical_merge_algorithm_min_rows_to_activate

垂直マージアルゴリズムを有効にするために必要なマージされるパーツの行の最小(概算)合計。

vertical_merge_optimize_lightweight_delete

真の場合、軽量削除は垂直マージで最適化されます。

vertical_merge_remote_filesystem_prefetch

真の場合、マージ中に次のカラムのためにリモートファイルシステムからデータのプレフェッチが使用されます。

wait_for_unique_parts_send_before_shutdown_ms

シャットダウン前に、ユニークパーツ(現在のレプリカにのみ存在)の必要な時間待つことで、他のレプリカによって取得されるのを待ちます(0は無効を意味します)。

write_ahead_log_bytes_to_fsync

廃止された設定で、何もしません。

write_ahead_log_interval_ms_to_fsync

廃止された設定で、何もしません。

write_ahead_log_max_bytes

廃止された設定で、何もしません。

write_final_mark

廃止された設定で、何もしません。

write_marks_for_substreams_in_compact_parts

コンパクトパーツ内の各サブストリームごとにマークを書くことを有効にします。これにより、データパーツから個々のサブカラムを効率的に読み取ることができます。

例えば、カラム t Tuple(a String, b UInt32, c Array(Nullable(UInt32))) は次のサブストリームにシリアライズされます:

  • t.a はタプル要素 a のStringデータ用
  • t.b はタプル要素 b のUInt32データ用
  • t.c.size0 はタプル要素 c の配列サイズ用
  • t.c.null はタプル要素 c のネストされた配列要素のNULLマップ用
  • t.c はタプル要素 c のネストされた配列要素のUInt32データ用

この設定が有効な場合、これら5つのサブストリームのそれぞれのためにマークを書き込みます。必要に応じて、各個別のサブストリームのデータをグラニュールから別々に読み取ることができることを意味します。例えば、サブカラム t.c を読みたい場合、 t.c.size0t.c.null、および t.c のデータのみを読み、t.a および t.b のサブストリームからはデータを読みません。この設定が無効な場合は、トップレベルカラム t のみのためにマークを書き込むことになり、必要に応じて一部のサブストリームのデータしか必要ない場合でも、常にグラニュールから全カラムデータを読み取ります。

zero_copy_concurrent_part_removal_max_postpone_ratio

より小さな独立した範囲を得るために削除を延期するトップレベルパーツの最大割合。変更しないことをお勧めします。

zero_copy_concurrent_part_removal_max_split_times

独立した古いパーツ範囲をより小さなサブレンジに分割するための最大再帰深度。変更しないことをお勧めします。

zero_copy_merge_mutation_min_parts_size_sleep_before_lock

ゼロコピーレプリケーションが有効な場合、マージまたはミューテーションのために部品サイズに応じてロックを試みる前にランダムな時間待機します。

zero_copy_merge_mutation_min_parts_size_sleep_no_scale_before_lock

ゼロコピーレプリケーションが有効な場合、マージまたはミューテーションのロックを試みる前に最大500msの間ランダムな時間待機します。

zookeeper_session_expiration_check_period

ZooKeeperセッションの有効期限チェック期間(秒単位)。

可能な値:

  • 任意の正の整数。