Skip to main content

قواعد TTL والتحكم

سيُطبَّق TTL في نهاية الأمر. ماذا يعني ذلك؟ يحدّد إعداد الجدول merge_with_ttl_timeout في MergeTree الحد الأدنى للتأخير بالثواني قبل تكرار عملية دمج مع delete TTL. القيمة الافتراضية هي 14400 ثانية (4 ساعات). لكن هذا ليس سوى الحد الأدنى للتأخير، وقد يستغرق الأمر وقتًا أطول قبل أن يتم تشغيل عملية الدمج الخاصة بـ delete TTL. يمكنك عرض جميع إعدادات TTL الحالية لديك (مثل merge_with_ttl_timeout) باستخدام هذا الاستعلام:
تبدو الاستجابة كما يلي:
يمكنك استخدام SHOW CREATE TABLE للتحقق مما إذا كان جدولك يحتوي على قواعد TTL، وما إذا كانت أيّ من SETTINGS الخاصة بالجدول قد عدّلت قيم الإعدادات المذكورة أعلاه:

فرض تطبيق قاعدة TTL

ليس هذا الحل الأكثر أناقة، ولكن يمكنك استدعاء MATERIALIZE TTL صراحةً، مما يفرض تطبيق جميع قواعد TTL على الجدول فعليًا:

خيوط المعالجة الخلفية التي تؤثر في TTL

قد لا تُطبَّق قواعد TTL لديك بسبب عدم توفر عدد كافٍ من خيوط المعالجة العاملة في المجمّع الخلفي. على سبيل المثال، إذا كنت تُدرج البيانات بكثافة، فقد يُستغل المجمّع الخلفي بالكامل في عمليات الدمج العادية. ومع ذلك، يمكنك زيادة حجم المجمّع الخلفي. يمكنك التحقق من الحجم الحالي للمجمّع الخلفي باستخدام هذا الاستعلام:
يكون الرد على النحو التالي:
راجع التوثيق لمعرفة كيفية تعديل إعداد background_pool_size، وهو مُهيّأ على النحو التالي:
يمكنك الاطلاع على نشاط background pool الحالي باستخدام هذا الاستعلام:
آخر تعديل في ٣ يوليو ٢٠٢٦