Skip to main content
يوضح هذا الدليل كيفية الترحيل من خادم ClickHouse مُدار ذاتيًا إلى ClickHouse Cloud، وكذلك كيفية الترحيل بين خدمات ClickHouse Cloud. تُستخدم الدالة remoteSecure في استعلامات SELECT وINSERT لإتاحة الوصول إلى خوادم ClickHouse البعيدة، مما يجعل ترحيل الجداول بسيطًا بمجرد كتابة استعلام INSERT INTO يتضمن SELECT.

الترحيل من ClickHouse المُدار ذاتيًا إلى ClickHouse Cloud

بغضّ النظر عمّا إذا كان جدول المصدر لديك مُجزّأً و/أو مُكرَّرًا، ففي ClickHouse Cloud لا تحتاج إلا إلى إنشاء جدول وجهة (يمكنك ترك معلمة Engine لهذا الجدول، إذ سيُختار SharedMergeTree تلقائيًا بوصفه محرك الجدول)، وسيتولى ClickHouse Cloud تلقائيًا التوسّع الرأسي والأفقي. ولا حاجة من جانبك للتفكير في كيفية تكرار الجدول أو تجزئته. في هذا المثال، يكون ClickHouse server المُدار ذاتيًا هو المصدر، وتكون خدمة ClickHouse Cloud هي الوجهة.

نظرة عامة

العملية كالتالي:
  1. أضِف مستخدمًا للقراءة فقط إلى خدمة المصدر
  2. أنشئ بنية جدول المصدر نفسها على خدمة الوجهة
  3. اسحب البيانات من المصدر إلى الوجهة، أو ادفعها من المصدر، بحسب مدى توفّر الشبكة لدى المصدر
  4. أزل خادم المصدر من IP Access List على الوجهة (إن أمكن)
  5. أزل المستخدم المخصّص للقراءة فقط من خدمة المصدر

ترحيل الجداول من نظام إلى آخر:

يشرح هذا المثال كيفية ترحيل جدول واحد من خادم ClickHouse مُدار ذاتيًا إلى ClickHouse Cloud.
التوافقإذا كنت تلاحظ اختلافات في السلوك بين عملية نشر ClickHouse ذاتية الاستضافة لديك وخدمة ClickHouse Cloud، فقد يكون ذلك مرتبطًا بـإعداد التوافق. في Cloud، يُضبط التوافق عند إنشاء الخدمة، ولا يتغير على مستوى الخدمة لضمان حصول التطبيقات العميلة على سلوك متسق حتى مع ترقية الخدمة. إذا كنت ترغب في تغيير التوافق، يمكنك طلب ذلك عبر الدعم.

على نظام ClickHouse المصدر (النظام الذي يستضيف البيانات حاليًا)

  • أضف مستخدمًا بصلاحية القراءة فقط يمكنه قراءة الجدول المصدر (db.table في هذا المثال)
  • انسخ تعريف الجدول

في نظام ClickHouse Cloud الوجهة:

  • أنشئ قاعدة البيانات المستهدفة:
  • باستخدام عبارة CREATE TABLE من المصدر، أنشئ الوجهة.
غيّر ENGINE إلى ReplicatedMergeTree من دون أي معلمات عند تشغيل عبارة CREATE. تكون الجداول في ClickHouse Cloud مكرّرة دائمًا، ويوفّر الخدمة المعلمات الصحيحة. مع ذلك، احتفِظ ببنود ORDER BY وPRIMARY KEY وPARTITION BY وSAMPLE BY وTTL وSETTINGS.
  • استخدم الدالة remoteSecure لسحب البيانات من المصدر المُدار ذاتيًا
إذا لم يكن نظام المصدر متاحًا من الشبكات الخارجية، فيمكنك دفع البيانات بدلًا من سحبها، لأن الدالة remoteSecure تعمل مع كلٍّ من عمليات SELECT وINSERT. راجع الخيار التالي.
  • استخدم الدالة remoteSecure لدفع البيانات إلى خدمة ClickHouse Cloud
أضف النظام البعيد إلى IP Access List الخاصة بخدمة ClickHouse Cloudلكي تتمكن الدالة remoteSecure من الاتصال بخدمة ClickHouse Cloud، يجب السماح بعنوان IP الخاص بالنظام البعيد ضمن IP Access List. وسِّع Manage your IP Access List أسفل هذه الملاحظة لمزيد من المعلومات.
من قائمة خدمات ClickHouse Cloud، اختر الخدمة التي ستعمل عليها ثم انتقل إلى Settings. إذا كانت قائمة الوصول إلى IP لا تتضمن عنوان IP أو نطاق العناوين الخاص بالنظام البعيد الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud، يمكنك حل المشكلة باستخدام Add IPs:أضف عنوان IP الفردي أو نطاق العناوين الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud. عدّل النموذج بما يناسبك ثم انقر على Save.

الترحيل بين خدمات ClickHouse Cloud

فيما يلي بعض الاستخدامات الشائعة لترحيل البيانات بين خدمات ClickHouse Cloud:
  • ترحيل البيانات من نسخة احتياطية تمت استعادتها
  • نسخ البيانات من خدمة تطوير إلى خدمة مرحلية (أو من الخدمة المرحلية إلى بيئة production)
في هذا المثال، توجد خدمتان من ClickHouse Cloud، وسيُشار إليهما باسم المصدر والوجهة. ستُسحب البيانات من المصدر إلى الوجهة. ومع أنه يمكنك استخدام الدفع إذا رغبت، فإن السحب هو المعروض هنا لأنه يستخدم مستخدمًا للقراءة فقط. تتضمن عملية الترحيل بضع خطوات:
  1. حدِّد إحدى خدمتي ClickHouse Cloud لتكون المصدر، والأخرى لتكون الوجهة
  2. أضف مستخدمًا للقراءة فقط إلى الخدمة المصدر
  3. أنشئ بنية جدول المصدر نفسها على الخدمة الوجهة
  4. اسمح مؤقتًا بالوصول عبر IP إلى الخدمة المصدر
  5. انسخ البيانات من المصدر إلى الوجهة
  6. أعد تفعيل IP Access List على الوجهة
  7. أزل المستخدم المخصص للقراءة فقط من الخدمة المصدر

أضِف مستخدمًا للقراءة فقط إلى خدمة المصدر

  • أضِف مستخدمًا للقراءة فقط يمكنه قراءة الجدول المصدر (db.table في هذا المثال)
  • انسخ تعريف الجدول

انسخ بنية الجدول إلى خدمة الوجهة

على الوجهة، أنشئ قاعدة البيانات إذا لم تكن موجودة بالفعل:
  • أنشئ قاعدة بيانات الوجهة:
  • باستخدام عبارة CREATE TABLE من المصدر، أنشئ الجدول على الوجهة. على الوجهة، أنشئ الجدول باستخدام ناتج select create_table_query... من المصدر:

اسمح بالوصول عن بُعد إلى خدمة المصدر

لكي تتمكن من سحب البيانات من المصدر إلى الوجهة، يجب أن تسمح خدمة المصدر بالاتصالات. عطّل مؤقتًا ميزة “IP Access List” على خدمة المصدر.
إذا كنت ستواصل استخدام خدمة ClickHouse Cloud المصدر، فصدّر “IP Access List” الحالية إلى ملف JSON قبل التبديل إلى السماح بالوصول من أي مكان؛ فهذا يتيح لك إعادة استيراد قائمة الوصول بعد اكتمال ترحيل البيانات.
عدّل قائمة السماح واسمح بالوصول من Anywhere مؤقتًا. راجع وثائق IP Access List لمزيد من التفاصيل.

انسخ البيانات من المصدر إلى الوجهة

  • استخدم الدالة remoteSecure لسحب البيانات من خدمة ClickHouse Cloud المصدر اتصل بالوجهة. شغّل هذا الأمر على خدمة ClickHouse Cloud الوجهة:
  • تحقّق من البيانات في خدمة الوجهة

أعد إعداد IP Access List على المصدر

إذا كنت قد صدّرت IP Access List سابقًا، فيمكنك إعادة استيرادها باستخدام Share، وإلا فأعد إضافة عناوينك إلى قائمة الوصول.

أزل المستخدم exporter ذو صلاحية القراءة فقط

  • غيّر IP Access List الخاصة بالخدمة لتقييد الوصول
آخر تعديل في ٣ يوليو ٢٠٢٦