الانتقال إلى المحتوى الرئيسي
يمكن دمج ClickHouse بسهولة في البنى التحتية لقواعد بيانات OLTP بطرق عديدة. ومن بين هذه الطرق نقل البيانات بين قواعد البيانات الأخرى وClickHouse باستخدام تفريغات SQL.

إنشاء تفريغ SQL

يمكن إنشاء تفريغ SQL للبيانات بتنسيق SQL باستخدام SQLInsert. سيكتب ClickHouse البيانات بصيغة INSERT INTO <table name> VALUES(... وسيستخدم خيار الإعداد output_format_sql_insert_table_name كاسمٍ للجدول:
يمكن الاستغناء عن أسماء الأعمدة بتعطيل الخيار output_format_sql_insert_include_column_names:
الآن يمكننا إدخال ملف dump.sql إلى قاعدة بيانات OLTP أخرى:
نفترض أن جدول some_table موجود في قاعدة بيانات MySQL ‏some_db. قد تفرض بعض نظم إدارة قواعد البيانات حدودًا على عدد القيم التي يمكن معالجتها ضمن دفعة واحدة. افتراضيًا، ينشئ ClickHouse دفعات من 65 ألف قيمة، ولكن يمكن تغيير ذلك باستخدام الخيار output_format_sql_insert_max_batch_size:

تصدير مجموعة من القيم

يوفّر ClickHouse تنسيق Values، وهو مشابه لـ SQLInsert، لكنه يحذف الجزء INSERT INTO table VALUES ويُرجع القيم فقط:

إدراج البيانات من تفريغ SQL

لقراءة تفريغ SQL، يُستخدم MySQLDump:
افتراضيًا، يتخطّى ClickHouse الأعمدة غير المعروفة (ويتحكّم في ذلك الخيار input_format_skip_unknown_fields)، ويعالج البيانات لأول جدول يُعثر عليه في ملف تفريغ (إذا جرى تفريغ عدة جداول في ملف واحد). وسيتم تخطّي عبارات DDL. لتحميل البيانات من ملف تفريغ MySQL إلى جدول (ملف mysql.sql):
يمكننا أيضًا إنشاء جدول تلقائيًا من ملف تفريغ MySQL:
أنشأنا هنا جدولًا باسم table_from_mysql بالاستناد إلى بنية استنتجها ClickHouse تلقائيًا. ويحدّد ClickHouse الأنواع إما استنادًا إلى البيانات أو باستخدام DDL عند توفره:

تنسيقات أخرى

يدعم ClickHouse العديد من التنسيقات، النصية والثنائية، لتلبية سيناريوهات ومنصات متنوعة. استكشف المزيد من التنسيقات وطرق العمل معها في المقالات التالية: واطّلع أيضًا على clickhouse-local — وهي أداة محمولة كاملة الميزات للعمل مع الملفات المحلية/البعيدة دون الحاجة إلى ClickHouse server.
آخر تعديل في ٢ يوليو ٢٠٢٦