هذه الإعدادات متاحة في system.settings، وهي مُولَّدة تلقائيًا من المصدر.
الحد الأقصى لعدد عمليات التحليل التي ينفّذها المفسّر.
الحد الأقصى لعدد السلاسل التي تُنشئها الدالة generateSerialID.
ونظرًا لأن كل سلسلة تمثل عقدة في Keeper، يُستحسن ألا يتجاوز عددها بضعة ملايين.
الحد الأقصى لسرعة القراءة، بالبايت في الثانية، لنسخة احتياطية معيّنة على الخادم. تعني القيمة صفر عدم وجود حد.
في ClickHouse، تُعالَج البيانات على شكل كتل، وهي مجموعات من أجزاء الأعمدة. وتكون دورات المعالجة الداخلية للكتلة الواحدة فعّالة، لكن هناك تكاليف ملحوظة مرتبطة بمعالجة كل كتلة.
يشير الإعداد max_block_size إلى الحد الأقصى الموصى به لعدد الصفوف التي ينبغي تضمينها في كتلة واحدة عند تحميل البيانات من الجدول. ولا تُحمَّل دائمًا كتل بحجم max_block_size من الجدول: فإذا حدّد ClickHouse أن المطلوب استرجاع بيانات أقل، فستُعالَج كتلة أصغر.
يجب ألا يكون حجم الكتلة صغيرًا جدًا لتجنّب التكاليف الملحوظة عند معالجة كل كتلة. كما يجب ألا يكون كبيرًا جدًا لضمان تنفيذ الاستعلامات التي تتضمن عبارة LIMIT بسرعة بعد معالجة الكتلة الأولى. وعند ضبط max_block_size، ينبغي أن يكون الهدف هو تجنّب استهلاك قدر كبير من الذاكرة عند استخراج عدد كبير من الأعمدة عبر خيوط متعددة، مع الحفاظ على قدرٍ من محلية ذاكرة التخزين المؤقت.
الحد الأقصى لعدد الأعمدة التي يمكن قراءتها من جدول ضمن استعلام واحد.
إذا تطلّب الاستعلام قراءة عدد من الأعمدة أكبر من العدد المحدد، فسيتم إطلاق استثناء.
يفيد هذا الإعداد في منع الاستعلامات المفرطة في التعقيد.
تعني القيمة 0 عدم وجود حد.
الحد الأقصى لحجم كتل البيانات غير المضغوطة قبل ضغطها عند الكتابة إلى جدول. تكون القيمة الافتراضية 1,048,576 (1 MiB). ويؤدي تحديد حجم كتلة أصغر عادةً إلى انخفاض طفيف في نسبة الضغط، مع زيادة طفيفة في سرعة الضغط وفك الضغط بسبب محلية ذاكرة التخزين المؤقت، وتقليل استهلاك الذاكرة.
هذا إعداد مخصّص للمستخدمين الخبراء، ولا ينبغي تغييره إذا كنت لا تزال في بداية استخدام ClickHouse.
لا تخلط بين الكتل المستخدمة للضغط (وهي جزء من الذاكرة يتكوّن من بايتات) والكتل المستخدمة في معالجة الاستعلامات (وهي مجموعة من الصفوف من جدول).
الحد الأقصى لعدد لقطات Paimon التي يمكن استهلاكها في كل قراءة تزايدية. تعني القيمة 0 عدم وجود حد.
max_estimated_execution_time
الحد الأقصى للوقت التقديري لتنفيذ الاستعلام، بالثواني. ويُتحقَّق منه عند كل كتلة بيانات
عند انتهاء timeout_before_checking_execution_speed.
max_expanded_ast_elements
الحد الأقصى لحجم شجرة بناء جملة الاستعلام، محسوبًا بعدد العُقد، بعد توسيع الأسماء البديلة والنجمة.
max_fetch_partition_retries_count
عدد مرات إعادة المحاولة عند جلب قسم من مضيف آخر.
يحدّد الحد الأقصى لعدد خيوط التنفيذ المتوازية في مرحلة قراءة بيانات استعلام SELECT عند استخدام المُعدِّل FINAL.
القيم الممكنة:
- عدد صحيح موجب.
- 0 أو 1 — معطّل. تُنفَّذ استعلامات
SELECT باستخدام خيط تنفيذ واحد.
الحد الأقصى المسموح به لعدد قفزات إعادة توجيه HTTP GET. يضمن ذلك وجود تدابير أمان إضافية لمنع خادم خبيث من إعادة توجيه طلباتك إلى خدمات غير متوقعة.\n\nتحدث هذه الحالة عندما يعيد خادم خارجي التوجيه إلى عنوان آخر، لكن هذا العنوان يبدو داخليًا ضمن البنية التحتية للشركة. وعند إرسال طلب HTTP إلى خادم داخلي، قد تتمكن من طلب واجهة برمجة تطبيقات داخلية من الشبكة الداخلية مع تجاوز المصادقة، أو حتى الاستعلام عن خدمات أخرى مثل Redis أو Memcached. إذا لم تكن لديك بنية تحتية داخلية (بما في ذلك أي شيء يعمل على localhost)، أو كنت تثق في الخادم، فمن الآمن السماح بإعادة التوجيه. ومع ذلك، ضع في اعتبارك أنه إذا كان URL يستخدم HTTP بدلًا من HTTPS، فسيتعين عليك الوثوق ليس فقط بالخادم البعيد، بل أيضًا بمزوّد خدمة الإنترنت لديك وبكل شبكة وسيطة.
Cloud default value: 10.
max_limit_for_vector_search_queries
استعلامات SELECT التي يتجاوز فيها LIMIT هذا الإعداد لا يمكنها استخدام فهارس تشابه المتجهات. يساعد ذلك على منع تجاوز الذاكرة في فهارس تشابه المتجهات.
max_number_of_partitions_for_independent_aggregation
الحد الأقصى لعدد الأقسام في الجدول لتطبيق التحسين
max_os_cpu_wait_time_ratio_to_throw
الحد الأقصى للنسبة بين وقت انتظار CPU في نظام التشغيل (المقياس OSCPUWaitMicroseconds) ووقت الانشغال (المقياس OSCPUVirtualTimeMicroseconds) الذي عنده يُؤخذ رفض الاستعلامات في الاعتبار. يُستخدم الاستيفاء الخطي بين النسبة الدنيا والقصوى لحساب الاحتمال، ويكون الاحتمال 1 عند هذه النقطة.
الحد الأقصى لعدد النسخ المتماثلة لكل shard عند تنفيذ استعلام.
القيم الممكنة:
معلومات إضافية
قد يؤدي هذا الخيار إلى نتائج مختلفة بحسب الإعدادات المستخدمة.
المعالجة المتوازية باستخدام مفتاح SAMPLE
قد يُعالَج الاستعلام بسرعة أكبر إذا نُفِّذ على عدة خوادم بالتوازي. لكن قد يتراجع أداء الاستعلام في الحالات التالية:
- لا يسمح موضع مفتاح أخذ العينات ضمن مفتاح التقسيم بإجراء عمليات فحص نطاق فعّالة.
- تؤدي إضافة مفتاح أخذ العينات إلى الجدول إلى تقليل كفاءة التصفية حسب الأعمدة الأخرى.
- يكون مفتاح أخذ العينات تعبيرًا مكلفًا من حيث الحساب.
- يتسم توزيع الكمون في العنقود بذيل طويل، مما يعني أن الاستعلام عبر عدد أكبر من الخوادم يزيد الكمون الإجمالي للاستعلام.
يفيد هذا الإعداد مع أي جدول مُكرَّر.
أقصى عدد من الخيوط لتحليل البيانات في تنسيقات الإدخال التي تدعم التحليل المتوازي. ويُحدَّد هذا العدد تلقائيًا افتراضيًا.
max_partition_size_to_drop
قيد على حذف الأقسام أثناء تنفيذ الاستعلام. وتعني القيمة 0 أنه يمكنك حذف الأقسام دون أي قيود.
Cloud default value: 1 TB.
يحدّد الحد الأقصى لعدد الأجزاء التي يمكن نقلها في استعلام واحد. وتعني القيمة صفر عدم وجود حد.
max_projection_rows_to_use_projection_index
إذا كان عدد الصفوف المراد قراءتها من فهرس الإسقاط أقل من هذه العتبة أو مساويًا لها، فسيحاول ClickHouse تطبيق فهرس الإسقاط أثناء تنفيذ الاستعلام.
الحد الأقصى لعدد البايتات في سلسلة الاستعلام التي يحللها محلل SQL.
تُعالَج البيانات في عبارة VALUES ضمن استعلامات INSERT بواسطة محلل تدفق منفصل (يستهلك O(1) من RAM)، ولا تتأثر بهذا القيد.
لا يمكن تعيين max_query_size داخل استعلام SQL (مثل: SELECT now() SETTINGS max_query_size=10000) لأن ClickHouse يحتاج إلى تخصيص مخزن مؤقت لتحليل الاستعلام، ويُحدَّد حجم هذا المخزن المؤقت بواسطة الإعداد max_query_size، الذي يجب ضبطه قبل تنفيذ الاستعلام.
max_recursive_cte_evaluation_depth
الحد الأقصى لعمق تقييم تعبير الجدول الشائع التكراري
max_replica_delay_for_distributed_queries
يعطّل النسخ المتماثلة المتأخرة للاستعلامات الموزعة. راجع النسخ المتماثل.
يضبط الوقت بالثواني. إذا كان تأخر نسخة متماثلة أكبر من القيمة المحددة أو مساويًا لها، فلن تُستخدم هذه النسخة المتماثلة.
القيم الممكنة:
- عدد صحيح موجب.
- 0 — لا يتم التحقق من تأخر النسخ المتماثلة.
لمنع استخدام أي نسخة متماثلة ذات تأخر غير صفري، اضبط هذه المعلمة على 1.
يُستخدم عند تنفيذ SELECT من جدول موزع يشير إلى جداول خاضعة للنسخ المتماثل.
max_reverse_dictionary_lookup_cache_size_bytes
الحد الأقصى للحجم بالبايت لذاكرة التخزين المؤقت لعملية lookup العكسي في القاموس لكل query، والمستخدمة بواسطة الدالة dictGetKeys. تخزن ذاكرة التخزين المؤقت قيم Tuple للمفاتيح بعد تسلسلها لكل قيمة سمة، لتجنب إعادة فحص القاموس ضمن الـ query نفسها. عند بلوغ الحد، تُزال العناصر باستخدام LRU. اضبط القيمة على 0 لتعطيل التخزين المؤقت.
الحد الأقصى لعدد الجلسات المتزامنة لكل مستخدم مُصادَق عليه على خادم ClickHouse.
مثال:
القيم الممكنة:
- عدد صحيح موجب
0 - عدد غير محدود من الجلسات المتزامنة (الافتراضي)
إذا كان الاستعلام يحتوي على عدد من الاستعلامات الفرعية المتداخلة يتجاوز العدد
المحدد، فسيتم طرح استثناء.
يتيح لك هذا إجراء فحص احترازي لحماية مستخدمي
العنقود من كتابة استعلامات شديدة التعقيد.
قيد على حذف الجداول وقت تنفيذ الاستعلام. وتعني القيمة 0 أنه يمكنك حذف جميع الجداول دون أي قيود.
Cloud default value: 1 TB.
تُجمَّع عمليات التخصيص وإلغاء التخصيص الصغيرة في متغيّر محلي على مستوى الخيط، ولا تُتبع أو يُنشأ لها ملف تعريف إلا عندما يصبح المقدار (من حيث القيمة المطلقة) أكبر من القيمة المحددة. وإذا كانت القيمة أكبر من memory_profiler_step، فسيجري خفضها فعليًا إلى memory_profiler_step.
max_wkb_geometry_elements
الحد الأقصى لعدد النقاط أو الحلقات أو المضلعات المسموح به في عنصر هندسي واحد بصيغة WKB أثناء التحليل بواسطة readWKB والدوال ذات الصلة. يوفّر هذا حماية من التخصيصات المفرطة للذاكرة الناتجة عن بيانات WKB غير سليمة. اضبطه على 0 لاستخدام الحد المضمَّن في الشيفرة (100 مليون).