remote الوصول إلى الخوادم البعيدة بشكل ديناميكي، أي من دون إنشاء جدول Distributed. وتعمل دالة الجدول remoteSecure بالطريقة نفسها التي تعمل بها remote ولكن عبر اتصال آمن.
يمكن استخدام كلتا الدالتين في استعلامات SELECT وINSERT.
الصيغة
المعلمات
| الوسيطة | الوصف |
|---|---|
addresses_expr | عنوان خادم بعيد أو تعبير يُولِّد عدة عناوين لخوادم بعيدة. التنسيق: host أو host:port.يمكن تحديد host على أنه اسم خادم، أو عنوان IPv4 أو عنوان IPv6. يجب تحديد عنوان IPv6 داخل [].يشير port إلى منفذ TCP على الخادم البعيد. إذا لم يُحدَّد المنفذ، فسيتم استخدام tcp_port من ملف إعدادات الخادم لدالة الجدول remote (افتراضيًا 9000) وtcp_port_secure لدالة الجدول remoteSecure (افتراضيًا 9440).بالنسبة إلى عناوين IPv6، يكون تحديد المنفذ إلزاميًا. إذا تم تحديد المعلمة addresses_expr فقط، فسيتم استخدام system.one افتراضيًا لكل من db وtable.النوع: String. |
db | اسم قاعدة البيانات. النوع: String. |
table | اسم الجدول. النوع: String. |
user | اسم المستخدم. إذا لم يُحدَّد، فستُستخدم القيمة default. النوع: String. |
password | كلمة مرور المستخدم. إذا لم تُحدَّد، فستُستخدم كلمة مرور فارغة. النوع: String. |
sharding_key | مفتاح التقسيم الأفقي لدعم توزيع البيانات عبر العُقد. على سبيل المثال: insert into remote('127.0.0.1:9000,127.0.0.2', db, table, 'default', rand()). النوع: UInt32. |
القيمة المُعادة
الاستخدام
remote وremoteSecure تعيدان إنشاء الاتصال مع كل طلب، يُنصح باستخدام جدول Distributed بدلًا من ذلك. كذلك، إذا كانت أسماء المضيفين محددة، فستُحلّ هذه الأسماء، ولن تُحتسب الأخطاء عند العمل مع عدة نسخ متماثلة. وعند معالجة عدد كبير من الاستعلامات، احرص دائمًا على إنشاء جدول Distributed مسبقًا، ولا تستخدم دالة الجدول remote.
قد تكون دالة الجدول remote مفيدة في الحالات التالية:
- ترحيل البيانات لمرة واحدة من نظام إلى آخر
- الوصول إلى خادم محدد لمقارنة البيانات، واستكشاف الأخطاء وإصلاحها، والاختبار، أي لإجراء اتصالات عند الحاجة.
- استعلامات بين عناقيد ClickHouse مختلفة لأغراض البحث.
- الطلبات الموزعة غير المتكررة التي تُجرى يدويًا.
- الطلبات الموزعة التي يُعاد فيها تحديد مجموعة الخوادم في كل مرة.
العناوين
أمثلة
استعلام البيانات من خادم بعيد:
إدراج البيانات في جدول على خادم بعيد:
ترحيل الجداول من نظام إلى آخر:
imdb، والجدول هو actors.
على نظام ClickHouse المصدر (النظام الذي يستضيف البيانات حاليًا)
-
تحقّق من قاعدة البيانات المصدر واسم الجدول (
imdb.actors) - احصل على عبارة CREATE TABLE من المصدر:
على نظام ClickHouse الهدف
-
أنشئ قاعدة البيانات الهدف:
-
باستخدام عبارة CREATE TABLE من المصدر، أنشئ الجدول في الوجهة:
بالعودة إلى عملية نشر المصدر
المطابقة بالأنماط
{ } لإنشاء مجموعة من الشظايا وتحديد النُسخ المتماثلة. وإذا وُجدت عدة أزواج من { }، فسيتم إنشاء حاصل الضرب الديكارتي للمجموعات المقابلة.
أنواع الأنماط التالية مدعومة.
{a,b,c}- تمثل أيًّا من السلاسل البديلةaأوbأوc. يُستبدل النمط بـaفي عنوان الشظية الأولى، ويُستبدل بـbفي عنوان الشظية الثانية، وهكذا. على سبيل المثال، يُنشئexample0{1,2}-1العنوانينexample01-1وexample02-1.{N..M}- نطاق من الأرقام. يُنشئ هذا النمط عناوين الشظايا بمؤشرات متزايدة منNإلىM(بما في ذلكM). على سبيل المثال، يُنشئexample0{1..2}-1العنوانينexample01-1وexample02-1.{0n..0m}- نطاق من الأرقام مع أصفار بادئة. يحافظ هذا النمط على الأصفار البادئة في المؤشرات. على سبيل المثال، يُنشئexample{01..03}-1العناوينexample01-1وexample02-1وexample03-1.{a|b}- أي عدد من المتغيرات المفصولة بالرمز|. يحدد هذا النمط النُسخ المتماثلة. على سبيل المثال، يُنشئexample01-{1|2}النُسختين المتماثلتينexample01-1وexample01-2.
remote، تُجرى المداورة على النُسخ المتماثلة وفق الترتيب المضبوط حاليًا في إعداد load_balancing.
عدد العناوين المُنشأة مقيَّد بإعداد table_function_remote_max_addresses.