
يمكنك استخدام 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-server. ويُضبط الوصول إلى قاعدة البيانات (paths وusers وsecurity و…) باستخدام ملف إعدادات الخادم.
تتيح لك أداة clickhouse-local استخدام محرك قاعدة بيانات ClickHouse بصورة معزولة كأداة لسطر الأوامر، لتنفيذ معالجة سريعة جدًا لبيانات SQL على قدر كبير من المدخلات والمخرجات، من دون الحاجة إلى إعداد خادم ClickHouse وتشغيله.
تثبيت clickhouse-local
تحتاج إلى جهاز مضيف لـ clickhouse-local لديه وصول شبكي إلى كلٍّ من نظام قاعدة البيانات المصدر الحالي لديك وخدمة ClickHouse Cloud المستهدفة.
على هذا الجهاز المضيف، نزّل الإصدار المناسب من clickhouse-local وفقًا لنظام التشغيل على جهازك:
- أبسط طريقة لتنزيل
clickhouse-localمحليًا هي تشغيل الأمر التالي:
curl https://clickhouse.com/ | sh- شغّل
clickhouse-local(سيطبع رقم إصداره فقط):
./clickhouse-local- أبسط طريقة لتنزيل
clickhouse-localمحليًا هي تشغيل الأمر التالي:
curl https://clickhouse.com/ | sh- شغّل
clickhouse-local(سيطبع رقم إصداره فقط):
./clickhouse localإدارة قائمة الوصول إلى IP
من قائمة خدمات ClickHouse Cloud، اختر الخدمة التي ستعمل عليها ثم انتقل إلى Settings. إذا كانت قائمة الوصول إلى IP لا تتضمن عنوان IP أو نطاق العناوين الخاص بالنظام البعيد الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud، يمكنك حل المشكلة باستخدام Add IPs:

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

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

في خدمة 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');"