الانتقال إلى المحتوى الرئيسي
يعرض جدول النظام system.merge_tree_settings إعدادات MergeTree المعيَّنة على المستوى العام. يمكن تعيين إعدادات MergeTree في قسم merge_tree ضمن ملف إعدادات الخادم، أو تحديدها لكل جدول MergeTree على حدة في عبارة SETTINGS ضمن تعليمة CREATE TABLE. مثال على تخصيص الإعداد 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

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

عند تفعيله، يُضاف فهرس min-max ضمني (للتخطي) للعمود الافتراضي الدائم _block_number. يتطلب ذلك ضبط enable_block_number_column = 1 حتى يسري مفعوله. لا يُبنى الفهرس إلا أثناء عمليات الدمج، وليس أثناء عمليات الإدراج: ففي وقت الإدراج يكون رقم block مؤقتًا، ما يعني فهرسة قيمة ثابتة.

add_minmax_index_for_block_offset_column

عند التفعيل، يُضاف فهرس min-max ضمني من نوع (skipping) للعمود الافتراضي المستمر _block_offset. يتطلب هذا الإعداد enable_block_offset_column = 1 لكي يسري مفعوله. لا يُنشأ الفهرس إلا أثناء عمليات الدمج، وليس أثناء عمليات الإدراج.

add_minmax_index_for_numeric_columns

عند التفعيل، تُضاف فهارس الحد الأدنى والحد الأقصى (التخطي) إلى جميع الأعمدة الرقمية في الجدول.

add_minmax_index_for_string_columns

عند تمكينه، تُضاف فهارس min-max ‏(skipping) إلى جميع الأعمدة النصية في الجدول.

add_minmax_index_for_temporal_columns

عند تفعيل هذا الخيار، تُضاف فهارس min-max ‏(skipping) إلى جميع أعمدة Date وDate32 وTime وTime64 وDateTime وDateTime64 في الجدول

allow_coalescing_columns_in_partition_or_order_key

عند تمكينه، يتيح استخدام أعمدة الدمج في جدول CoalescingMergeTree ضمن مفتاح التقسيم أو مفتاح الترتيب.

allow_commit_order_projection

يُمكّن الإسقاطات المعتمدة على ترتيب الالتزام التي تخزّن العمودين الافتراضيين _block_number و_block_offset، مع الحفاظ على ترتيب الإدراج الأصلي عبر عمليات الدمج. ويتطلب أن يكون كلٌّ من enable_block_number_column وenable_block_offset_column مُمكّنًا.

allow_experimental_replacing_merge_with_cleanup

يسمح بعمليات الدمج التجريبية من نوع CLEANUP لمحرك ReplacingMergeTree مع العمود 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

إتاحة استخدام أنواع Nullable كمفاتيح أساسية.

allow_part_offset_column_in_projections

السماح باستخدام العمود ‘_part_offset’ في استعلام SELECT الخاص بالإسقاطات.

allow_reduce_blocking_parts_task

مهمة تعمل في الخلفية لتقليل الأجزاء المعيقة في جداول shared merge tree. متاح فقط في ClickHouse Cloud

allow_remote_fs_zero_copy_replication

لا تستخدم هذا الإعداد في بيئة الإنتاج، لأنه غير جاهز بعد.

allow_summing_columns_in_partition_or_order_key

عند التمكين، يسمح باستخدام الأعمدة التي تُجمَّع في جدول SummingMergeTree ضمن مفتاح التقسيم أو مفتاح الترتيب.

allow_suspicious_indices

يرفض الفهارس الأساسية/الثانوية ومفاتيح الترتيب ذات التعبيرات المتطابقة

allow_tuple_element_aggregation

عند التمكين، تشارك العناصر الفردية داخل أعمدة Tuple في التجميع أثناء الدمج في SummingMergeTree وAggregatingMergeTree و CoalescingMergeTree. وتُوسَّع Tuples المتداخلة بشكل تكراري بحيث تُجمَّع جميع العناصر الطرفية بشكل مستقل. هذا الإعداد ثابت ويجب تحديده عند إنشاء الجدول.

allow_vertical_merges_from_compact_to_wide_parts

يسمح بعمليات الدمج العمودي من الأجزاء بتنسيق compact إلى الأجزاء بتنسيق wide. يجب أن تكون قيمة هذا الإعداد متماثلة على جميع النسخ المتماثلة.

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
انسخ البيانات دائمًا بدلًا من استخدام الروابط الصلبة أثناء عمليات mutation وreplace وdetach وما إلى ذلك.

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 في قائمة انتظار، ثم تُفرَّغ لاحقًا إلى الجدول في الخلفية.

auto_statistics_types

قائمة مفصولة بفواصل لأنواع الإحصاءات التي تُحتسب تلقائيًا لجميع الأعمدة المناسبة. أنواع الإحصاءات المدعومة: basic, tdigest, countmin, minmax, uniq.

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

الحد الأدنى للفترة اللازمة لتنظيف سجلات queue القديمة، وقيم hash الخاصة بـ blocks، وparts.

cleanup_delay_period_random_add

أضِف قيمة موزعة توزيعًا منتظمًا من 0 إلى x ثانية إلى cleanup_delay_period لتجنب ظاهرة الاندفاع الجماعي وما قد ينتج عنها من هجوم حجب الخدمة على ZooKeeper في حال وجود عدد كبير جدًا من الجداول.

cleanup_thread_preferred_points_per_iteration

حجم الدفعة المفضّل لعمليات التنظيف في الخلفية (النقاط هنا قيمة مجرّدة، لكن نقطة واحدة تعادل تقريبًا كتلة واحدة مُدخلة).

cleanup_threads

إعداد متقادم، بلا أي تأثير.

clone_replica_zookeeper_create_get_part_batch_size

حجم الدفعة لطلبات get-part متعددة الإنشاء في ZooKeeper عند استنساخ النسخة المتماثلة.

columns_and_secondary_indices_sizes_lazy_calculation

احسب أحجام الأعمدة والفهارس الثانوية عند الطلب الأول بدلًا من حسابها عند تهيئة الجدول.

columns_to_prewarm_mark_cache

قائمة الأعمدة المطلوب إجراء تسخين مسبق لذاكرة التخزين المؤقت للعلامات لها (إذا كانت مفعّلة). تشير القيمة الفارغة إلى جميع الأعمدة

compact_parts_max_bytes_to_buffer

متاح فقط في ClickHouse Cloud. الحد الأقصى لعدد البايتات التي يمكن كتابتها في stripe واحد داخل compact parts

compact_parts_max_granules_to_buffer

متاح فقط في ClickHouse Cloud. الحد الأقصى لعدد granules التي يمكن كتابتها في stripe واحد داخل compact parts

compact_parts_merge_max_bytes_to_prefetch_part

متاح فقط في ClickHouse Cloud. الحد الأقصى لحجم compact part لقراءته بالكامل في الذاكرة أثناء الدمج.

compatibility_allow_sampling_expression_not_in_primary_key

يسمح بإنشاء جدول يكون فيه تعبير أخذ العينات غير موجود في المفتاح الأساسي. وهذا مطلوب فقط للسماح مؤقتًا بتشغيل الخادم باستخدام جداول غير صحيحة من أجل التوافق مع الإصدارات السابقة.

compress_marks

تدعم العلامات الضغط، ما يقلّل حجم ملف العلامات ويُسرّع نقلها عبر الشبكة.

compress_per_column_in_compact_parts

يتحكم هذا الإعداد في التخطيط المادي للأجزاء المدمجة. إذا كانت القيمة true (وهو الإعداد الافتراضي)، فسيبدأ كل عمود داخل granule كتلةً مضغوطة جديدة، مما يتيح لـ ClickHouse تخطي قراءة الأعمدة غير الضرورية من القرص. وإذا كانت القيمة false، فستُحزَم جميع الأعمدة داخل granule في الكتلة المضغوطة نفسها، مما يحسّن نسبة الضغط، لكنه يتطلب فك ضغط قدر أكبر من البيانات أثناء القراءة. ويكون هذا مفيدًا لأحمال العمل التي تقرأ جميع الأعمدة دائمًا (مثل projections).

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

ما إذا كان ينبغي السماح بإنشاء إسقاط لجدول يستخدم MergeTree غير كلاسيكي، أي ليس من النوعين MergeTree ‏(Replicated, Shared). خيار ignore مخصص فقط للتوافق، وقد يؤدي إلى نتائج غير صحيحة. بخلاف ذلك، إذا كان ذلك مسموحًا، فما الإجراء الذي يجب اتخاذه عند دمج الإسقاطات: إما حذفها أو إعادة بنائها. لذلك فإن 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

يؤدي هذا الإعداد إلى تمكين أو تعطيل فصل data part على نسخة متماثلة بعد عملية merge أو mutation إذا لم يكن مطابقًا بايتًا ببايت لأجزاء البيانات الموجودة على النسخ المتماثلة الأخرى. وإذا كان معطّلًا، فستتم إزالة data part. فعّل هذا الإعداد إذا كنت تريد تحليل هذه الأجزاء لاحقًا. ينطبق هذا الإعداد على جداول MergeTree التي تكون فيها data replication مفعّلة. القيم الممكنة:
  • 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 عند استخدام نسخ متماثل دون نسخ.

القرص

اسم قرص التخزين. يمكن تحديده عوضًا عن سياسة التخزين.

distributed_index_analysis_min_indexes_bytes_to_activate

الحد الأدنى لأحجام الفهارس على القرص (لفهارس تخطّي البيانات والمفتاح الأساسي، ومن دون ضغط) لتفعيل تحليل الفهرس الموزّع

distributed_index_analysis_min_parts_to_activate

الحد الأدنى لعدد الأجزاء اللازمة لتفعيل تحليل الفهارس الموزّع

dynamic_serialization_version

إصدار التسلسل لنوع البيانات Dynamic. مطلوب للتوافق. القيم الممكنة:
  • v1
  • v2
  • v3

enable_block_number_column

تمكين الاحتفاظ بالعمود _block_number لكل صف.

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. القيم الممكنة:
  • true
  • false

enable_mixed_granularity_parts

يُفعِّل أو يعطِّل التحوّل إلى التحكم في حجم الـ granule باستخدام الإعداد 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. القيم الممكنة:
  • true
  • false

enable_the_endpoint_id_with_zookeeper_name_prefix

تمكين معرّف نقطة النهاية باستخدام بادئة اسم ZooKeeper لجدول ReplicatedMergeTree.

enable_vertical_merge_algorithm

تمكين استخدام خوارزمية الدمج العمودي.

enforce_index_structure_match_on_partition_manipulation

إذا كان هذا الإعداد مُمكّنًا لجدول الوجهة في استعلام لمعالجة التقسيم (ATTACH/MOVE/REPLACE PARTITION)، فيجب أن تكون الفهارس والإسقاطات متطابقة بين جدولي المصدر والوجهة. وإلا، يمكن أن يحتوي جدول الوجهة على مجموعة شاملة لفهارس جدول المصدر وإسقاطاته.

escape_index_filenames

قبل الإصدار 26.1، لم نكن نجري إفلاتًا للرموز الخاصة في أسماء الملفات المُنشأة للفهارس الثانوية، مما قد يؤدي إلى مشكلات إذ قد تتسبب بعض المحارف في أسماء الفهارس في إنشاء أجزاء تالفة. أُضيف هذا فقط لأسباب تتعلق بالتوافق. ولا ينبغي تغييره إلا إذا كنت تقرأ أجزاء قديمة تحتوي على فهارس تستخدم محارف غير ASCII في أسمائها.

escape_variant_subcolumn_filenames

إفلات الرموز الخاصة في أسماء الملفات المُنشأة للأعمدة الفرعية من نوع البيانات Variant في الأجزاء العريضة لجدول MergeTree. ضروري للتوافق.

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

عدد السجلات الخاصة بعمليات mutation المكتملة المطلوب الاحتفاظ بها. إذا كانت القيمة صفرًا، فسيتم الاحتفاظ بها كلها.

force_read_through_cache_for_merges

فرض القراءة من خلال ذاكرة التخزين المؤقت لنظام الملفات أثناء عمليات الدمج

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

الحد الأقصى لعدد صفوف البيانات بين علامات الفهرس. أي: عدد الصفوف المقابل لقيمة واحدة من المفتاح الأساسي.

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. القيم الممكنة:
  • 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

لعمليات الخلفية مثل عمليات الدمج والتعديلات وغيرها: عدد الثواني التي يُنتظرها قبل الإخفاق في الحصول على أقفال الجدول.

map_buckets_coefficient

المعامل المستخدم في map_buckets_strategy بالاستراتيجيتين 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

الحد الأدنى لمتوسط حجم Map (عدد المفاتيح لكل صف) اللازم لتطبيق تسلسل 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

ترميز الضغط المستخدم للعلامات؛ وبما أن العلامات صغيرة بما يكفي وتُخزَّن مؤقتًا، فإن الضغط الافتراضي هو ZSTD(3).

materialize_projections_on_insert

عند تفعيل هذا الإعداد، تُنشئ عمليات INSERT أجزاءً جديدة تتضمن الإسقاطات. وإلا، يمكن إنشاؤها صراحةً عبر MATERIALIZE PROJECTION أو أثناء عمليات الدمج باستخدام materialize_projections_on_merge.

materialize_projections_on_merge

عند تمكين هذا الإعداد، تعيد عملية الدمج إنشاء الإسقاط إذا كان مفقودًا من جميع أجزائه المصدرية (على سبيل المثال، لأنها أُدرجت باستخدام materialize_projections_on_insert = 0)، بحيث يحتوي الجزء الناتج عن الدمج على هذا الإسقاط. تظل عمليات الدمج تقتصر على دمج الأجزاء التي تشترك في المجموعة نفسها من الإسقاطات. ولاستكمال إسقاط في جميع الأجزاء الموجودة، استخدم MATERIALIZE PROJECTION بشكل صريح. كما تُنشأ الإسقاطات أيضًا أثناء عمليات INSERT باستخدام materialize_projections_on_insert.

materialize_skip_indexes_on_merge

عند تفعيل هذا الإعداد، تُنشئ عمليات الدمج فهارس التخطي للأجزاء الجديدة وتخزّنها. أما إذا لم يكن مفعّلًا، فيمكن إنشاؤها/تخزينها صراحةً عبر MATERIALIZE INDEX أو أثناء عمليات INSERT. راجع أيضًا exclude_materialize_skip_indexes_on_merge لمزيد من التحكم الدقيق.

materialize_statistics_on_merge

عند تفعيل هذا الإعداد، تنشئ عمليات الدمج الإحصاءات للأجزاء الجديدة وتخزّنها. وإلا، يمكن إنشاؤها/تخزينها صراحةً باستخدام MATERIALIZE STATISTICS أو أثناء عمليات INSERT

materialize_ttl_recalculate_only

أعِد احتساب معلومات TTL فقط عند تنفيذ MATERIALIZE TTL

max_avg_part_size_for_too_many_parts

لن يكون فحص ‘too many parts’ وفقًا لـ ‘parts_to_delay_insert’ و ‘parts_to_throw_insert’ نشطًا إلا إذا كان متوسط حجم الجزء (في الـ partition المعني) لا يتجاوز العتبة المحددة. وإذا تجاوزها، فلن تُؤجَّل عمليات INSERT ولن تُرفَض. يتيح ذلك وجود مئات التيرابايتات في جدول واحد على خادم واحد إذا دُمجت الأجزاء بنجاح في أجزاء أكبر. ولا يؤثر ذلك في العتبات الخاصة بالأجزاء غير النشطة أو بإجمالي الأجزاء.

max_buckets_in_map

الحد الأقصى لعدد الـ حاوية لتسلسل Map. يعمل مع تسلسل Map باستخدام with_buckets. يُحدَّد العدد الفعلي للـ حاوية بواسطة map_buckets_strategy. الحد الأقصى المسموح به هو 256.

max_bytes_to_merge_at_max_space_in_pool

الحد الأقصى لإجمالي حجم الأجزاء (بالبايت) التي يمكن دمجها في جزء واحد، إذا كانت الموارد المتاحة كافية. ويقابل ذلك تقريبًا أكبر حجم ممكن للجزء الناتج عن عملية دمج تلقائية في الخلفية. (تعني القيمة 0 تعطيل عمليات الدمج) القيم الممكنة:
  • أي عدد صحيح غير سالب.
يحلّل مُجدول الدمج دوريًا أحجام الأجزاء وعددها داخل الأقسام، وإذا توفرت موارد حرة كافية في المجمّع، فإنه يبدأ عمليات دمج في الخلفية. وتستمر عمليات الدمج إلى أن يصبح الحجم الإجمالي للأجزاء المصدر أكبر من max_bytes_to_merge_at_max_space_in_pool. تتجاهل عمليات الدمج التي يبدأها OPTIMIZE FINAL القيمة max_bytes_to_merge_at_max_space_in_pool (إذ لا تؤخذ في الحسبان إلا المساحة الحرة على القرص).

max_bytes_to_merge_at_min_space_in_pool

الحد الأقصى لإجمالي حجم الأجزاء (بالبايت) التي يمكن دمجها في جزء واحد، عند الحد الأدنى من الموارد المتاحة في تجمع الخلفية. القيم الممكنة:
  • أي عدد صحيح موجب.
يحدّد max_bytes_to_merge_at_min_space_in_pool الحد الأقصى للحجم الإجمالي للأجزاء التي يمكن دمجها رغم نقص مساحة القرص المتاحة (في التجمع). وهذا ضروري لتقليل عدد الأجزاء الصغيرة وخفض احتمال ظهور أخطاء Too many parts. تحجز عمليات الدمج مساحة على القرص تعادل ضعف الحجم الإجمالي للأجزاء المدمجة. لذلك، عند توفّر قدر قليل من المساحة الحرة على القرص، قد تنشأ حالة تكون فيها هناك مساحة حرة، لكنها تكون محجوزة بالفعل لعمليات دمج كبيرة جارية، وبالتالي لا تتمكن عمليات دمج أخرى من البدء، ويزداد عدد الأجزاء الصغيرة مع كل عملية insert.

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

القيمة بالثواني، وتُستخدم لحساب تأخير INSERT إذا تجاوز عدد الأجزاء النشطة في partition واحدة قيمة parts_to_delay_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)
على سبيل المثال، إذا كان partition يحتوي على 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

الحد الأقصى لتأخير إجراء mutation على جدول MergeTree بالمللي ثانية، إذا كان هناك عدد كبير من عمليات mutation غير المكتملة

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

الحد الأقصى للوقت الواجب انتظاره قبل إعادة محاولة تحديد الأجزاء المراد دمجها بعد عدم تحديد أي أجزاء. سيؤدي تقليل هذه القيمة إلى تشغيل مهام التحديد بشكل متكرر في background_schedule_pool، مما ينتج عنه عدد كبير من الطلبات إلى 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

إعداد متقادم، بلا تأثير.

max_partitions_to_read

يحدّد الحد الأقصى لعدد الأقسام التي يمكن الوصول إليها في استعلام واحد. يمكن تجاوز قيمة الإعداد المحددة عند إنشاء الجدول عبر إعداد على مستوى الاستعلام. القيم الممكنة:
  • أي عدد صحيح موجب.
يمكنك أيضًا تحديد إعداد لتعقيد الاستعلام max_partitions_to_read على مستوى الاستعلام / الجلسة / ملف التعريف.

max_parts_in_total

إذا تجاوز العدد الإجمالي للأجزاء النشطة في جميع الأقسام في جدول واحد القيمة max_parts_in_total، تتوقف عملية INSERT ويُطرح الاستثناء Too 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

عدد مهام دمج الأجزاء المرتبطة بـ TTL المسموح بتنفيذها في الوقت نفسه ضمن قائمة انتظار ReplicatedMergeTree.

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

إذا تجاوز عدد الأجزاء التالفة في تجزئة واحدة القيمة 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. الحد الأقصى لحجم جزء (compact أو packed) لإجراء تهيئة مسبقة cache أثناء merge.

merge_max_dynamic_subcolumns_in_compact_part

الحد الأقصى لعدد الأعمدة الفرعية الديناميكية التي يمكن إنشاؤها في كل عمود ضمن جزء البيانات Compact بعد الدمج. ويتيح ذلك التحكم في عدد الأعمدة الفرعية الديناميكية في الجزء Compact بغض النظر عن المعلمات الديناميكية المحددة في نوع البيانات. على سبيل المثال، إذا كان الجدول يحتوي على عمود من النوع JSON(max_dynamic_paths=1024) وكان الإعداد merge_max_dynamic_subcolumns_in_compact_part مضبوطًا على 128، فبعد الدمج في جزء البيانات Compact سيُخفَّض عدد المسارات الديناميكية إلى 128 في هذا الجزء، ولن يُكتَب إلا 128 مسارًا كأعمدة فرعية ديناميكية.

merge_max_dynamic_subcolumns_in_wide_part

الحد الأقصى لعدد الأعمدة الفرعية الديناميكية التي يمكن إنشاؤها في كل عمود ضمن جزء البيانات Wide بعد الدمج. ويتيح ذلك تقليل عدد الملفات التي يتم إنشاؤها في جزء البيانات Wide، بغض النظر عن المعلمات الديناميكية المحددة في نوع البيانات. على سبيل المثال، إذا كان الجدول يحتوي على عمود من النوع JSON(max_dynamic_paths=1024) وكان الإعداد merge_max_dynamic_subcolumns_in_wide_part مضبوطًا على 128، فبعد الدمج في جزء البيانات Wide، سيُخفَّض عدد المسارات الديناميكية إلى 128 في هذا الجزء، ولن يُكتَب إلا 128 مسارًا كأعمدة فرعية ديناميكية.

merge_selecting_sleep_ms

الحد الأدنى للوقت الذي يجب انتظاره قبل إعادة محاولة تحديد الأجزاء المراد دمجها بعد عدم تحديد أي أجزاء. سيؤدي تقليل هذا الإعداد إلى تشغيل مهام التحديد في background_schedule_pool بشكل متكرر، مما ينتج عنه عدد كبير من الطلبات إلى ZooKeeper في العناقيد واسعة النطاق

merge_selecting_sleep_slowdown_factor

يُضرَب وقت الانتظار لمهمة اختيار الدمج في هذا العامل عندما لا توجد عمليات دمج، ويُقسَم عليه عندما تُسنَد عملية دمج

merge_selector_algorithm

الخوارزمية المستخدمة لاختيار الأجزاء لإسناد عمليات الدمج

merge_selector_base

يؤثر في تضخيم الكتابة لعمليات الدمج المحددة (إعداد مخصص للمستخدمين الخبراء، لا تغيّره إذا لم تكن تفهم ما الذي يفعله). يعمل مع محددات الدمج Simple و StochasticSimple

merge_selector_blurry_base_scale_factor

يتحكم في توقيت تفعيل هذا المنطق بالنسبة إلى عدد الأجزاء في التقسيم. وكلما زادت قيمة العامل، كان التفاعل أكثر تأخرًا.

merge_selector_enable_heuristic_to_lower_max_parts_to_merge_at_once

يُفعِّل نهجًا استدلاليًا لمحدِّد الدمج البسيط، مما يُخفِّض الحد الأقصى لاختيار عمليات الدمج. وبذلك سيزداد عدد عمليات الدمج المتزامنة، مما قد يساعد في تقليل أخطاء TOO_MANY_PARTS، لكنه في الوقت نفسه سيزيد من تضخيم الكتابة.

merge_selector_enable_heuristic_to_remove_small_parts_at_right

تمكين آلية استدلالية لاختيار الأجزاء المراد دمجها، بحيث تزيل الأجزاء من الجانب الأيمن من النطاق إذا كان حجمها أقل من النسبة المحددة (0.01) من sum_size. تعمل مع محددات الدمج Simple وStochasticSimple

merge_selector_heuristic_to_lower_max_parts_to_merge_at_once_exponent

يتحكم في قيمة الأس المستخدمة في الصيغ التي تنشئ منحنى الخفض. سيؤدي تقليل قيمة الأس إلى تقليل أحجام الدمج، ما يؤدي إلى زيادة تضخيم الكتابة. وينطبق العكس أيضًا.

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 عملية تنظيف الأجزاء القديمة، وWALs، والتعديلات. القيم الممكنة:
  • أي عدد صحيح موجب.

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 أثناء التحقق من status.

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. الحد الأدنى للحجم غير المضغوط، بالبايتات، لاستخدام نوع التخزين الكامل لجزء البيانات بدلًا من packed

min_bytes_for_wide_part

الحد الأدنى لعدد البايتات/الصفوف في جزء بيانات يمكن تخزينه بتنسيق Wide. يمكنك تعيين أحد هذين الإعدادين أو كليهما، أو عدم تعيين أيٍّ منهما.

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_columns_to_activate_adaptive_write_buffer

يسمح بتقليل استهلاك الذاكرة للجداول التي تحتوي على عدد كبير من الأعمدة باستخدام مخازن الكتابة التكيفية. القيم الممكنة:
  • 0 - غير محدود
  • 1 - ممكّن دائمًا

min_compress_block_size

الحد الأدنى لحجم كتل البيانات غير المضغوطة اللازمة لتطبيق الضغط عند كتابة الـ mark التالية. يمكنك أيضًا تحديد هذا الإعداد ضمن الإعدادات العامة (راجع إعداد 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

الحد الأدنى للتأخير قبل إجراء mutation على جدول MergeTree، بالمللي ثانية، إذا كان هناك عدد كبير من عمليات mutation غير المكتملة

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

متاح فقط في ClickHouse Cloud. الحد الأدنى لمستوى الجزء لاستخدام نوع التخزين الكامل لجزء البيانات بدلًا من التخزين مضغوط

min_level_for_wide_part

الحد الأدنى لمستوى جزء البيانات لإنشاء جزء بيانات بتنسيق Wide بدلًا من Compact.

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، حتى لو كانت متقادمة. لا يؤثر ذلك في عمل الجداول: إذ يُستخدم فقط لتشخيص سجل ZooKeeper قبل تنظيفه. القيم الممكنة:
  • أي عدد صحيح موجب.

min_rows_for_compact_part

إعداد متقادم، لا تأثير له.

min_rows_for_full_part_storage

متاح فقط في ClickHouse Cloud. الحد الأدنى لعدد الصفوف المطلوب لاستخدام نوع التخزين الكامل لجزء البيانات بدلًا من التخزين المضغوط

min_rows_for_wide_part

الحد الأدنى لعدد الصفوف اللازمة لإنشاء جزء بيانات بتنسيق Wide بدلًا من Compact.

min_rows_to_fsync_after_merge

الحد الأدنى لعدد الصفوف المطلوب لتنفيذ fsync للجزء بعد الدمج (0 - معطّل)

mutation_workload

يُستخدم لضبط كيفية استخدام الموارد وتقاسمها بين الـmutations وأعباء العمل الأخرى. وتُستخدم القيمة المحددة كقيمة لإعداد workload لعمليات الـmutations التي تعمل في الخلفية لهذا الجدول. وإذا لم تُحدَّد (سلسلة فارغة)، فسيُستخدم بدلًا من ذلك إعداد الخادم mutation_workload. راجع أيضًا

non_replicated_deduplication_window

عدد أحدث الكتل التي أُدرجت في جدول MergeTree غير المكرّر والتي تُخزَّن مجاميع hash الخاصة بها للتحقق من التكرارات. القيم الممكنة:
  • أي عدد صحيح موجب.
  • 0 (تعطيل إزالة التكرار).
تُستخدم آلية لإزالة التكرار مشابهة لتلك المستخدمة في الجداول المكرّرة (انظر إعداد replicated_deduplication_window). وتُكتب مجاميع hash الخاصة بالأجزاء المُنشأة إلى ملف محلي على قرص.

notify_newest_block_number

إخطار SharedJoin أو SharedSet برقم أحدث كتلة. متاح فقط في ClickHouse Cloud.

nullable_serialization_version

يتحكم في طريقة التسلسل المستخدمة لأعمدة Nullable(T). القيم الممكنة:
  • basic — يستخدم التسلسل القياسي لـ Nullable(T).
  • allow_sparse — يتيح لـ Nullable(T) استخدام الترميز المتناثر.

number_of_free_entries_in_pool_to_execute_mutation

عندما يكون عدد الخانات الحرة في المجمّع أقل من العدد المحدد، لا تُنفَّذ mutation للأجزاء. والهدف من ذلك هو إبقاء خيوط حرة لعمليات الدمج العادية وتجنّب أخطاء “Too many parts”. القيم الممكنة:
  • أي عدد صحيح موجب.
الاستخدام يجب أن تكون قيمة الإعداد number_of_free_entries_in_pool_to_execute_mutation أقل من قيمة background_pool_size

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

number_of_free_entries_in_pool_to_lower_max_size_of_merge

عندما يكون عدد الخانات الشاغرة في المجمّع (أو في قائمة انتظار النسخ المتماثل) أقل من العدد المحدد، ابدأ بخفض الحجم الأقصى لعملية الدمج المطلوب معالجتها (أو وضعها في قائمة الانتظار). يهدف ذلك إلى إتاحة معالجة عمليات الدمج الصغيرة، بحيث لا يمتلئ المجمّع بعمليات دمج طويلة التشغيل. القيم الممكنة:
  • أي عدد صحيح موجب.

number_of_mutations_to_delay

إذا كان الجدول يحتوي على هذا العدد على الأقل من mutations غير المكتملة، فسيتم إبطاء mutations الجدول اصطناعيًا. يُعطَّل إذا ضُبط على 0

number_of_mutations_to_throw

إذا كان الجدول يحتوي على هذا العدد أو أكثر من عمليات mutation غير المكتملة، فسيتم طرح الاستثناء ‘Too many mutations’ يُعطَّل إذا ضُبط على 0

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

عدد الحاويات لتسلسل البيانات المشتركة في JSON في الأجزاء المضغوطة. يعمل مع تسلسلي البيانات المشتركة map_with_buckets وadvanced. الحد الأقصى المسموح به هو 256.

object_shared_data_buckets_for_wide_part

عدد الحاويات المستخدمة لتسلسل البيانات المشتركة في JSON داخل الأجزاء واسعة التنسيق. يعمل مع تسلسلي البيانات المشتركة map_with_buckets وadvanced. الحد الأقصى المسموح به هو 256.

object_shared_data_serialization_version

إصدار التسلسل للبيانات المشتركة داخل نوع بيانات 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.

object_shared_data_serialization_version_for_zero_level_parts

يتيح هذا الإعداد تحديد إصدار تسلسل مختلف للبيانات المشتركة داخل نوع JSON للأجزاء ذات المستوى الصفري التي تُنشأ أثناء عمليات الإدراج. ويُوصى بعدم استخدام تسلسل البيانات المشتركة advanced للأجزاء ذات المستوى الصفري، لأنه قد يزيد زمن الإدراج بشكل ملحوظ.

old_parts_lifetime

المدة الزمنية (بالثواني) للاحتفاظ بالأجزاء غير النشطة حمايةً من فقدان البيانات أثناء إعادة التشغيل المفاجئة للخادم. القيم الممكنة:
  • أي عدد صحيح موجب.
بعد دمج عدة أجزاء في جزء جديد، يضع ClickHouse علامة على الأجزاء الأصلية باعتبارها غير نشطة، ولا يحذفها إلا بعد مرور 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

يتحكم هذا الإعداد في ما إذا كان ينبغي تحسين ترتيب الصفوف أثناء عمليات الإدراج لتحسين قابلية ضغط جزء الجدول المُدرَج حديثًا. لا يؤثر هذا الإعداد إلا في جداول MergeTree-engine العادية. ولا يكون له أي تأثير على جداول محرك MergeTree المتخصصة (مثل CollapsingMergeTree). تُضغط جداول MergeTree (اختياريًا) باستخدام ترميزات الضغط. وتحقق ترميزات الضغط العامة مثل LZ4 و ZSTD أعلى معدلات ضغط عندما تُظهر البيانات أنماطًا متكررة. وعادةً ما تُضغط السلاسل الطويلة من القيمة نفسها بكفاءة عالية. إذا كان هذا الإعداد مُمكّنًا، يحاول ClickHouse تخزين البيانات في الأجزاء المُدرَجة حديثًا بترتيب للصفوف يقلل عدد السلاسل ذات القيم المتساوية عبر أعمدة جزء الجدول الجديد. وبعبارة أخرى، فإن قلة عدد السلاسل ذات القيم المتساوية تعني أن كل سلسلة تكون طويلة وتُضغط جيدًا. يُعد العثور على ترتيب الصفوف الأمثل غير عملي حسابيًا (NP-hard). لذلك، يستخدم ClickHouse أسلوبًا استدلاليًا للعثور بسرعة على ترتيب للصفوف يُحسّن معدلات الضغط مقارنةً بترتيب الصفوف الأصلي. إذا كان هذا الإعداد مُمكّنًا، فستتحمل عمليات الإدراج تكلفة إضافية على CPU لتحليل ترتيب صفوف البيانات الجديدة وتحسينه. ومن المتوقع أن تستغرق عمليات INSERT وقتًا أطول بنسبة 30-50% بحسب خصائص البيانات. كما تتحسن معدلات الضغط في LZ4 أو ZSTD بمتوسط 20-40%. يعمل هذا الإعداد بأفضل شكل مع الجداول التي لا تحتوي على مفتاح أساسي أو التي لها مفتاح أساسي منخفض cardinality، أي جدول لا يحتوي إلا على عدد قليل من قيم المفتاح الأساسي المميزة. أما المفاتيح الأساسية ذات cardinality المرتفعة، مثل التي تتضمن أعمدة timestamp من النوع DateTime64، فلا يُتوقع أن تستفيد من هذا الإعداد.

packed_skip_index_max_bytes

الحدّ (بالبايتات المتسلسلة على disk، أي بعد Compression وسلسلة hash الخاصة بالـ substream) الذي إذا كان أقل منه، يُجمَّع substream لفهرس التخطّي في أرشيف 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

يحدّد الأعمدة التي يشملها فهرس min-max لكل جزء. وتُفعِّل كل قيمة مجموعة إضافية من الأعمدة فوق المجموعة التي تسبقها. القيم الممكنة:
  • 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 بشكل مصطنع. القيم الممكنة:
  • أي عدد صحيح موجب.
يُطيل ClickHouse تنفيذ 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

إذا تجاوز الوقت المنقضي منذ إنشاء إدخال في سجل النسخ المتماثل (ClickHouse Keeper أو ZooKeeper) هذه العتبة، وكان مجموع أحجام الأجزاء أكبر من prefer_fetch_merged_part_size_threshold، فسيُفضَّل جلب جزء مدمج من نسخة متماثلة بدلًا من إجراء الدمج محليًا. يهدف ذلك إلى تسريع عمليات الدمج الطويلة جدًا. القيم الممكنة:
  • أي عدد صحيح موجب.

prewarm_mark_cache

إذا كانت القيمة true، فسيتم التسخين المسبق لذاكرة التخزين المؤقت للعلامات عبر حفظ العلامات فيها عند عمليات الإدراج والدمج والجلب، وعند بدء تشغيل الخادم

prewarm_primary_key_cache

إذا كانت القيمة true، فستتم تهيئة ذاكرة التخزين المؤقت للفهرس الأساسي مسبقًا بحفظ العلامات في ذاكرة التخزين المؤقت للعلامات عند عمليات الإدراج والدمج والجلب وعند بدء تشغيل الخادم

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

إذا تغيّرت قيمة أحد أعمدة المفتاح الأساسي في جزء البيانات بهذه النسبة من المرات على الأقل، فتخطَّ تحميل الأعمدة التالية في الذاكرة. يتيح ذلك تقليل استهلاك الذاكرة عبر عدم تحميل الأعمدة غير المفيدة من المفتاح الأساسي.

propagate_types_serialization_versions_to_nested_types

إذا كانت القيمة true، فسيتم تمرير إصدارات التسلسل مثل string_serialization_version إلى داخل الأنواع المتداخلة مثل Array/Map/Nullable/JSON/etc. وإذا كان هذا الخيار معطّلًا، فسيقتصر تأثير إصدار التسلسل على الأعمدة ذات المستوى الأعلى من هذا النوع وTuple el

ratio_of_defaults_for_sparse_serialization

الحد الأدنى لنسبة عدد القيم الافتراضية إلى عدد جميع القيم في عمود. يؤدي ضبط هذه القيمة إلى تخزين العمود باستخدام التسلسل المتناثر. إذا كان العمود متناثرًا (أي يحتوي في معظمه على أصفار)، يمكن لـ ClickHouse ترميزه بتنسيق متناثر وتحسين العمليات الحسابية تلقائيًا، إذ لا تتطلب البيانات فك الضغط الكامل أثناء الاستعلامات. لتمكين هذا التسلسل المتناثر، عيّن الإعداد 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:
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);
لاحظ أن العمود s في my_sparse_table يشغل مساحة تخزين أقل على القرص:
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 │
└──────────────────┴──────┴───────────────────────┴─────────────────────────┘
يمكنك التحقق مما إذا كان عمود ما يستخدم الترميز المتناثر من خلال عرض العمود serialization_kind في جدول system.parts_columns:
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. الحد الأدنى للوقت الذي يجب انتظاره قبل محاولة تقليل الأجزاء المُعيقة مرة أخرى إذا لم يتم إسقاط/استبدال أي ranges. سيؤدي تعيين قيمة أقل إلى تشغيل المهام في background_schedule_pool بشكل متكرر، مما ينتج عنه عدد كبير من الطلبات إلى ZooKeeper في العناقيد واسعة النطاق

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

يشغّل zero-copy في وضع التوافق أثناء عملية التحويل.

remote_fs_zero_copy_zookeeper_path

مسار ZooKeeper للمعلومات المستقلة عن الجدول الخاصة بـ zero-copy.

remove_empty_parts

أزل الأجزاء الفارغة بعد تشذيبها بواسطة TTL أو mutation أو خوارزمية الدمج collapsing.

remove_rolled_back_parts_immediately

إعداد لميزة تجريبية لم تكتمل بعد.

remove_unused_patch_parts

إزالة أجزاء التصحيح في الخلفية بعد تطبيقها على جميع الأجزاء النشطة.

replace_long_file_name_to_hash

إذا كان اسم ملف العمود طويلًا جدًا (أكثر من ‘max_file_name_length’ بايت)، فاستبدله بـ SipHash128

replicated_can_become_leader

إذا كانت القيمة true، فستحاول النسخ المتماثلة للجداول المتماثلة على هذه العقدة تولّي دور القائد. القيم الممكنة:
  • true
  • false

replicated_deduplication_window

عدد أحدث الكتل المُدرجة التي يخزّن ClickHouse Keeper لها قيم التجزئة للتحقق من التكرارات. القيم الممكنة:
  • أي عدد صحيح موجب.
  • 0 (تعطيل إزالة التكرار)
ينشئ الأمر Insert كتلة واحدة أو أكثر (أجزاء). بالنسبة إلى insert deduplication، عند الكتابة إلى الجداول المتماثلة، يكتب ClickHouse قيم التجزئة الخاصة بالأجزاء المُنشأة إلى ClickHouse Keeper. ولا تُخزَّن قيم التجزئة إلا لأحدث replicated_deduplication_window من الكتل. وتُزال أقدم قيم التجزئة من ClickHouse Keeper. إن تعيين قيمة كبيرة لـ replicated_deduplication_window يبطّئ عمليات Inserts لأن عددًا أكبر من الإدخالات يحتاج إلى المقارنة. وتُحسَب قيمة التجزئة من تكوين أسماء الحقول وأنواعها وبيانات الجزء المُدرج (تدفّق من البايتات).

replicated_deduplication_window_for_async_inserts

عدد الكتل المُدرجة مؤخرًا باستخدام async insert التي يخزّن ClickHouse Keeper قيمة التجزئة الخاصة بها للتحقق من التكرارات. Possible values:
  • أي عدد صحيح موجب.
  • 0 (تعطيل إزالة التكرار لـ async_inserts)
سيتم تخزين أمر Async Insert مؤقتًا في كتلة واحدة أو أكثر (parts). ولأغراض insert إزالة التكرار، عند الكتابة إلى جداول متماثلة، يكتب ClickHouse قيم قيمة التجزئة لكل insert في ClickHouse Keeper. ولا تُخزَّن قيم قيمة التجزئة إلا لأحدث 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

عدد الثواني التي بعد انقضائها تُزال قيم التجزئة الخاصة بالكتل المُدخلة من ClickHouse Keeper. القيم الممكنة:
  • أي عدد صحيح موجب.
على غرار replicated_إزالة التكرار_window، يحدّد replicated_deduplication_window_seconds مدة الاحتفاظ بقيم التجزئة للكتل لأغراض insert إزالة التكرار. وتُزال قيم التجزئة الأقدم من replicated_deduplication_window_seconds من ClickHouse Keeper، حتى إذا كانت أقل من replicated_deduplication_window. يُحتسب الوقت نسبةً إلى وقت أحدث سجل، وليس إلى الوقت الفعلي. وإذا كان هذا هو السجل الوحيد، فسيُحفَظ إلى الأبد.

replicated_deduplication_window_seconds_for_async_inserts

عدد الثواني التي تُزال بعدها قيم التجزئة الخاصة بعمليات async inserts من ClickHouse Keeper. القيم الممكنة:
  • أي عدد صحيح موجب.
على غرار replicated_إزالة التكرار_window_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

الحد الأدنى لمستوى الجزء الذي سيتم جلبه من النسخ المتماثلة الأخرى. تُؤجَّل الأجزاء التي يكون مستواها أقل من هذه العتبة (تظل في قائمة انتظار النسخ المتماثل ويُعاد تقييمها في كل دورة جدولة، ولا تُتجاهَل نهائيًا). استخدم القيمة 1 لتأجيل جلب الأجزاء من المستوى 0 (غير المدمجة)، مما يقلل العبء الإضافي للنسخ المتماثل أثناء الإدخال المكثف للبيانات. القيمة الافتراضية: 0 (جلب جميع الأجزاء بغض النظر عن المستوى).

replicated_fetches_min_part_level_timeout_seconds

المهلة، بالثواني، التي بعدها سيتم جلب أي جزء يقع دون replicated_fetches_min_part_level على أي حال. استخدم 0 لتعطيل المهلة (تُؤجَّل الأجزاء التي تقع دون الحد الأدنى للمستوى إلى أجل غير مسمى حتى يتم دمجها). الافتراضي: 300 (فرض الجلب بعد 5 دقائق).

replicated_max_mutations_in_one_entry

الحد الأقصى لعدد أوامر mutation التي يمكن دمجها معًا وتنفيذها ضمن إدخال 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

إذا كانت نسبة الأجزاء غير الصحيحة إلى إجمالي عدد الأجزاء أقل من هذه القيمة، فيُسمح بالتشغيل. القيم الممكنة:
  • Float، 0.0 - 1.0

search_orphaned_parts_disks

يفحص ClickHouse جميع الأقراص بحثًا عن الأجزاء اليتيمة عند أي ATTACH أو CREATE لجدول، وذلك حتى لا تفوته أجزاء البيانات الموجودة على أقراص غير معرّفة (غير مشمولة في سياسة التخزين). قد تنشأ الأجزاء اليتيمة بسبب إعادة تهيئة التخزين غير الآمنة، على سبيل المثال إذا جرى استبعاد قرص من سياسة التخزين. يحدّد هذا الإعداد نطاق الأقراص التي سيجري البحث فيها وفقًا لخصائص الأقراص. القيم الممكنة:
  • any - النطاق غير مقيّد.
  • local - يقتصر النطاق على الأقراص المحلية.
  • none - نطاق فارغ، لا تُجرِ بحثًا

serialization_info_version

إصدار معلومات التسلسل المستخدم عند كتابة serialization.json. هذا الإعداد مطلوب لضمان التوافق أثناء ترقيات العنقود. القيم الممكنة:
  • basic - تنسيق أساسي.
  • with_types - تنسيق يتضمن الحقل الإضافي types_serialization_versions، مما يتيح إصدارات تسلسل لكل نوع. وهذا يجعل إعدادات مثل string_serialization_version سارية المفعول.
أثناء الترقيات المتدرجة، اضبط هذا على basic لكي تُنتج الخوادم الجديدة أجزاء بيانات متوافقة مع الخوادم القديمة. بعد اكتمال الترقية، بدّل إلى WITH_TYPES لتمكين إصدارات التسلسل لكل نوع.

share_nested_offsets

عند التفعيل (وهو الوضع الافتراضي)، تُعامَل أعمدة Array ذات الأسماء المنقطة التي تشترك في بادئة واحدة (مثل n.a و n.b) على أنها جزء من بنية Nested: إذ تشترك في ملف إزاحات واحد على القرص (مثل n.size0)، ويُتحقَّق من تساوي أحجام المصفوفات فيها أثناء INSERT. وعند التعطيل، يحصل كل عمود Array على ملف إزاحات مستقل، ولا تعود الأسماء المنقطة تحمل أي دلالات خاصة، كما يمكن أن يتعايش عمود قياسي مع أعمدة Array منقطة تشترك في البادئة نفسها (مثل n UInt32 إلى جانب n.a Array(String)). هذا الإعداد غير قابل للتغيير بعد إنشاء الجدول.

shared_merge_tree_activate_coordinated_merges_tasks

يُفعّل إعادة جدولة مهام الدمج المنسّق. وقد يكون ذلك مفيدًا حتى عندما shared_merge_tree_enable_coordinated_merges=0، لأن هذا سيُعبّئ إحصاءات منسّق الدمج ويساعد في حالات التشغيل البارد.

shared_merge_tree_create_per_replica_metadata_nodes

يُمكّن من إنشاء العُقدتَين /metadata و /columns لكل نسخة متماثلة في ZooKeeper. متاح فقط في ClickHouse Cloud

shared_merge_tree_disable_merges_and_mutations_assignment

إيقاف تعيين عمليات الدمج وتعديلات في shared merge tree. متاح فقط في ClickHouse Cloud

shared_merge_tree_empty_partition_lifetime

عدد الثواني التي سيتم خلالها الاحتفاظ بالتقسيم في Keeper إذا لم تكن له أي أجزاء.

shared_merge_tree_enable_automatic_empty_partitions_cleanup

يُمكّن تنظيف إدخالات Keeper الخاصة بالقسم الفارغ.

shared_merge_tree_enable_coordinated_merges

يُمكّن استخدام استراتيجية الدمج المنسّق

shared_merge_tree_enable_keeper_parts_extra_data

يمكّن كتابة السمات في الأجزاء الافتراضية وتثبيت الكتل في Keeper

shared_merge_tree_enable_outdated_parts_check

يُفعّل التحقق من الأجزاء القديمة. متاح فقط في ClickHouse Cloud

shared_merge_tree_idle_parts_update_seconds

الفاصل الزمني بالثواني لتحديث الأجزاء من دون أن يتم تحفيزه بواسطة watch في ZooKeeper ضمن shared merge tree. متاح فقط في 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 ثانية إلى shared_merge_tree_leader_update_period لتجنّب ظاهرة اندفاع القطيع. هذا الإعداد متاح فقط في ClickHouse Cloud

shared_merge_tree_leader_update_period_seconds

الحد الأقصى للفترة لإعادة التحقق من القائد المسؤول عن تحديث الأجزاء. متاح فقط في ClickHouse Cloud

shared_merge_tree_max_outdated_parts_to_process_at_once

الحد الأقصى لعدد الأجزاء القديمة التي ستحاول العقدة القائدة تأكيد إزالتها ضمن طلب 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

الحد الأقصى لعدد النسخ المتماثلة التي ستشارك في حذف الأجزاء (killer thread). يتوفر فقط في 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، وإذا تجاوز العدد ذلك، يُمنع الـ detach التلقائي.

shared_merge_tree_max_suspicious_broken_parts_bytes

الحد الأقصى لإجمالي حجم جميع الأجزاء التالفة في SMT، وإذا تجاوز هذا الحد، يُمنع detach التلقائي.

shared_merge_tree_memo_ids_remove_timeout_seconds

المدة التي نحتفظ خلالها بمعرّفات memoization الخاصة بعمليات insert لتجنّب تنفيذ إجراءات غير صحيحة أثناء إعادة محاولة insert. هذا متاح فقط في ClickHouse Cloud

shared_merge_tree_merge_coordinator_election_check_period_ms

الفاصل الزمني بين عمليات تشغيل مؤشر ترابط انتخاب منسّق الدمج

shared_merge_tree_merge_coordinator_factor

معامل تغيير مدة تأخير مؤشر ترابط المنسق

shared_merge_tree_merge_coordinator_fetch_fresh_metadata_period_ms

الفترة التي يجب أن يزامن فيها منسّق الدمج مع ZooKeeper لجلب بيانات وصفية حديثة

shared_merge_tree_merge_coordinator_max_merge_request_size

عدد عمليات الدمج التي يمكن أن يطلبها المنسّق من MergerMutator دفعة واحدة

shared_merge_tree_merge_coordinator_max_period_ms

الحد الأقصى للمدة الفاصلة بين مرات تشغيل مؤشر ترابط منسّق الدمج

shared_merge_tree_merge_coordinator_merges_prepare_count

عدد إدخالات الدمج التي ينبغي أن يُعِدّها منسق ويوزعها على workers. عند ضبطه على ‘auto’، يساوي الحد الأقصى لعدد مهام الدمج المسموح بها على replica واحدة مضروبًا في عدد replicas النشطة.

shared_merge_tree_merge_coordinator_min_period_ms

الحد الأدنى للفاصل الزمني بين مرات تشغيل خيط منسّق الدمج

shared_merge_tree_merge_worker_fast_timeout_ms

المهلة التي سيستخدمها مؤشر ترابط عامل الدمج إذا استلزم الأمر تحديث حالته بعد إجراء فوري

shared_merge_tree_merge_worker_regular_timeout_ms

الفاصل الزمني بين مرات تشغيل مؤشر ترابط عامل الدمج

shared_merge_tree_outdated_parts_group_size

كم عدد النسخ المتماثلة التي ستكون ضمن مجموعة تجزئة rendezvous نفسها لتنظيف الأجزاء القديمة. متاح فقط في 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_replica_set_max_lifetime_seconds

عدد مرات محاولة النسخ المتماثلة تحديث مجموعة النسخ المتماثلة في الخلفية. يُضاف انحراف عشوائي إلى وقت التشغيل التالي بتوزيع منتظم ضمن [0, value] ثانية. الاستثناء: القيمة = 0 لا تتبع هذه القاعدة؛ إذ يطبّق التنفيذ حدًا أدنى مقداره 200 مللي ثانية، لذلك يُضاف انحراف عشوائي إلى وقت التشغيل التالي ضمن [0, 200] مللي ثانية.

shared_merge_tree_try_fetch_part_in_memory_data_from_replicas

إذا كان هذا الإعداد مفعّلًا، فستحاول جميع النسخ المتماثلة جلب بيانات الجزء الموجودة في الذاكرة (مثل المفتاح الأساسي ومعلومات القسم وما إلى ذلك) من النسخ المتماثلة الأخرى التي تتوفر فيها هذه البيانات بالفعل.

shared_merge_tree_try_fetch_part_in_memory_data_from_replicas_on_startup

إذا كان هذا الإعداد مُمكّنًا، فستحاول جميع النسخ المتماثلة عند بدء التشغيل جلب بيانات الأجزاء في الذاكرة (مثل المفتاح الأساسي، ومعلومات القسم، وما إلى ذلك) من نسخ متماثلة أخرى تتوفر لديها هذه البيانات بالفعل.

shared_merge_tree_update_replica_flags_delay_ms

الفاصل الزمني الذي تحاول عنده النسخة المتماثلة إعادة تحميل علاماتها وفقًا للجدولة في الخلفية.

shared_merge_tree_use_metadata_hints_cache

يُمكّن من طلب تلميحات ذاكرة التخزين المؤقت لنظام الملفات من ذاكرة التخزين المؤقت الموجودة في الذاكرة على النسخ المتماثلة الأخرى. متاح فقط في ClickHouse Cloud

shared_merge_tree_use_outdated_parts_compact_format

استخدم التنسيق المضغوط للأجزاء القديمة: فهو يقلل الحمل على Keeper، ويحسّن معالجة الأجزاء القديمة. متاح فقط في ClickHouse Cloud

shared_merge_tree_use_too_many_parts_count_from_virtual_parts

إذا كان مُمكّنًا، فسيعتمد عدّاد Too many parts على البيانات المشتركة في Keeper، لا على حالة النسخة المتماثلة المحلية. يتوفر هذا فقط في ClickHouse Cloud

shared_merge_tree_use_zookeeper_connection_pool

إذا كان مُمكّنًا، يستخدم SharedMergeTree إحدى جلسات ZooKeeper المجمّعة على مستوى الخادم.

shared_merge_tree_virtual_parts_discovery_batch

عدد عمليات اكتشاف الأقسام المطلوب تجميعها في دفعة واحدة

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

هذا قرص الجدول؛ ويجب أن يشير المسار/نقطة النهاية إلى بيانات الجدول، لا إلى بيانات قاعدة البيانات. ولا يمكن تعيينه إلا لـ s3_plain/s3_plain_rewritable/web.

table_readonly

إذا تم تعيينه على true، فسيكون الجدول في وضع القراءة فقط. وستفشل أي محاولات لإدراج البيانات أو تعديل الجدول.

temporary_directories_lifetime

عدد الثواني التي يتم خلالها الاحتفاظ بأدلة tmp_. لا ينبغي خفض هذه القيمة لأن عمليات الدمج والتعديلات قد لا تتمكن من العمل إذا كانت قيمة هذا الإعداد منخفضة.

text_index_dictionary_block_frontcoding_compression

ضغط front-coding الافتراضي لكتل قاموس الفهرس النصي. يمكن تجاوز هذا الإعداد باستخدام وسيطة الفهرس الصريحة 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

مهلة الانتظار (بالثواني) قبل بدء الدمج مع إعادة الضغط. خلال هذه المدة، يحاول ClickHouse جلب الجزء المُعاد ضغطه من النسخة المتماثلة التي أُسنِد إليها هذا الدمج مع إعادة الضغط. تكون إعادة الضغط بطيئة في معظم الحالات، لذلك لا نبدأ الدمج مع إعادة الضغط إلا بعد انقضاء هذه المهلة، مع محاولة جلب الجزء المُعاد ضغطه من النسخة المتماثلة التي أُسنِد إليها هذا الدمج مع إعادة الضغط. القيم الممكنة:
  • أي عدد صحيح موجب.

ttl_only_drop_parts

يتحكم هذا الإعداد في ما إذا كانت data parts تُحذف بالكامل في جداول MergeTree عندما تكون جميع الصفوف في ذلك الجزء قد انتهت صلاحيتها وفقًا لإعدادات TTL الخاصة بها. عندما يكون ttl_only_drop_parts معطّلًا (وهو الوضع الافتراضي)، لا تُحذف إلا الصفوف التي انتهت صلاحيتها استنادًا إلى إعدادات TTL الخاصة بها. عندما يكون ttl_only_drop_parts مفعّلًا، يُحذف الجزء بالكامل إذا كانت جميع الصفوف في ذلك الجزء قد انتهت صلاحيتها وفقًا لإعدادات TTL الخاصة بها.

use_adaptive_write_buffer_for_dynamic_subcolumns

يتيح استخدام مخازن الكتابة المؤقتة التكيفية عند كتابة الأعمدة الفرعية الديناميكية لتقليل استهلاك الذاكرة

use_async_block_ids_cache

إذا كانت القيمة true، فسنخزّن قيم hash الخاصة بعمليات async inserts مؤقتًا. القيم الممكنة:
  • true
  • false
ستُولِّد الكتلة المرتبطة بعدة عمليات async inserts عدة قيم hash. وعندما تكون بعض عمليات insert مكررة، فلن يعيد Keeper سوى قيمة hash مكررة واحدة في استدعاء RPC واحد، مما سيتسبب في محاولات RPC إضافية غير ضرورية. سيراقب هذا التخزين المؤقت path الخاصة بقيم hash في Keeper. وإذا جرت مراقبة التحديثات في Keeper، فسيُحدَّث التخزين المؤقت بأسرع وقت ممكن، حتى نتمكن من تصفية عمليات insert المكررة في الذاكرة.

use_compact_variant_discriminators_serialization

يُفعّل الوضع المضغوط للتسلسل الثنائي لقيم discriminator في نوع البيانات Variant. يتيح هذا الوضع استخدام ذاكرة أقل بكثير لتخزين قيم discriminator في الأجزاء عندما يكون هناك غالبًا variant واحد أو عدد كبير من قيم NULL.

use_const_adaptive_granularity

استخدم دائمًا دقة حبيبات ثابتة للجزء بأكمله. يتيح ذلك ضغط قيم دقة حبيبات الفهرس في الذاكرة. وقد يكون هذا مفيدًا في أحمال العمل الكبيرة جدًا ذات الجداول قليلة الأعمدة.

use_metadata_cache

إعداد مهمل، ولا يؤدي أي وظيفة.

use_minimalistic_checksums_in_zookeeper

استخدم تنسيقًا صغيرًا (عشرات البايتات) من أجل part checksums في ZooKeeper بدلًا من التنسيق المعتاد (عشرات الكيلوبايتات). قبل التمكين، تحقّق من أن جميع النسخ المتماثلة تدعم التنسيق الجديد.

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

الحد الأدنى لعدد الأعمدة غير المدرجة ضمن المفتاح الأساسي لتفعيل خوارزمية الدمج العمودي.

vertical_merge_algorithm_min_rows_to_activate

الحد الأدنى (التقريبي) لإجمالي عدد الصفوف في الأجزاء قيد الدمج لتفعيل خوارزمية الدمج العمودي.

vertical_merge_optimize_lightweight_delete

إذا كانت القيمة true، فسيجري تحسين الحذف خفيف الوزن أثناء الدمج العمودي.

vertical_merge_optimize_ttl_delete

إذا كانت القيمة true، فسيُحسَّن حذف الصفوف وفق TTL عند الدمج العمودي. وبدلاً من فرض الدمج الأفقي، يُقيَّم عامل تصفية TTL ويُمرَّر إلى خوارزمية الدمج التي تضبط علامات التخطي في مصادر الصفوف.

vertical_merge_remote_filesystem_prefetch

إذا كانت القيمة true، فسيُستخدَم الجلب المسبق للبيانات من نظام الملفات البعيد للعمود التالي أثناء الدمج

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 لبيانات String الخاصة بالعنصر a من Tuple
  • t.b لبيانات UInt32 الخاصة بالعنصر b من Tuple
  • t.c.size0 لأحجام المصفوفة الخاصة بالعنصر c من Tuple
  • t.c.null لخريطة null لعناصر المصفوفة المتداخلة الخاصة بالعنصر c من Tuple
  • t.c لبيانات UInt32 الخاصة بعناصر المصفوفة المتداخلة للعنصر c من Tuple
عند تمكين هذا الإعداد، ستُكتب علامة لكل واحد من هذه التيارات الفرعية الخمسة، ما يعني أننا سنتمكن من قراءة بيانات كل تيار فرعي على حدة من الـ granule بشكل مستقل عند الحاجة. على سبيل المثال، إذا أردنا قراءة العمود الفرعي 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

إذا كان النسخ المتماثل دون نسخ مُمكّنًا، فانتظر مدة عشوائية تصل إلى 500 مللي ثانية قبل محاولة الحصول على قفل لإجراء عملية دمج أو mutation.

zookeeper_session_expiration_check_period

فترة التحقق من انتهاء جلسة ZooKeeper، بالثواني. القيم الممكنة:
  • أي عدد صحيح موجب.
آخر تعديل في ٢٥ يونيو ٢٠٢٦