الانتقال إلى المحتوى الرئيسي
يتيح الوصول إلى جميع الشظايا (المهيأة في قسم remote_servers) في عنقود دون إنشاء جدول Distributed. ولا يُستعلم إلا من نسخة متماثلة واحدة لكل شظية. الدالة clusterAllReplicas — مماثلة لـ cluster، ولكن يُستعلم من جميع النسخ المتماثلة. وتُستخدم كل نسخة متماثلة في العنقود كشظية/اتصال منفصل.
تُدرج جميع العناقيد المتاحة في جدول system.clusters.

الصيغة

cluster(['cluster_name', db.table, sharding_key])
cluster(['cluster_name', db, table, sharding_key])
clusterAllReplicas(['cluster_name', db.table, sharding_key])
clusterAllReplicas(['cluster_name', db, table, sharding_key])

الوسائط

الوسائطالنوع
cluster_nameاسم العنقود المستخدم لإنشاء مجموعة من العناوين ومَعلمات الاتصال بالخوادم البعيدة والمحلية. تُستخدم القيمة default إذا لم يتم تحديده.
db.table or db, tableاسم قاعدة بيانات وجدول.
sharding_keyمفتاح التجزئة. اختياري. يجب تحديده إذا كان العنقود يحتوي على أكثر من شظية واحدة.

القيمة المعادة

مجموعة البيانات من العناقيد.

استخدام وحدات الماكرو

يمكن أن يتضمن cluster_name وحدات ماكرو — أي إحلالًا داخل {}. وتُؤخذ القيمة المُحَلَّة من قسم macros في ملف تهيئة الخادم. مثال:
SELECT * FROM cluster('{cluster}', default.example_table);

الاستخدام والتوصيات

يُعد استخدام دوال الجداول cluster وclusterAllReplicas أقل كفاءة من إنشاء جدول Distributed، لأنه في هذه الحالة يُعاد إنشاء الاتصال بالخادم مع كل طلب. عند معالجة عدد كبير من الاستعلامات، يُرجى دائمًا إنشاء جدول Distributed مسبقًا، وعدم استخدام دوال الجداول cluster وclusterAllReplicas. قد تكون دوال الجداول cluster وclusterAllReplicas مفيدة في الحالات التالية:
  • الوصول إلى عنقود محدد لمقارنة البيانات، واستكشاف الأخطاء وإصلاحها، والاختبار.
  • إجراء استعلامات على عناقيد ClickHouse ونسخها المتماثلة المختلفة لأغراض البحث.
  • الطلبات الموزعة غير المتكررة التي تُنفَّذ يدويًا.
تُؤخذ إعدادات الاتصال مثل host وport وuser وpassword وcompression وsecure من قسم الإعدادات <remote_servers>. راجع التفاصيل في محرك Distributed.
آخر تعديل في ٢٥ يونيو ٢٠٢٦