Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ترحيل إلى ClickHouse باستخدام clickhouse-local

ترحيل ClickHouse مُدار ذاتيًا

يمكنك استخدام ClickHouse، أو بشكل أكثر تحديدًا، clickhouse-local كأداة ETL لترحيل البيانات من نظام قاعدة البيانات الحالي لديك إلى ClickHouse Cloud، ما دام يتوفر لنظام قاعدة البيانات الحالي لديك إما محرك تكامل توفّره ClickHouse أو دالة جدول، بحسب الحالة، أو JDBC driver أو ODBC driver يوفّره مورّد النظام.

نُطلق أحيانًا على طريقة الترحيل هذه اسم طريقة "pivot"، لأنها تستخدم نقطة ارتكاز أو محطة وسيطة لنقل البيانات من قاعدة البيانات المصدر إلى قاعدة البيانات الهدف. على سبيل المثال، قد تكون هذه الطريقة مطلوبة إذا كانت الاتصالات الصادرة فقط مسموحًا بها من داخل شبكة خاصة أو داخلية بسبب متطلبات الأمان، وبالتالي تحتاج إلى سحب البيانات من قاعدة البيانات المصدر باستخدام clickhouse-local، ثم دفع البيانات إلى قاعدة بيانات ClickHouse الهدف، بحيث يعمل clickhouse-local كنقطة ارتكاز.

يوفّر ClickHouse محركات تكامل ودوال جداول (تنشئ محركات تكامل ديناميكيًا) لـ MySQL، وPostgreSQL، وMongoDB، وSQLite. أما بالنسبة إلى جميع أنظمة قواعد البيانات الشائعة الأخرى، فتتوفّر JDBC driver أو ODBC driver من مورّد النظام.

ما هو clickhouse-local؟

ترحيل ClickHouse المُدار ذاتيًا

عادةً ما يُشغَّل ClickHouse على شكل عنقود، حيث تعمل عدة مثيلات من محرك قاعدة بيانات ClickHouse بصورة موزعة عبر خوادم مختلفة.

على خادم واحد، يُشغَّل محرك قاعدة بيانات ClickHouse كجزء من برنامج clickhouse-server. ويُضبط الوصول إلى قاعدة البيانات (paths وusers وsecurity و…) باستخدام ملف إعدادات الخادم.

تتيح لك أداة clickhouse-local استخدام محرك قاعدة بيانات ClickHouse بصورة معزولة كأداة لسطر الأوامر، لتنفيذ معالجة سريعة جدًا لبيانات SQL على قدر كبير من المدخلات والمخرجات، من دون الحاجة إلى إعداد خادم ClickHouse وتشغيله.

تثبيت clickhouse-local

تحتاج إلى جهاز مضيف لـ clickhouse-local لديه وصول شبكي إلى كلٍّ من نظام قاعدة البيانات المصدر الحالي لديك وخدمة ClickHouse Cloud المستهدفة.

على هذا الجهاز المضيف، نزّل الإصدار المناسب من clickhouse-local وفقًا لنظام التشغيل على جهازك:

  1. أبسط طريقة لتنزيل clickhouse-local محليًا هي تشغيل الأمر التالي:
curl https://clickhouse.com/ | sh
  1. شغّل clickhouse-local (سيطبع رقم إصداره فقط):
./clickhouse-local
إدارة قائمة الوصول إلى IP

من قائمة خدمات ClickHouse Cloud، اختر الخدمة التي ستعمل عليها ثم انتقل إلى Settings. إذا كانت قائمة الوصول إلى IP لا تتضمن عنوان IP أو نطاق العناوين الخاص بالنظام البعيد الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud، يمكنك حل المشكلة باستخدام Add IPs:

تحقق مما إذا كانت الخدمة تسمح بمرور الزيارات من عنوان IP الخاص بك ضمن قائمة الوصول إلى IP

أضف عنوان IP الفردي أو نطاق العناوين الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud. عدّل النموذج بما يناسبك ثم انقر على Save.

أضف عنوان IP الحالي إلى قائمة الوصول إلى IP في ClickHouse Cloud

مثال: الترحيل من MySQL إلى ClickHouse Cloud باستخدام محرك Integration

سنستخدم محرك جدول Integration (الذي يُنشأ لحظيًا بواسطة دالة الجدول mysql) لقراءة البيانات من قاعدة بيانات MySQL المصدر، وسنستخدم دالة الجدول remoteSecure لكتابة البيانات في جدول وجهة على خدمة ClickHouse Cloud الخاصة بك.

ترحيل ClickHouse المُدار ذاتيًا

في خدمة ClickHouse Cloud الوجهة:

أنشئ قاعدة البيانات الهدف:

  CREATE DATABASE db

أنشئ جدول الوجهة ببنية مكافئة لجدول MySQL:

  CREATE TABLE db.table ...

على الجهاز المضيف الذي يعمل عليه clickhouse-local:

شغِّل clickhouse-local باستخدام استعلام الترحيل:

  ./clickhouse-local --query "
INSERT INTO FUNCTION
remoteSecure('HOSTNAME.clickhouse.cloud:9440', 'db.table', 'default', 'PASS')
SELECT * FROM mysql('host:port', 'database', 'table', 'user', 'password');"
Navigation