القواميس في ClickHouse
LIFETIME(MIN 0 MAX 0)، لأن هذا يعني أن القاموس لن يُحدَّث تلقائيًا أبدًا. لذلك، سيظل القاموس فارغًا إلى أن يُنفَّذ الأمر RELOAD DICTIONARIES.
يكمن حل هذه المشكلة في استخدام استعلام SELECT بدلًا من تحديد جدول مصدر عند إنشاء القاموس، مع تفعيل الإعداد select_sequential_consistency=1.
بدلًا من تحديد جدول مصدر:
SELECT مع select_sequential_consistency=1:
لماذا تحدث هذه المشكلة؟
select_sequential_consistency.
أما في حالة القواميس، فالأمر أكثر تعقيدًا قليلًا، لأن القواميس لا تستخدم إعدادات الاستعلام، بل إعدادات server. ونتيجةً لذلك، عند تحميل البيانات إلى القاموس، حتى إذا استخدمت SET select_sequential_consistency=1 فقد تُحمَّل البيانات بشكل غير متسق عبر النسخ المتماثلة. ويتيح تحديد select_sequential_consistency=1 في استعلام مصدر القاموس أن يلتزم القاموس بهذا الإعداد حتى إن لم يكن مفعّلًا على مستوى server setting بشكل عام.