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