system.merge_tree_settings إعدادات MergeTree المعيَّنة على المستوى العام.
يمكن تعيين إعدادات MergeTree في قسم merge_tree ضمن ملف إعدادات الخادم، أو تحديدها لكل جدول MergeTree على حدة في
عبارة SETTINGS ضمن تعليمة CREATE TABLE.
مثال على تخصيص الإعداد max_suspicious_broken_parts:
اضبط القيمة الافتراضية لجميع جداول MergeTree في ملف إعدادات الخادم:
ALTER TABLE ... MODIFY SETTING:
إعدادات MergeTree
adaptive_write_buffer_initial_size
add_implicit_sign_column_constraint_for_collapsing_engine
true، فسيُضاف قيد ضمني على العمود sign في جدول CollapsingMergeTree
أو VersionedCollapsingMergeTree بحيث لا يُسمح إلا بالقيم الصالحة (1 و -1).
add_minmax_index_for_block_number_column
_block_number.
يتطلب ذلك ضبط enable_block_number_column = 1 حتى يسري مفعوله. لا يُبنى الفهرس إلا أثناء عمليات الدمج،
وليس أثناء عمليات الإدراج: ففي وقت الإدراج يكون رقم block مؤقتًا، ما يعني فهرسة قيمة ثابتة.
add_minmax_index_for_block_offset_column
_block_offset.
يتطلب هذا الإعداد enable_block_offset_column = 1 لكي يسري مفعوله. لا يُنشأ الفهرس إلا أثناء عمليات الدمج،
وليس أثناء عمليات الإدراج.
add_minmax_index_for_numeric_columns
add_minmax_index_for_string_columns
add_minmax_index_for_temporal_columns
allow_coalescing_columns_in_partition_or_order_key
allow_commit_order_projection
_block_number و_block_offset، مع الحفاظ على ترتيب الإدراج الأصلي عبر عمليات الدمج.
ويتطلب أن يكون كلٌّ من enable_block_number_column وenable_block_offset_column مُمكّنًا.
allow_experimental_replacing_merge_with_cleanup
is_deleted.
وعند تمكينه، يتيح استخدام OPTIMIZE ... FINAL CLEANUP يدويًا
لدمج جميع الأجزاء في partition في جزء واحد وإزالة أي
صفوف محذوفة.
كما يتيح تمكين حدوث عمليات الدمج هذه تلقائيًا في الخلفية
باستخدام الإعدادات min_age_to_force_merge_seconds،
min_age_to_force_merge_on_partition_only و
enable_replacing_merge_with_cleanup_for_min_age_to_force_merge.
allow_experimental_reverse_key
allow_floating_point_partition_key
0— مفتاح التقسيم ذي الفاصلة العائمة غير مسموح به.1— مفتاح التقسيم ذي الفاصلة العائمة مسموح به.
allow_nullable_key
allow_part_offset_column_in_projections
allow_reduce_blocking_parts_task
allow_remote_fs_zero_copy_replication
allow_summing_columns_in_partition_or_order_key
allow_suspicious_indices
allow_tuple_element_aggregation
allow_vertical_merges_from_compact_to_wide_parts
alter_column_secondary_index_mode
ALTER التي تعدّل الأعمدة المشمولة بفهارس ثانوية، وما الإجراء الذي يجب اتخاذه إذا
كان يُسمح بها. افتراضيًا، يُسمح بأوامر ALTER هذه وتُعاد بناء الفهارس.
القيم الممكنة:
rebuild(الافتراضي): يعيد بناء أي فهارس ثانوية تتأثر بالعمود في أمرALTER.throw: يمنع أيALTERعلى الأعمدة المشمولة بفهارس ثانوية صريحة من خلال إطلاق استثناء. ولا يشمل هذا القيد الفهارس الضمنية، إذ ستُعاد بناؤها.drop: يحذف الفهارس الثانوية التابعة. ولن تحتوي الأجزاء الجديدة على هذه الفهارس، ما يتطلبMATERIALIZE INDEXلإعادة إنشائها.compatibility: يطابق السلوك الأصلي:throwعندALTER ... MODIFY COLUMNوrebuildعندALTER ... UPDATE/DELETE.ignore: مخصص لاستخدام الخبراء. يترك الفهارس في حالة غير متسقة، ما قد يؤدي إلى نتائج استعلام غير صحيحة.
always_fetch_merged_part
true، فلن تُجري هذه النسخة المتماثلة أي عمليات دمج للأجزاء، وستجلب دائمًا الأجزاء المدمجة
من النسخ المتماثلة الأخرى.
القيم الممكنة:
- true, false
always_use_copy_instead_of_hardlinks
apply_patches_on_merge
assign_part_uuids
async_block_ids_cache_update_wait_ms
async_insert
auto_statistics_types
background_task_preferred_step_execution_time_ms
cache_populated_by_fetch
ينطبق هذا الإعداد فقط على ClickHouse Cloud.
cache_populated_by_fetch معطّلًا (وهو الإعداد الافتراضي)، لا تُحمَّل أجزاء البيانات
الجديدة إلى cache نظام الملفات إلا عند تشغيل query يتطلب تلك الأجزاء.
إذا كان مفعّلًا، فإن cache_populated_by_fetch سيؤدي بدلًا من ذلك إلى قيام جميع العقد بتحميل
أجزاء البيانات الجديدة من التخزين إلى cache نظام الملفات الخاصة بها، من دون الحاجة إلى query
ليؤدي إلى هذا الإجراء.
راجع أيضًا
cache_populated_by_fetch_filename_regexp
ينطبق هذا الإعداد فقط على ClickHouse Cloud.
cache_populated_by_fetch مُمكّنًا).
check_delay_period
check_sample_column_is_correct
UInt8, UInt16,
UInt32, UInt64.
القيم الممكنة:
true— الفحص مفعَّل.false— الفحص معطَّل عند إنشاء الجدول.
true.
يتحقق ClickHouse server افتراضيًا عند إنشاء الجدول من نوع بيانات العمود
المستخدم في أخذ العينات أو تعبير أخذ العينات. إذا كانت لديك بالفعل جداول تحتوي على
تعبير أخذ عينات غير صحيح ولا تريد أن يُثير الخادم استثناءً
أثناء بدء التشغيل، فاضبط check_sample_column_is_correct على false.
clean_deleted_rows
cleanup_delay_period
cleanup_delay_period_random_add
cleanup_thread_preferred_points_per_iteration
cleanup_threads
clone_replica_zookeeper_create_get_part_batch_size
columns_and_secondary_indices_sizes_lazy_calculation
columns_to_prewarm_mark_cache
compact_parts_max_bytes_to_buffer
compact_parts_max_granules_to_buffer
compact_parts_merge_max_bytes_to_prefetch_part
compatibility_allow_sampling_expression_not_in_primary_key
compress_marks
compress_per_column_in_compact_parts
compress_primary_key
concurrent_part_removal_threshold
max_part_removal_threads) فقط إذا
كان عدد أجزاء البيانات غير النشطة لا يقل عن هذه القيمة.
concurrent_part_removal_threshold_for_remote_disk
concurrent_part_removal_threshold، لكنه يُستخدم عندما يكون جزء واحد
على الأقل من الأجزاء المُزالة مخزّنًا على قرص بعيد. وتكون القيمة
الافتراضية أقل لأن إزالة كل جزء من التخزين البعيد تتطلب عادةً رحلة
ذهاب وإياب عبر الشبكة (على سبيل المثال، طلب DELETE واحد عبر HTTP
لكل جزء في تخزين الكائنات)، لذلك فإن الإزالة التسلسلية حتى لـ 100 جزء
قد تؤخر DROP TABLE لعشرات الثواني.
deduplicate_merge_projection_mode
ignore مخصص فقط
للتوافق، وقد يؤدي إلى نتائج غير صحيحة. بخلاف ذلك، إذا كان ذلك مسموحًا،
فما الإجراء الذي يجب اتخاذه عند دمج الإسقاطات: إما حذفها أو إعادة بنائها. لذلك فإن
MergeTree الكلاسيكي سيتجاهل هذا الإعداد. كما أنه يتحكم أيضًا في OPTIMIZE DEDUPLICATE،
لكن تأثيره يشمل جميع أفراد عائلة MergeTree. وهو أيضًا، على غرار
الخيار lightweight_mutation_projection_mode، يعمل على مستوى الجزء.
القيم الممكنة:
ignorethrowdroprebuild
default_compression_codec
- برنامج ترميز الضغط المعرّف للعمود في تعريف الجدول
- برنامج ترميز الضغط المعرّف في
default_compression_codec(هذا الإعداد) - برنامج ترميز الضغط الافتراضي المعرّف في إعدادات
compressionالقيمة الافتراضية: سلسلة فارغة (غير معرّفة).
detach_not_byte_identical_parts
MergeTree التي تكون فيها
data replication مفعّلة.
القيم الممكنة:
0— تُزال الأجزاء.1— تُفصل الأجزاء.
detach_old_local_parts_when_cloning_replica
truefalse
disable_detach_partition_for_zero_copy_replication
disable_fetch_partition_for_zero_copy_replication
disable_freeze_partition_for_zero_copy_replication
القرص
distributed_index_analysis_min_indexes_bytes_to_activate
distributed_index_analysis_min_parts_to_activate
dynamic_serialization_version
v1v2v3
enable_block_number_column
enable_block_offset_column
_block_offset أثناء عمليات الدمج.
enable_index_granularity_compression
enable_max_bytes_limit_for_min_age_to_force_merge
min_age_to_force_merge_seconds و
min_age_to_force_merge_on_partition_only الإعداد
max_bytes_to_merge_at_max_space_in_pool.
القيم الممكنة:
truefalse
enable_mixed_granularity_parts
index_granularity_bytes. قبل الإصدار 19.11، كان الإعداد
index_granularity هو الوحيد المستخدم لتقييد حجم الـ granule. يُحسِّن
الإعداد index_granularity_bytes أداء ClickHouse عند
قراءة البيانات من الجداول التي تحتوي على صفوف كبيرة (بعشرات أو مئات الميغابايت).
إذا كانت لديك جداول تحتوي على صفوف كبيرة، فيمكنك تفعيل هذا الإعداد لهذه الجداول
لتحسين كفاءة استعلامات SELECT.
enable_replacing_merge_with_cleanup_for_min_age_to_force_merge
CLEANUP لـ ReplacingMergeTree عند دمج
الأقسام حتى تصبح جزءًا واحدًا. يتطلب ذلك تفعيل allow_experimental_replacing_merge_with_cleanup
وmin_age_to_force_merge_seconds وmin_age_to_force_merge_on_partition_only.
القيم الممكنة:
truefalse
enable_the_endpoint_id_with_zookeeper_name_prefix
enable_vertical_merge_algorithm
enforce_index_structure_match_on_partition_manipulation
ATTACH/MOVE/REPLACE PARTITION)، فيجب أن تكون الفهارس والإسقاطات
متطابقة بين جدولي المصدر والوجهة. وإلا، يمكن أن يحتوي جدول الوجهة
على مجموعة شاملة لفهارس جدول المصدر وإسقاطاته.
escape_index_filenames
escape_variant_subcolumn_filenames
exclude_deleted_rows_for_part_size_in_merge
DELETE FROM) عند اختيار
الأجزاء المطلوب دمجها. لاحظ أن هذا السلوك لا يُفعَّل إلا لأجزاء البيانات
المتأثرة بعملية DELETE FROM نُفِّذت بعد تمكين هذا الإعداد.
القيم الممكنة:
truefalse
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
fsync_after_insert
fsync لكل جزء يتم إدراجه. يؤدي ذلك إلى انخفاض كبير في أداء
عمليات الإدراج، ولا يُنصح باستخدامه مع الأجزاء الواسعة.
fsync_part_directory
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
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 فيؤدي إلى
إعادة بناء الإسقاط، ما قد يؤثر في أداء الاستعلام الحالي، لكنه
قد يسرّع الاستعلامات المستقبلية. ومن الميزات الجيدة أن هذه الخيارات
لا تعمل إلا على مستوى الجزء، ما يعني أن الإسقاطات الموجودة في الجزء الذي لا
يجري المساس به ستبقى سليمة بدلًا من أن تؤدي إلى تشغيل أي إجراء مثل
drop أو rebuild.
القيم الممكنة:
throwdroprebuild
load_existing_rows_count_for_old_parts
truefalse
lock_acquire_timeout_for_background_operations
map_buckets_coefficient
sqrt وlinear لحساب عدد الحاويات استنادًا إلى متوسط حجم الخريطة.
بالنسبة إلى استراتيجية sqrt: round(map_buckets_coefficient * sqrt(avg_map_size)).
بالنسبة إلى استراتيجية linear: round(map_buckets_coefficient * avg_map_size).
يُتجاهل هذا الإعداد عندما تكون قيمة map_buckets_strategy هي constant.
map_buckets_min_avg_size
with_buckets.
إذا كان متوسط حجم Map أقل من هذه القيمة، فسيُستخدم حاوية واحد بصرف النظر عن إعدادات الحاوية الأخرى.
تؤدي القيمة 0 إلى تعطيل العتبة وتطبيق استراتيجية التقسيم إلى حاوية دائمًا.
يفيد هذا الإعداد في تجنب الحمل الإضافي الناتج عن التسلسل المعتمد على الحاوية مع قيم Map الصغيرة، حيث تكون الفائدة محدودة.
map_buckets_strategy
with_buckets لـ Map استنادًا إلى متوسط حجم الخريطة.
القيم الممكنة:
- constant — استخدم دائمًا max_buckets_in_map كعددٍ للحاويات، بغض النظر عن متوسط حجم الخريطة.
- sqrt — استخدم
round(map_buckets_coefficient * sqrt(avg_map_size))كعددٍ للحاويات، مع حصره ضمن[1, max_buckets_in_map]. - linear — استخدم
round(map_buckets_coefficient * avg_map_size)كعددٍ للحاويات، مع حصره ضمن[1, max_buckets_in_map].
map_serialization_version
Map.
القيم المحتملة:
- basic — يستخدم التسلسل القياسي لـ
Map. - with_buckets — يقسّم المفاتيح إلى حاوية أثناء التسلسل. ويؤدي استخدام حاوية إلى تحسين قراءة المفاتيح الفردية من
Map.
with_buckets بواسطة max_buckets_in_map و map_buckets_strategy.
map_serialization_version_for_zero_level_parts
Map في الأجزاء ذات المستوى الصفري التي يتم إنشاؤها أثناء عمليات insert.
وقد يكون من المفيد الإبقاء على تسلسل basic للأجزاء ذات المستوى الصفري لتجنب
تدهور الأداء أثناء عمليات insert، مع استخدام with_buckets للأجزاء المدمجة.
marks_compress_block_size
marks_compression_codec
materialize_projections_on_insert
materialize_projections_on_merge
materialize_projections_on_insert = 0)، بحيث يحتوي الجزء الناتج عن الدمج على هذا الإسقاط.
تظل عمليات الدمج تقتصر على دمج الأجزاء التي تشترك في المجموعة نفسها من الإسقاطات. ولاستكمال إسقاط في جميع الأجزاء الموجودة،
استخدم MATERIALIZE PROJECTION بشكل صريح. كما تُنشأ الإسقاطات أيضًا
أثناء عمليات INSERT باستخدام materialize_projections_on_insert.
materialize_skip_indexes_on_merge
materialize_statistics_on_merge
materialize_ttl_recalculate_only
max_avg_part_size_for_too_many_parts
max_buckets_in_map
Map. يعمل مع تسلسل Map باستخدام with_buckets.
يُحدَّد العدد الفعلي للـ حاوية بواسطة map_buckets_strategy.
الحد الأقصى المسموح به هو 256.
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 الحد الأقصى للحجم الإجمالي
للأجزاء التي يمكن دمجها رغم نقص مساحة القرص المتاحة (في التجمع).
وهذا ضروري لتقليل عدد الأجزاء الصغيرة وخفض احتمال ظهور أخطاء
Too many parts.
تحجز عمليات الدمج مساحة على القرص تعادل ضعف الحجم الإجمالي للأجزاء المدمجة.
لذلك، عند توفّر قدر قليل من المساحة الحرة على القرص، قد تنشأ حالة
تكون فيها هناك مساحة حرة، لكنها تكون محجوزة بالفعل لعمليات دمج كبيرة جارية،
وبالتالي لا تتمكن عمليات دمج أخرى من البدء، ويزداد عدد الأجزاء الصغيرة
مع كل عملية insert.
max_cleanup_delay_period
max_compress_block_size
max_concurrent_queries
max_concurrent_queries الأخرى.
القيم الممكنة:
- عدد صحيح موجب.
0— بدون حد.
0 (بدون حد).
مثال
max_delay_to_insert
INSERT إذا
تجاوز عدد الأجزاء النشطة في partition واحدة قيمة
parts_to_delay_insert.
القيم الممكنة:
- أي عدد صحيح موجب.
INSERT (بالملي ثانية) وفق الصيغة التالية:
INSERT لمدة pow( 1 * 1000, (1 + 299 - 150) / (300 - 150) ) = 1000
مللي ثانية.
اعتبارًا من الإصدار 23.1، تغيرت الصيغة إلى:
INSERT لمدة max( 10, 1 * 1000 * (224 - 150 + 1) / (300 - 150) ) = 500 مللي ثانية.
max_delay_to_mutate_ms
max_digestion_size_per_segment
max_file_name_length
replace_long_file_name_to_hash مُمكّنًا.
لا تتضمن قيمة هذا الإعداد طول امتداد الملف. لذلك،
يوصى بضبطه على قيمة أقل من الحد الأقصى لطول اسم الملف (عادةً 255
بايتًا) مع ترك هامش لتجنب أخطاء نظام الملفات.
max_files_to_modify_in_alter_columns
- أي عدد صحيح موجب.
max_files_to_remove_in_alter_columns
- أي عدد صحيح موجب.
max_merge_delayed_streams_for_parallel_write
max_merge_selecting_sleep_ms
max_number_of_merges_with_ttl_in_pool
max_number_of_mutations_for_replica
max_part_loading_threads
max_part_removal_threads
max_partitions_to_read
- أي عدد صحيح موجب.
max_parts_in_total
max_parts_in_total، تتوقف عملية INSERT ويُطرح الاستثناء Too many parts (N).
القيم الممكنة:
- أي عدد صحيح موجب.
max_parts_to_merge_at_once
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
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
- أي عدد صحيح موجب.
max_replicated_merges_in_queue
max_replicated_merges_with_ttl_in_queue
max_replicated_mutations_in_queue
max_replicated_sends_network_bandwidth
max_replicated_sends_network_bandwidth_for_server
الذي يُطبَّق على الخادم.
يمكنك تقييد كلٍّ من شبكة الخادم والشبكة الخاصة بجدول معيّن، ولكن
يتطلّب ذلك أن تكون قيمة الإعداد على مستوى الجدول أقل من
القيمة على مستوى الخادم. وإلا فلن يأخذ الخادم في الاعتبار سوى
الإعداد max_replicated_sends_network_bandwidth_for_server.
لا يُطبَّق هذا الإعداد دائمًا بدقة تامة.
القيم الممكنة:
- عدد صحيح موجب.
0— غير محدود.
max_suspicious_broken_parts
max_suspicious_broken_parts، فسيُرفض الحذف التلقائي.
القيم الممكنة:
- أي عدد صحيح موجب.
max_suspicious_broken_parts_bytes
- أي عدد صحيح موجب.
max_uncompressed_bytes_in_patches
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
merge_max_dynamic_subcolumns_in_compact_part
merge_max_dynamic_subcolumns_in_wide_part
merge_selecting_sleep_ms
merge_selecting_sleep_slowdown_factor
merge_selector_algorithm
merge_selector_base
merge_selector_blurry_base_scale_factor
merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once
merge_selector_enable_heuristic_to_remove_small_parts_at_right
merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent
merge_selector_window_size
merge_total_max_bytes_to_prewarm_cache
merge_tree_clear_old_broken_detached_parts_ttl_timeout_seconds
merge_tree_clear_old_parts_interval_seconds
- أي عدد صحيح موجب.
merge_tree_clear_old_temporary_directories_interval_seconds
- أي عدد صحيح موجب.
merge_tree_enable_clear_old_broken_detached
merge_with_recompression_ttl_timeout
merge_with_ttl_timeout
merge_workload
workload
لعمليات الدمج في الخلفية لهذا الجدول. وإذا لم تُحدَّد (سلسلة فارغة)،
فسيُستخدم بدلًا من ذلك إعداد الخادم merge_workload.
انظر أيضًا
min_absolute_delay_to_close
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
min_bytes_for_wide_part
Wide.
يمكنك تعيين أحد هذين الإعدادين أو كليهما، أو عدم تعيين أيٍّ منهما.
min_bytes_to_prewarm_caches
min_bytes_to_rebalance_partition_over_jbod
- عدد صحيح موجب.
0— تكون الموازنة معطلة.
min_bytes_to_rebalance_partition_over_jbod
عن قيمة
max_bytes_to_merge_at_max_space_in_pool
/ 1024. وإلا، فسيُصدر ClickHouse استثناءً.
min_columns_to_activate_adaptive_write_buffer
- 0 - غير محدود
- 1 - ممكّن دائمًا
min_compress_block_size
min_compressed_bytes_to_fsync_after_fetch
fsync للجزء بعد جلبه (0 - معطّل)
min_compressed_bytes_to_fsync_after_merge
min_delay_to_insert_ms
min_delay_to_mutate_ms
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_insert و min_free_disk_ratio_to_perform_insert،
فإن ClickHouse سيعتمد على القيمة التي ستسمح بتنفيذ
عمليات الإدراج على مقدار أكبر من الذاكرة الحرة.min_free_disk_ratio_to_perform_insert
INSERT. يجب أن تكون
قيمة عددية عائمة بين 0 و1. لاحظ أن هذا الإعداد:
- يأخذ في الاعتبار الإعداد
keep_free_space_bytes. - لا يأخذ في الاعتبار مقدار البيانات التي ستتم كتابتها بواسطة
عملية
INSERT. - لا يتم التحقق منه إلا إذا تم تحديد نسبة موجبة (غير صفرية)
- Float، 0.0 - 1.0
min_free_disk_ratio_to_perform_insert و
min_free_disk_bytes_to_perform_insert، فسيعتمد ClickHouse
على القيمة التي ستسمح بتنفيذ عمليات insert عند توفر مقدار أكبر من
الذاكرة الحرة.
min_index_granularity_bytes
index_granularity_bytes.
min_level_for_full_part_storage
min_level_for_wide_part
Wide بدلًا من Compact.
min_marks_to_honor_max_concurrent_queries
ستظل الاستعلامات مقيَّدة بإعدادات
max_concurrent_queries الأخرى.- عدد صحيح موجب.
0— معطَّل (لا يُطبَّق حدmax_concurrent_queriesعلى أي استعلام).
min_merge_bytes_to_use_direct_io
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
min_relative_delay_to_close
min_relative_delay_to_measure
min_relative_delay_to_yield_leadership
min_replicated_logs_to_keep
- أي عدد صحيح موجب.
min_rows_for_compact_part
min_rows_for_full_part_storage
min_rows_for_wide_part
Wide بدلًا من Compact.
min_rows_to_fsync_after_merge
fsync للجزء بعد الدمج (0 - معطّل)
mutation_workload
workload لعمليات الـmutations
التي تعمل في الخلفية لهذا الجدول. وإذا لم تُحدَّد (سلسلة فارغة)، فسيُستخدم بدلًا
من ذلك إعداد الخادم mutation_workload.
راجع أيضًا
non_replicated_deduplication_window
- أي عدد صحيح موجب.
0(تعطيل إزالة التكرار).
notify_newest_block_number
nullable_serialization_version
Nullable(T).
القيم الممكنة:
-
basic — يستخدم التسلسل القياسي لـ
Nullable(T). -
allow_sparse — يتيح لـ
Nullable(T)استخدام الترميز المتناثر.
number_of_free_entries_in_pool_to_execute_mutation
- أي عدد صحيح موجب.
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
number_of_partitions_to_consider_for_merge
object_serialization_version
v1v2v3
v3.
عدد الحاويات لتسلسل البيانات المشتركة في JSON في الأجزاء المضغوطة. يعمل مع تسلسلي البيانات المشتركة map_with_buckets وadvanced.
الحد الأقصى المسموح به هو 256.
عدد الحاويات المستخدمة لتسلسل البيانات المشتركة في JSON داخل الأجزاء واسعة التنسيق. يعمل مع تسلسلي البيانات المشتركة map_with_buckets وadvanced.
الحد الأقصى المسموح به هو 256.
إصدار التسلسل للبيانات المشتركة داخل نوع بيانات JSON.
القيم الممكنة:
map- تخزين البيانات المشتركة على هيئةMap(String, String)map_with_buckets- تخزين البيانات المشتركة في عدة أعمدة منفصلة منMap(String, String). يؤدي استخدامbucketsإلى تحسين قراءة المسارات الفردية من البيانات المشتركة.advanced- تسلسل خاص للبيانات المشتركة، صُمم لتحسين قراءة المسارات الفردية من البيانات المشتركة بشكل كبير. لاحظ أن هذا التسلسل يزيد حجم تخزين البيانات المشتركة على القرص، لأننا نخزن قدرًا كبيرًا من المعلومات الإضافية.
buckets لتسلسلي map_with_buckets وadvanced بواسطة الإعدادين
object_shared_data_buckets_for_compact_part/object_shared_data_buckets_for_wide_part.
يتيح هذا الإعداد تحديد إصدار تسلسل مختلف
للبيانات المشتركة داخل نوع JSON للأجزاء ذات المستوى الصفري التي تُنشأ أثناء عمليات الإدراج.
ويُوصى بعدم استخدام تسلسل البيانات المشتركة advanced للأجزاء ذات المستوى الصفري، لأنه قد يزيد
زمن الإدراج بشكل ملحوظ.
old_parts_lifetime
- أي عدد صحيح موجب.
old_parts_lifetime ثانية.
تُزال الأجزاء غير النشطة إذا لم تكن مستخدمة في الاستعلامات الحالية، أي إذا
كانت قيمة refcount للجزء تساوي 1.
لا يُستدعى fsync للأجزاء الجديدة، لذلك تظل هذه الأجزاء لبعض الوقت موجودة فقط
في RAM الخاصة بالخادم (ذاكرة التخزين المؤقت لنظام التشغيل). وإذا أُعيد تشغيل الخادم
فجأة، فقد تُفقد الأجزاء الجديدة أو تتلف. ولحماية البيانات، لا تُحذف
الأجزاء غير النشطة فورًا.
أثناء بدء التشغيل، يتحقق ClickHouse من سلامة الأجزاء. وإذا كان الجزء
المُدمَج تالفًا، يعيد ClickHouse الأجزاء غير النشطة إلى القائمة النشطة،
ثم يدمجها مرة أخرى لاحقًا. بعد ذلك يُعاد تسمية الجزء التالف (تُضاف
البادئة broken_) ويُنقل إلى المجلد detached. وإذا لم يكن الجزء المُدمَج
تالفًا، فتُعاد تسمية الأجزاء الأصلية غير النشطة (تُضاف البادئة ignored_)
وتُنقل إلى المجلد detached.
القيمة الافتراضية لـ dirty_expire_centisecs (وهو إعداد في نواة Linux) هي 30
ثانية (وهي الحد الأقصى للمدة التي تُخزَّن فيها البيانات المكتوبة في RAM فقط)، ولكن
مع الأحمال العالية على نظام القرص قد لا تُكتب البيانات إلا بعد ذلك بوقت أطول بكثير. تجريبيًا،
اختيرت قيمة 480 ثانية لـ old_parts_lifetime، وهي مدة يُضمن خلالها
كتابة الجزء الجديد إلى القرص.
optimize_row_order
DateTime64، فلا يُتوقع أن تستفيد من هذا الإعداد.
packed_skip_index_max_bytes
skp_idx.packed واحد لكل part بدلًا من كتابته كملف skp_idx_<name>.idx2 / .mrk2
منفصل. أما substreams الأكبر من ذلك فتظل في تخطيط legacy لكل ملف. ويُتخذ القرار
بشكل مستقل لكل substream عند وقت الكتابة، لذا يمكن أن يحتوي part واحد على
فهارس صغيرة (مثل minmax) مجمّعة وأخرى كبيرة (مثل bloom_filter ثقيل) كملفات منفصلة.
اضبطه على 0 لتعطيل packing بالكامل (القيمة الافتراضية).
يتكوّن كل substream لفهرس التخطّي فعليًا من ملف data وملف marks؛ ويُحتفَظ بكليهما مؤقتًا
في Memory حتى بلوغ الحدّ قبل اتخاذ قرار spill. لذا فإن Peak memory أثناء
الكتابة يتناسب مع 2 * packed_skip_index_max_bytes * (number of substreams that stay below the threshold).
فهارس النص الكامل غير مدعومة بهذا الإعداد ولا يتم packing لها مطلقًا.
يقلّل packing الضغط على inode عند تعريف عدد كبير من فهارس التخطّي على table (على سبيل المثال
باستخدام add_minmax_index_for_numeric_columns).
إن format على disk ذاتي الوصف: يكتشف القارئون skp_idx.packed ويقدّمون
substreams المجمّعة من داخله بشفافية. يؤثر تغيير هذا الإعداد في parts المكتوبة حديثًا
فقط؛ أما parts الموجودة فتحتفظ بالتخطيط الذي كانت عليه وقت الكتابة.
قيد معروف: يُبلّغ كل من system.data_skipping_indices.data_uncompressed_bytes و
system.parts.secondary_indices_uncompressed_bytes عن الحجم compressed لـ substreams المجمّعة
(إذ لا يخزّن فهرس الأرشيف أحجامها غير المضغوطة). وهذا تجميلي في
Monitoring مع نتيجة functional واحدة:
يقارن distributed_index_analysis_min_indexes_bytes_to_activate مع
data_uncompressed، لذا قد لا يتجاوز فهرس مجمّع ينضغط جيدًا (set أو bloom_filter على
Strings) حدّ التفعيل حتى لو كان الحجم الحقيقي غير المضغوط سيتجاوزه.
ويكون fallback هو query plan العادية، وليس نتيجة خاطئة.
part_minmax_index_columns
partition_key_only— لا تُتتبَّع إلا أعمدة مفتاح التقسيم.with_block_number_offset— أعمدة مفتاح التقسيم بالإضافة إلى العمودين الافتراضيين المحفوظين_block_numberو_block_offset. يتيح ذلك استبعاد الأجزاء على مستوى الجزء باستخدام هذين العمودين.
part_moves_between_shards_delay_seconds
part_moves_between_shards_enable
parts_to_delay_insert
parts_to_delay_insert، فسيتم إبطاء INSERT بشكل مصطنع.
القيم الممكنة:
- أي عدد صحيح موجب.
INSERT بشكل مصطنع (بإضافة ‘sleep’) حتى تتمكن
عملية الدمج في الخلفية من دمج الأجزاء بسرعة تفوق سرعة إضافتها.
parts_to_throw_insert
parts_to_throw_insert، تتم مقاطعة INSERT مع الاستثناء Too 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
prefer_fetch_merged_part_size_threshold، فسيُفضَّل جلب
جزء مدمج من نسخة متماثلة بدلًا من إجراء الدمج محليًا. يهدف ذلك إلى تسريع
عمليات الدمج الطويلة جدًا.
القيم الممكنة:
- أي عدد صحيح موجب.
prewarm_mark_cache
prewarm_primary_key_cache
حجم كتلة الضغط للمفتاح الأساسي؛ أي الحجم الفعلي للكتلة التي ستُضغط.
primary_key_compression_codec
primary_key_lazy_load
primary_key_ratio_of_unique_prefix_values_to_skip_suffix_columns
propagate_types_serialization_versions_to_nested_types
ratio_of_defaults_for_sparse_serialization
ratio_of_defaults_for_sparse_serialization
ليكون أقل من 1.0. وإذا كانت القيمة أكبر من أو تساوي 1.0،
فستُكتب الأعمدة دائمًا باستخدام التسلسل الكامل العادي.
القيم الممكنة:
- قيمة
Floatبين0و1لتمكين التسلسل المتناثر 1.0(أو أكبر) إذا كنت لا تريد استخدام التسلسل المتناثر
s في الجدول التالي يكون سلسلة فارغة في 95% من
الصفوف. في my_regular_table لا نستخدم التسلسل المتناثر، وفي
my_sparse_table نعيّن ratio_of_defaults_for_sparse_serialization إلى
0.95:
s في my_sparse_table يشغل مساحة تخزين أقل على القرص:
serialization_kind في جدول system.parts_columns:
s جرى تخزينها باستخدام التسلسل المتناثر:
reduce_blocking_parts_sleep_ms
refresh_parts_interval
refresh_statistics_interval
remote_fs_execute_merges_on_single_replica_time_threshold
النسخ المتماثل zero-copy غير جاهز بعد للاستخدام في بيئة الإنتاج.
يكون النسخ المتماثل zero-copy معطّلًا افتراضيًا في ClickHouse الإصدار 22.8
والإصدارات الأحدث.لا يُنصح باستخدام هذه الميزة في بيئة الإنتاج.
- أي عدد صحيح موجب.
remote_fs_zero_copy_path_compatible_mode
remote_fs_zero_copy_zookeeper_path
remove_empty_parts
remove_rolled_back_parts_immediately
remove_unused_patch_parts
replace_long_file_name_to_hash
replicated_can_become_leader
true، فستحاول النسخ المتماثلة للجداول المتماثلة على هذه العقدة تولّي دور القائد.
القيم الممكنة:
truefalse
replicated_deduplication_window
- أي عدد صحيح موجب.
- 0 (تعطيل إزالة التكرار)
Insert كتلة واحدة أو أكثر (أجزاء). بالنسبة إلى insert deduplication، عند الكتابة إلى الجداول المتماثلة، يكتب ClickHouse قيم التجزئة الخاصة بالأجزاء المُنشأة إلى ClickHouse Keeper. ولا تُخزَّن قيم التجزئة إلا لأحدث replicated_deduplication_window من الكتل. وتُزال أقدم قيم التجزئة من ClickHouse Keeper.
إن تعيين قيمة كبيرة لـ replicated_deduplication_window يبطّئ عمليات Inserts لأن عددًا أكبر من الإدخالات يحتاج إلى المقارنة. وتُحسَب قيمة التجزئة من تكوين أسماء الحقول وأنواعها وبيانات الجزء المُدرج (تدفّق من البايتات).
replicated_deduplication_window_for_async_inserts
- أي عدد صحيح موجب.
- 0 (تعطيل إزالة التكرار لـ async_inserts)
replicated_deduplication_window_for_async_inserts من الكتل. وتُزال أقدم قيم قيمة التجزئة
sums من ClickHouse Keeper.
إن زيادة قيمة replicated_deduplication_window_for_async_inserts تؤدي إلى إبطاء
Async Inserts لأنها تتطلب مقارنة عدد أكبر من entries.
ويُحتسب قيمة التجزئة استنادًا إلى تكوين أسماء الحقول وأنواعها
وبيانات الـ insert (stream من bytes).
replicated_deduplication_window_seconds
- أي عدد صحيح موجب.
replicated_deduplication_window_seconds مدة الاحتفاظ بقيم التجزئة
للكتل لأغراض insert إزالة التكرار. وتُزال قيم التجزئة الأقدم من
replicated_deduplication_window_seconds من ClickHouse Keeper،
حتى إذا كانت أقل من replicated_deduplication_window.
يُحتسب الوقت نسبةً إلى وقت أحدث سجل، وليس إلى
الوقت الفعلي. وإذا كان هذا هو السجل الوحيد، فسيُحفَظ إلى الأبد.
replicated_deduplication_window_seconds_for_async_inserts
- أي عدد صحيح موجب.
replicated_deduplication_window_seconds_for_async_inserts مدة
الاحتفاظ بقيم التجزئة الخاصة بالكتل من أجل insert إزالة التكرار في 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_fetches_min_part_level
replicated_fetches_min_part_level_timeout_seconds
replicated_max_mutations_in_one_entry
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
- Float، 0.0 - 1.0
search_orphaned_parts_disks
- any - النطاق غير مقيّد.
- local - يقتصر النطاق على الأقراص المحلية.
- none - نطاق فارغ، لا تُجرِ بحثًا
serialization_info_version
serialization.json.
هذا الإعداد مطلوب لضمان التوافق أثناء ترقيات العنقود.
القيم الممكنة:
basic- تنسيق أساسي.with_types- تنسيق يتضمن الحقل الإضافيtypes_serialization_versions، مما يتيح إصدارات تسلسل لكل نوع. وهذا يجعل إعدادات مثلstring_serialization_versionسارية المفعول.
basic لكي تُنتج الخوادم الجديدة
أجزاء بيانات متوافقة مع الخوادم القديمة. بعد اكتمال الترقية،
بدّل إلى WITH_TYPES لتمكين إصدارات التسلسل لكل نوع.
عند التفعيل (وهو الوضع الافتراضي)، تُعامَل أعمدة Array ذات الأسماء المنقطة التي تشترك في بادئة واحدة (مثل n.a و n.b)
على أنها جزء من بنية Nested: إذ تشترك في ملف إزاحات واحد على القرص (مثل n.size0)،
ويُتحقَّق من تساوي أحجام المصفوفات فيها أثناء INSERT.
وعند التعطيل، يحصل كل عمود Array على ملف إزاحات مستقل، ولا تعود الأسماء المنقطة تحمل أي
دلالات خاصة، كما يمكن أن يتعايش عمود قياسي مع أعمدة Array منقطة تشترك في البادئة نفسها
(مثل n UInt32 إلى جانب n.a Array(String)). هذا الإعداد غير قابل للتغيير بعد إنشاء الجدول.
يُفعّل إعادة جدولة مهام الدمج المنسّق. وقد يكون ذلك مفيدًا حتى عندما
shared_merge_tree_enable_coordinated_merges=0، لأن هذا سيُعبّئ إحصاءات منسّق الدمج
ويساعد في حالات التشغيل البارد.
يُمكّن من إنشاء العُقدتَين /metadata و /columns لكل نسخة متماثلة في ZooKeeper.
متاح فقط في ClickHouse Cloud
إيقاف تعيين عمليات الدمج وتعديلات في shared merge tree. متاح فقط في ClickHouse
Cloud
عدد الثواني التي سيتم خلالها الاحتفاظ بالتقسيم في Keeper إذا لم تكن له أي أجزاء.
يُمكّن تنظيف إدخالات Keeper الخاصة بالقسم الفارغ.
يُمكّن استخدام استراتيجية الدمج المنسّق
يمكّن كتابة السمات في الأجزاء الافتراضية وتثبيت الكتل في Keeper
يُفعّل التحقق من الأجزاء القديمة. متاح فقط في ClickHouse Cloud
الفاصل الزمني بالثواني لتحديث الأجزاء من دون أن يتم تحفيزه بواسطة watch في ZooKeeper
ضمن shared merge tree. متاح فقط في ClickHouse Cloud
التراجع التدريجي الأولي لتحديث الأجزاء. متوفر فقط في ClickHouse Cloud
مهلات اتصال HTTP بين الخوادم. متاح فقط في ClickHouse Cloud
مهلات اتصال HTTP بين الخوادم. متاح فقط في ClickHouse
Cloud
أضف قيمة موزعة توزيعًا منتظمًا من 0 إلى x ثانية إلى
shared_merge_tree_leader_update_period لتجنّب ظاهرة
اندفاع القطيع. هذا الإعداد متاح فقط في ClickHouse Cloud
الحد الأقصى للفترة لإعادة التحقق من القائد المسؤول عن تحديث الأجزاء. متاح فقط في
ClickHouse Cloud
الحد الأقصى لعدد الأجزاء القديمة التي ستحاول العقدة القائدة تأكيد إزالتها
ضمن طلب HTTP واحد. هذا الإعداد متاح فقط في ClickHouse Cloud.
الحد الأقصى لفترة التراجع التدريجي عند تحديث الأجزاء. متاح فقط في ClickHouse Cloud
الحد الأقصى لعدد القادة المسؤولين عن تحديث الأجزاء. متاح فقط في ClickHouse Cloud
الحد الأقصى لعدد قادة تحديث الأجزاء. متاح فقط في ClickHouse Cloud
الحد الأقصى لعدد النسخ المتماثلة التي ستشارك في حذف الأجزاء (killer thread). يتوفر فقط في ClickHouse Cloud
الحد الأقصى لعدد النُسخ المتماثلة التي ستحاول إسناد عمليات دمج يُحتمل أن تكون متعارضة
(مما يساعد على تجنب التعارضات غير الضرورية في إسناد عمليات الدمج). تعني القيمة 0 أن هذه الميزة معطّلة. وهي
متاحة فقط في ClickHouse Cloud
الحد الأقصى للأجزاء التالفة في SMT، وإذا تجاوز العدد ذلك، يُمنع الـ detach التلقائي.
الحد الأقصى لإجمالي حجم جميع الأجزاء التالفة في SMT، وإذا تجاوز هذا الحد، يُمنع detach التلقائي.
المدة التي نحتفظ خلالها بمعرّفات memoization الخاصة بعمليات insert لتجنّب تنفيذ إجراءات غير صحيحة أثناء
إعادة محاولة insert. هذا متاح فقط في ClickHouse Cloud
الفاصل الزمني بين عمليات تشغيل مؤشر ترابط انتخاب منسّق الدمج
معامل تغيير مدة تأخير مؤشر ترابط المنسق
الفترة التي يجب أن يزامن فيها منسّق الدمج مع ZooKeeper لجلب بيانات وصفية حديثة
عدد عمليات الدمج التي يمكن أن يطلبها المنسّق من MergerMutator دفعة واحدة
الحد الأقصى للمدة الفاصلة بين مرات تشغيل مؤشر ترابط منسّق الدمج
عدد إدخالات الدمج التي ينبغي أن يُعِدّها منسق ويوزعها على workers.
عند ضبطه على ‘auto’، يساوي الحد الأقصى لعدد مهام الدمج المسموح بها على replica واحدة مضروبًا في عدد replicas النشطة.
الحد الأدنى للفاصل الزمني بين مرات تشغيل خيط منسّق الدمج
المهلة التي سيستخدمها مؤشر ترابط عامل الدمج إذا استلزم الأمر تحديث حالته بعد إجراء فوري
الفاصل الزمني بين مرات تشغيل مؤشر ترابط عامل الدمج
كم عدد النسخ المتماثلة التي ستكون ضمن مجموعة تجزئة rendezvous نفسها لتنظيف الأجزاء القديمة.
متاح فقط في ClickHouse Cloud.
سيُعاد تحميل شرط الدمج في مهمة اختيار الدمج/التعديلات عندما تكون نسبة <candidate partitions for mutations only (partitions that cannot be merged)>/<candidate partitions for mutations> أكبر من قيمة هذا الإعداد. يتوفر هذا فقط
في ClickHouse Cloud
عدد وظائف جلب البيانات الوصفية للأجزاء التي تُجدوَل دفعةً واحدة. متاح فقط في
ClickHouse Cloud
المدة الزمنية للاحتفاظ بجزء مدموج محليًا دون بدء عملية دمج جديدة تتضمن
هذا الجزء. يتيح ذلك للنسخ المتماثلة الأخرى فرصة جلب هذا الجزء وبدء عملية الدمج هذه.
متاح فقط في ClickHouse Cloud.
الحد الأدنى لحجم الجزء (بعدد الصفوف) الذي يؤجَّل عنده إسناد عملية الدمج التالية مباشرةً بعد
دمجه محليًا. متاح فقط في ClickHouse Cloud.
المدة الزمنية للاحتفاظ بجزء تم دمجه محليًا قبل بدء عملية دمج جديدة تتضمن
هذا الجزء. يمنح ذلك النسخ المتماثلة الأخرى فرصة لجلب الجزء وبدء عملية الدمج هذه.
متاح فقط في ClickHouse Cloud
اقرأ الأجزاء الافتراضية من القائد متى أمكن. هذا الإعداد متاح فقط في ClickHouse
Cloud
عدد مرات محاولة النسخ المتماثلة تحديث مجموعة النسخ المتماثلة في الخلفية. يُضاف انحراف عشوائي إلى وقت التشغيل التالي
بتوزيع منتظم ضمن [0, value] ثانية. الاستثناء: القيمة = 0 لا تتبع هذه القاعدة؛
إذ يطبّق التنفيذ حدًا أدنى مقداره 200 مللي ثانية، لذلك يُضاف انحراف عشوائي إلى وقت التشغيل التالي ضمن [0, 200] مللي ثانية.
إذا كان هذا الإعداد مفعّلًا، فستحاول جميع النسخ المتماثلة جلب بيانات الجزء الموجودة في الذاكرة (مثل المفتاح الأساسي ومعلومات القسم وما إلى ذلك) من النسخ المتماثلة الأخرى التي تتوفر فيها هذه البيانات بالفعل.
إذا كان هذا الإعداد مُمكّنًا، فستحاول جميع النسخ المتماثلة عند بدء التشغيل جلب بيانات الأجزاء في الذاكرة (مثل المفتاح
الأساسي، ومعلومات القسم، وما إلى ذلك) من نسخ متماثلة أخرى تتوفر لديها هذه البيانات بالفعل.
الفاصل الزمني الذي تحاول عنده النسخة المتماثلة إعادة تحميل علاماتها وفقًا للجدولة في الخلفية.
يُمكّن من طلب تلميحات ذاكرة التخزين المؤقت لنظام الملفات من
ذاكرة التخزين المؤقت الموجودة في الذاكرة
على النسخ المتماثلة الأخرى. متاح فقط في ClickHouse Cloud
استخدم التنسيق المضغوط للأجزاء القديمة: فهو يقلل الحمل على Keeper، ويحسّن
معالجة الأجزاء القديمة. متاح فقط في ClickHouse Cloud
إذا كان مُمكّنًا، فسيعتمد عدّاد Too many parts على البيانات المشتركة في Keeper، لا على حالة النسخة المتماثلة المحلية. يتوفر هذا فقط في ClickHouse Cloud
إذا كان مُمكّنًا، يستخدم SharedMergeTree إحدى جلسات ZooKeeper المجمّعة على مستوى الخادم.
عدد عمليات اكتشاف الأقسام المطلوب تجميعها في دفعة واحدة
simultaneous_parts_removal_limit
simultaneous_parts_removal_limit من الأجزاء خلال تكرار واحد.
يعني تعيين simultaneous_parts_removal_limit إلى 0 أنه غير محدود.
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”.
وعند ضبطه على with_size_stream، تُسلسَل أعمدة String ذات المستوى الأعلى باستخدام
عمود فرعي منفصل باسم .size لتخزين أطوال السلاسل النصية، بدلًا من تضمينها ضمنيًا. يتيح ذلك استخدام أعمدة فرعية
حقيقية باسم .size، ويمكن أن يحسّن كفاءة الضغط.
أنواع String المتداخلة (مثلًا داخل Nullable أو LowCardinality أو Array أو Map)
لا تتأثر، إلا إذا ظهرت داخل Tuple.
القيم الممكنة:
single_stream— استخدم تنسيق التسلسل القياسي مع أحجام مضمنة.with_size_stream— استخدم تدفق أحجام منفصلًا لأعمدةStringذات المستوى الأعلى.
table_disk
table_readonly
temporary_directories_lifetime
text_index_dictionary_block_frontcoding_compression
dictionary_block_frontcoding_compression.
text_index_dictionary_block_size
dictionary_block_size.
text_index_posting_list_block_size
posting_list_block_size.
text_index_posting_list_codec
posting_list_codec.
try_fetch_recompressed_part_timeout
- أي عدد صحيح موجب.
ttl_only_drop_parts
TTL الخاصة بها.
عندما يكون ttl_only_drop_parts معطّلًا (وهو الوضع الافتراضي)، لا تُحذف إلا الصفوف التي
انتهت صلاحيتها استنادًا إلى إعدادات TTL الخاصة بها.
عندما يكون ttl_only_drop_parts مفعّلًا، يُحذف الجزء بالكامل إذا كانت جميع
الصفوف في ذلك الجزء قد انتهت صلاحيتها وفقًا لإعدادات TTL الخاصة بها.
use_adaptive_write_buffer_for_dynamic_subcolumns
use_async_block_ids_cache
truefalse
use_compact_variant_discriminators_serialization
use_const_adaptive_granularity
use_metadata_cache
use_minimalistic_checksums_in_zookeeper
use_minimalistic_part_header_in_zookeeper
use_primary_key_cache
vertical_merge_algorithm_min_bytes_to_activate
vertical_merge_algorithm_min_columns_to_activate
vertical_merge_algorithm_min_rows_to_activate
vertical_merge_optimize_lightweight_delete
vertical_merge_optimize_ttl_delete
vertical_merge_remote_filesystem_prefetch
wait_for_unique_parts_send_before_shutdown_ms
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لبيانات String الخاصة بالعنصرaمن Tuplet.bلبيانات UInt32 الخاصة بالعنصرbمن Tuplet.c.size0لأحجام المصفوفة الخاصة بالعنصرcمن Tuplet.c.nullلخريطة null لعناصر المصفوفة المتداخلة الخاصة بالعنصرcمن Tuplet.cلبيانات UInt32 الخاصة بعناصر المصفوفة المتداخلة للعنصرcمن Tuple
t.c، فسنقرأ فقط بيانات
التيارات الفرعية t.c.size0 وt.c.null وt.c، ولن نقرأ بيانات من التيارين الفرعيين t.a وt.b. وعند تعطيل هذا الإعداد،
ستُكتب علامة واحدة فقط للعمود الأعلى مستوى t، ما يعني أننا سنقرأ دائمًا بيانات العمود بالكامل من الـ granule، حتى إذا كنا نحتاج فقط إلى بيانات بعض التيارات الفرعية.
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
zookeeper_session_expiration_check_period
- أي عدد صحيح موجب.