الانتقال إلى المحتوى الرئيسي
توفر المجموعات المسماة طريقة لتخزين مجموعات من أزواج المفتاح والقيمة لاستخدامها في تهيئة عمليات التكامل مع المصادر الخارجية. يمكنك استخدام المجموعات المسماة مع القواميس والجداول ودوال الجداول وتخزين الكائنات. يمكن تهيئة المجموعات المسماة باستخدام DDL أو ضمن ملفات التهيئة، ويُعمل بها عند بدء تشغيل ClickHouse. وهي تُبسّط إنشاء الكائنات وإخفاء بيانات الاعتماد عن المستخدمين الذين لا يملكون صلاحية وصول إدارية. يجب أن تتطابق المفاتيح في المجموعة المسماة مع أسماء المعلَمات الخاصة بما يقابلها من دالة أو محرك جدول أو قاعدة بيانات، وما إلى ذلك. في الأمثلة أدناه، أُدرج رابط إلى قائمة المعلَمات الخاصة بكل نوع. يمكن تجاوز المعلَمات المضبوطة في مجموعة مسماة داخل SQL، وهذا موضح في الأمثلة أدناه. ويمكن تقييد هذه الإمكانية باستخدام الكلمات المفتاحية [NOT] OVERRIDABLE وسمات XML و/أو خيار التهيئة allow_named_collection_override_by_default.
إذا كان السماح بالتجاوز مفعّلًا، فقد يتمكن المستخدمون الذين لا يملكون وصولًا إداريًا من معرفة بيانات الاعتماد التي تحاول إخفاءها. إذا كنت تستخدم المجموعات المسماة لهذا الغرض، فينبغي عليك تعطيل allow_named_collection_override_by_default (وهو مفعّل افتراضيًا).

تخزين المجموعات المسماة في قاعدة بيانات النظام

مثال على DDL

في المثال أعلاه:
  • يمكن دائمًا استبدال قيمة key_1.
  • لا يمكن أبدًا استبدال قيمة key_2.
  • يمكن استبدال قيمة url أو عدم استبدالها بحسب قيمة allow_named_collection_override_by_default.

الأذونات اللازمة لإنشاء المجموعات المسماة باستخدام DDL

لإدارة المجموعات المسماة باستخدام DDL، يجب أن يمتلك المستخدم امتياز named_collection_control. ويمكن تعيين ذلك بإضافة ملف إلى /etc/clickhouse-server/users.d/. ويوضح المثال منح المستخدم default امتيازي access_management وnamed_collection_control:
/etc/clickhouse-server/users.d/user_default.xml
في المثال أعلاه، تمثّل قيمة password_sha256_hex القيمة السداسية العشرية لـ SHA256 hash لكلمة المرور. تحتوي تهيئة المستخدم default هذه على attribute ‏replace=true، لأن التهيئة الافتراضية تتضمن password بنص عادي، ولا يمكن تعيين كلمة مرور بنص عادي وكلمة مرور بتنسيق sha256 hex للمستخدم نفسه في الوقت ذاته.

تخزين المجموعات المُسمّاة

يمكن تخزين المجموعات المُسمّاة إما على القرص المحلي أو في ZooKeeper/Keeper. ويُستخدم التخزين المحلي افتراضيًا. كما يمكن تخزينها باستخدام التشفير، بالخوارزميات نفسها المستخدمة في تشفير القرص، حيث يُستخدم aes_128_ctr افتراضيًا. لتهيئة تخزين المجموعات المُسمّاة، تحتاج إلى تحديد type. ويمكن أن تكون هذه القيمة إما local أو keeper/zookeeper. أما في حالة التخزين المشفّر، فيمكنك استخدام local_encrypted أو keeper_encrypted/zookeeper_encrypted. لاستخدام ZooKeeper/Keeper، نحتاج أيضًا إلى إعداد path (المسار في ZooKeeper/Keeper الذي ستُخزَّن فيه المجموعات المُسمّاة) ضمن قسم named_collections_storage في ملف الإعدادات. يستخدم المثال التالي التشفير وZooKeeper/Keeper:
القيمة الافتراضية لمَعلمة التهيئة الاختيارية update_timeout_ms هي 5000.

تخزين المجموعات المسماة في ملفات التهيئة

مثال بتنسيق XML

/etc/clickhouse-server/config.d/named_collections.xml
في المثال أعلاه:
  • يمكن دائمًا إعادة تعريف key_1.
  • لا يمكن مطلقًا إعادة تعريف key_2.
  • يمكن إعادة تعريف url أو عدم إعادة تعريفه بحسب قيمة allow_named_collection_override_by_default.

تعديل المجموعات المسماة

يمكن تعديل المجموعات المسماة المُنشأة باستعلامات DDL أو إسقاطها باستخدام DDL. أما المجموعات المسماة المُنشأة بملفات XML، فيمكن إدارتها عبر تحرير ملف XML المقابل أو حذفه.

تعديل مجموعة مسماة مُعرَّفة بـ DDL

غيّر أو أضف المفتاحين key1 وkey3 في المجموعة collection2 (لن يؤدّي هذا إلى تغيير قيمة العلامة overridable لهذين المفتاحين):
غيّر المفتاح key1 أو أضِفه، واسمح دائمًا باستبداله:
احذف المفتاح key2 من collection2:
غيّر المفتاح key1 أو أضِفه، واحذف المفتاح key3 في المجموعة collection2:
لفرض استخدام مفتاحٍ ما للإعدادات الافتراضية الخاصة بالعلامة overridable، عليك إزالة المفتاح ثم إعادة إضافته.

احذف المجموعة المُسمّاة لـ DDL collection2:

المجموعات المسماة للوصول إلى S3

للاطلاع على وصف المعلمات، راجع الدالة الجدولية S3.

مثال على DDL

مثال بتنسيق XML

أمثلة على الدالة s3() والمجموعة المسماة لجدول S3

يستخدم كلٌّ من المثالين التاليين المجموعة المسماة نفسها s3_mydata:

الدالة s3()

الوسيطة الأولى للدالة s3() أعلاه هي اسم المجموعة المسماة، s3_mydata. ومن دون المجموعات المسماة، سيتعيّن تمرير معرّف مفتاح الوصول والمفتاح السري والتنسيق وURL في كل استدعاء للدالة s3().

جدول S3

المجموعات المسماة للوصول إلى قاعدة بيانات MySQL

للاطلاع على وصف المعلمات، راجع mysql.

مثال على DDL

مثال بتنسيق XML

أمثلة على المجموعة المسماة الخاصة بـ قاموس والدالة mysql() وجدول MySQL وقاعدة بيانات MySQL

تستخدم الأمثلة الأربعة التالية المجموعة المسماة نفسها mymysql:

دالة mysql()

لا تتضمن المجموعة المسماة المَعلمة table، لذا جرى تحديدها في استدعاء الدالة بالشكل table = 'test'.

جدول MySQL

تتجاوز عبارة DDL إعداد connection_pool_size المحدد في المجموعة المسماة.

قاعدة بيانات MySQL

قاموس MySQL

المجموعات المسماة للوصول إلى قاعدة بيانات PostgreSQL

للاطلاع على وصف المعلمات، راجع postgresql. بالإضافة إلى ذلك، تتوفر الأسماء المستعارة التالية:
  • username بدلًا من user
  • db بدلًا من database.
تُستخدم المعلمة addresses_expr في المجموعة بدلًا من host:port. وهذه المعلمة اختيارية، لأن هناك معلمات اختيارية أخرى، وهي: host وhostname وport. توضّح الشيفرة الزائفة التالية ترتيب الأولوية:
مثال على عملية الإنشاء:
مثال على التهيئة:

مثال على استخدام المجموعات المُسمّاة مع الدالة postgresql

مثال على استخدام المجموعات المُسمّاة مع قاعدة بيانات تعمل بمحرك PostgreSQL

ينسخ PostgreSQL البيانات من المجموعة المُسمّاة عند إنشاء الجدول. وأي تغيير يطرأ على المجموعة لا يؤثر في الجداول الحالية.

مثال على استخدام المجموعات المسماة مع قاعدة بيانات تستخدم محرك PostgreSQL

مثال على استخدام المجموعات المسماة مع قاموس مصدره POSTGRESQL

المجموعات المسماة للوصول إلى قاعدة بيانات ClickHouse بعيدة

للاطلاع على وصف المعلمات، راجع remote. مثال على التهيئة:
secure غير ضروري للاتصال بسبب remoteSecure، لكن يمكن استخدامه مع القواميس.

مثال على استخدام المجموعات المُسمّاة مع الدالتين remote/remoteSecure

مثال على استخدام المجموعات المسماة مع قاموس مصدره ClickHouse

المجموعات المسماة للوصول إلى Kafka

راجع وصف المعلمات في Kafka.

مثال على DDL

مثال بتنسيق XML

مثال على استخدام المجموعات المسماة مع جدول Kafka

يستخدم المثالان التاليان المجموعة المسماة نفسها my_kafka_cluster:

المجموعات المسماة الخاصة بالنسخ الاحتياطية

للاطلاع على وصف المعلمات، راجع النسخ الاحتياطي والاستعادة.

مثال على DDL

مثال بتنسيق XML

المجموعات المسماة للوصول إلى جدول MongoDB والقاموس

للاطلاع على وصف المعلمات، راجع mongodb.

مثال على DDL

مثال بتنسيق XML

جدول MongoDB

تتجاوز عبارة DDL إعدادات الخيارات المحددة في المجموعة المسماة.

قاموس MongoDB

تحدِّد المجموعة المُسمّاة اسم الـ collection على أنه my_collection. وفي استدعاء الدالة، يُتجاوز هذا الإعداد باستخدام collection = 'my_dict' لاختيار collection أخرى.
آخر تعديل في ١ يوليو ٢٠٢٦