Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

CREATE DICTIONARY

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

يمكن إنشاء القواميس بطريقتين:

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

متوفر في ClickHouse Cloud

يمكن إنشاء القواميس باستخدام استعلامات 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

يكون ملف تهيئة القاموس بالتنسيق التالي:

<clickhouse>
    <comment>An optional element with any content. Ignored by the ClickHouse server.</comment>

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

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

</clickhouse>

يمكنك إعداد أي عدد من القواميس في الملف نفسه.

Navigation