Skip to main content
هذه الإعدادات متاحة في system.merge_tree_settings، وهي مُولَّدة تلقائيًا من شيفرة ClickHouse المصدرية.

table_disk

هذا قرص جدول: يشير المسار/نقطة النهاية إلى بيانات الجدول، لا إلى بيانات قاعدة البيانات. وهو مدعوم لأقراص تخزين الكائنات التي توجد بياناتها الوصفية في تخزين الكائنات نفسه (s3_plain, s3_plain_rewritable, web, web_index) ونسخها المخزنة مؤقتًا. أما النسخ المشفرة فهي مدعومة فقط على أقراص s3_plain / s3_plain_rewritable القابلة للكتابة، وليس على أقراص web / web_index للقراءة فقط. يُفترض أن أجزاء البيانات الموجودة مسبقًا ضمن المسار تطابق الأعمدة ومفتاح الفرز المُعرَّفين في هذا الجدول. ولا يُسجَّل في أي مكان مفتاح الفرز الذي كُتب به جزء البيانات، لذا فإن أي جدول يُعرِّف مفتاحًا مختلفًا على أجزاء البيانات نفسها سيُرجع نتائج خاطئة أو خطأً.

table_readonly

إذا ضُبط الإعداد على true، يصبح الجدول في وضع القراءة فقط. تُرفض جميع العمليات المباشرة التي من شأنها تعديل الجدول: عمليات الإدراج والتعديل، وOPTIMIZE، وأوامر التقسيم التي تعدّل البيانات (ATTACH/MOVE/DROP/DROP DETACHED/FETCH/REPLACE PARTITION، وكذلك MOVE PARTITION ... TO TABLE إذا كان الجدول هو وجهتها). أما العمليات التي لا تعدّل بيانات الجدول، مثل FREEZE/UNFREEZE وFORGET PARTITION، فتظل مسموحة. لا تُجدول المهام الخلفية التي تعدّل بيانات الجدول: فتتوقف عمليات الدمج المعتادة، وعمليات دمج TTL ‏(DELETE/MOVE/إعادة الضغط)، وعمليات دمج إعادة الضغط، والتعديلات الخلفية، ونقل أجزاء البيانات في الخلفية. ونتيجةً لذلك، يتوقف الجدول الذي يستخدم TTL عن حذف بياناته منتهية الصلاحية أو نقلها ما دام هذا الإعداد مفعّلًا. ويتوقف التنظيف بعد اكتمال دورة التنظيف الجارية. وإذا كان التحميل غير المتزامن لأجزاء البيانات القديمة (غير النشطة)، الذي يُجريه الجدول القابل للكتابة بعد بدء التشغيل، لم يكتمل بعد، فيُعلَّق: فلا يُحمَّل أي جزء بيانات آخر، حتى الأجزاء التي أُدرج تحميلها في قائمة الانتظار ولم يبدأ تحميلها بعد. وتُحمَّل الأجزاء المتبقية عند إيقاف هذا الإعداد مجددًا. ويُعطَّل العاملون في الخلفية قبل أن يُثبَّت أمر ALTER الذي يفعّل الإعداد، فلا يبدأ تنظيف أو تحميل لأجزاء البيانات في جدول أصبحت حالة القراءة فقط فيه مثبتة. وقد تكتمل العمليات الأخرى الجارية، بما فيها عمليات تحميل أجزاء البيانات التي بدأت بالفعل. يستمر تحديث ذاكرة التخزين المؤقت للإحصاءات دوريًا. اضبط refresh_statistics_interval = 0 لتعطيل هذه المهمة الخلفية أيضًا. وتظل قراءات الدفق (SELECT ... STREAM) تعمل: فالمهمة الخلفية التي تخدم اشتراكاتها لا تفعل سوى قراءة أجزاء البيانات، وتعمل على الجداول المخصصة للقراءة فقط أيضًا. يمكن دائمًا إلغاء تفعيل الإعداد باستخدام ALTER TABLE ... MODIFY SETTING table_readonly = 0 (أو RESET SETTING). ويبدأ عندئذٍ عمل العاملين في الخلفية الذين لم يبدأوا العمل عندما كان الجدول للقراءة فقط، فتُستأنف عمليات الدمج والتعديل والنقل وTTL والتنظيف دون إعادة تشغيل الخادم. وتُحمَّل أجزاء البيانات القديمة (غير النشطة) قبل أن يتمكن التنظيف من إزالة الأجزاء الفارغة التي تغطيها. ويظل الجدول للقراءة فقط أمام الاستعلامات المتزامنة طوال مدة تنفيذ أمر ALTER: فلا يقبل الكتابة مجددًا إلا بعد انتهاء تنفيذ العبارة، لا بمجرد تثبيت بياناته الوصفية. هذا الإعداد غير مدعوم في ReplicatedMergeTree.