الانتقال إلى المحتوى الرئيسي
القاموس هو ربط (key -> attributes) مناسب لأنواع مختلفة من القوائم المرجعية. يدعم ClickHouse دوالًا خاصة للتعامل مع القواميس يمكن استخدامها في الاستعلامات. ويُعد استخدام القواميس مع الدوال أسهل وأكثر كفاءة من استخدام JOIN مع الجداول المرجعية. يمكن إنشاء القواميس بطريقتين:

إنشاء قاموس باستخدام استعلام DDL

يمكن إنشاء القواميس باستخدام استعلامات DDL. وهذه هي الطريقة الموصى بها، لأنه عند إنشاء القواميس عبر DDL:
  • لا تُضاف أي إدخالات إضافية إلى ملفات تهيئة الخادم.
  • يمكن استخدام القواميس ككيانات أساسية مثل الجداول أو طرق العرض.
  • يمكن قراءة البيانات مباشرةً باستخدام صيغة SELECT المألوفة بدلًا من دوال الجداول الخاصة بالقواميس. لاحظ أنه عند الوصول إلى قاموس مباشرةً عبر تعليمة SELECT، فإن القاموس المخزَّن مؤقتًا لن يُرجع إلا البيانات المخزَّنة مؤقتًا، بينما يُرجع القاموس غير المخزَّن مؤقتًا جميع البيانات التي يخزّنها.
  • يمكن إعادة تسمية القواميس بسهولة.

الصيغة

CREATE [OR REPLACE] DICTIONARY [IF NOT EXISTS] [db.]dictionary_name [ON CLUSTER cluster]
(
    key1  type1  [DEFAULT | EXPRESSION expr1] [IS_OBJECT_ID],
    key2  type2  [DEFAULT | EXPRESSION expr2],
    attr1 type2  [DEFAULT | EXPRESSION expr3] [HIERARCHICAL|INJECTIVE],
    attr2 type2  [DEFAULT | EXPRESSION expr4] [HIERARCHICAL|INJECTIVE]
)
PRIMARY KEY key1, key2
SOURCE(SOURCE_NAME([param1 value1 ... paramN valueN]))
LAYOUT(LAYOUT_NAME([param_name param_value]))
LIFETIME({MIN min_val MAX max_val | max_val})
SETTINGS(setting_name = setting_value, setting_name = setting_value, ...)
COMMENT 'Comment'
البندالوصف
السماتتُحدَّد سمات القاموس بطريقة مماثلة لأعمدة الجدول. والخاصية الوحيدة المطلوبة هي النوع، أما سائر الخصائص فيمكن أن تكون لها قيم افتراضية.
PRIMARY KEYيحدّد عمود/أعمدة المفتاح لعمليات البحث في القاموس. ووفقًا للبنية، يمكن تحديد سمة واحدة أو أكثر كمفاتيح.
SOURCEيحدّد مصدر البيانات للقاموس (مثل جدول ClickHouse أو HTTP أو PostgreSQL).
LAYOUTيتحكم في كيفية تخزين القاموس في الذاكرة (مثل FLAT وHASHED وCACHE).
LIFETIMEيضبط الفاصل الزمني لتحديث القاموس.
ON CLUSTERينشئ القاموس على عنقود. اختياري.
SETTINGSإعدادات إضافية للقاموس. اختياري.
COMMENTيضيف تعليقًا نصيًا إلى القاموس. اختياري.

إنشاء قاموس باستخدام ملف تهيئة

لا ينطبق إنشاء قاموس باستخدام ملف تهيئة على ClickHouse Cloud. يُرجى استخدام DDL (انظر أعلاه)، وإنشاء القاموس بصفتك المستخدم default.
يكون ملف تهيئة القاموس بالتنسيق التالي:
<clickhouse>
    <comment>An optional element with any content. Ignored by the ClickHouse server.</comment>

    <!--Optional element. File name with substitutions-->
    <include_from>/etc/metrika.xml</include_from>

    <dictionary>
        <!-- Dictionary configuration. -->
        <!-- There can be any number of dictionary sections in a configuration file. -->
    </dictionary>

</clickhouse>
يمكنك إعداد أي عدد من القواميس في الملف نفسه.
آخر تعديل في ٢٥ يونيو ٢٠٢٦