الانتقال إلى المحتوى الرئيسي

الصيغة

راجع “ملخص الأوامر” لمزيد من التفاصيل عن كل أمر.

تهيئة وجهات النسخ الاحتياطي للقرص

إعداد وجهة النسخ الاحتياطي للقرص المحلي

في الأمثلة أدناه، ستظهر وجهة النسخ الاحتياطي بالشكل Disk('backups', '1.zip'). ولاستخدام محرك النسخ الاحتياطي Disk، يجب أولاً إضافة ملف يحدد وجهة النسخ الاحتياطي في المسار أدناه:
على سبيل المثال، يحدّد الإعداد أدناه قرصًا باسم backups، ثم يضيف هذا القرص إلى قائمة allowed_disk الخاصة بـ backups:

تهيئة وجهة نسخ احتياطي لقرص S3

يمكن أيضًا إجراء BACKUP/RESTORE إلى S3 عبر تهيئة قرص S3 ضمن إعدادات التخزين في ClickHouse. هيّئ القرص كما يلي، وذلك بإضافة ملف إلى /etc/clickhouse-server/config.d كما فُعل أعلاه للقرص المحلي.
يُجرى BACKUP/RESTORE لقرص S3 بالطريقة نفسها كما هو الحال مع القرص المحلي:
  • يجب عدم استخدام هذا القرص مع MergeTree نفسه، وإنما فقط مع BACKUP/RESTORE
  • إذا كانت جداولك تعتمد على تخزين S3 وكانت أنواع الأقراص مختلفة، فلن تُستخدَم استدعاءات CopyObject لنسخ الأجزاء إلى حاوية الوجهة، بل سيجري تنزيلها ثم إعادة رفعها، وهذا غير فعّال جدًا. في هذه الحالة، يُفضَّل استخدام الصيغة BACKUP ... TO S3(<endpoint>) لهذا الغرض.

أمثلة على استخدام النسخ الاحتياطي والاستعادة على القرص المحلي

أخذ نسخة احتياطية من جدول واستعادته

نفّذ الأوامر التالية لإنشاء قاعدة بيانات الاختبار والجدول اللذين سنُجري عليهما نسخة احتياطية واستعادة في هذا المثال:
أنشئ قاعدة البيانات والجدول:
أدرِج ألف صف من البيانات العشوائية:
بعد ذلك، ستحتاج إلى إنشاء ملف يحدّد وجهة النسخة الاحتياطية في المسار التالي:
إذا كان clickhouse-server قيد التشغيل، فستحتاج إلى إعادة تشغيله حتى تسري التغييرات.
لأخذ نسخة احتياطية من الجدول، يمكنك تشغيل:
Query
Response
يمكن استعادة الجدول من النسخة الاحتياطية بالأمر التالي إذا كان الجدول فارغًا:
Query
Response
سيفشل RESTORE أعلاه إذا كان الجدول test.table يحتوي على بيانات. يتيح الإعداد allow_non_empty_tables=true لـ RESTORE TABLE إدراج البيانات في الجداول غير الفارغة. سيؤدي ذلك إلى مزج البيانات الموجودة مسبقًا في الجدول مع البيانات المستخرجة من النسخة الاحتياطية. لذلك قد يتسبب هذا الإعداد في تكرار البيانات داخل الجدول، ويجب استخدامه بحذر.
لاستعادة الجدول مع وجود بيانات فيه مسبقًا، شغّل:
يمكن استعادة الجداول أو إنشاء نسخ احتياطية منها بأسماء جديدة:
يحتوي أرشيف هذه النسخة الاحتياطية على البنية التالية:
يمكن استخدام تنسيقات أخرى غير zip. راجع “النسخ الاحتياطية كأرشيفات tar” أدناه لمزيد من التفاصيل.

النسخ الاحتياطية التزايدية إلى القرص

النسخة الاحتياطية الأساسية في ClickHouse هي النسخة الاحتياطية الكاملة الأولية التي تُنشأ انطلاقًا منها النسخ الاحتياطية التزايدية اللاحقة. ولا تخزّن النسخ الاحتياطية التزايدية سوى التغييرات التي أُجريت منذ إنشاء النسخة الاحتياطية الأساسية، لذلك يجب إبقاء النسخة الاحتياطية الأساسية متاحة لكي تتمكن من الاستعادة من أي نسخة احتياطية تزايدية. ويمكن تعيين وجهة النسخة الاحتياطية الأساسية باستخدام الإعداد base_backup.
تعتمد النسخ الاحتياطية التزايدية على النسخة الاحتياطية الأساسية. ويجب إبقاء النسخة الاحتياطية الأساسية متاحة حتى تتمكن من الاستعادة من نسخة احتياطية تزايدية.
لإنشاء نسخة احتياطية تزايدية لجدول، أنشئ أولاً نسخة احتياطية أساسية:
يمكن استعادة جميع البيانات من النسخة الاحتياطية التزايدية والنسخة الاحتياطية الأساسية إلى جدول جديد test_db.test_table2 باستخدام الأمر:

تأمين نسخة احتياطية

يمكن تعيين كلمة مرور على ملفات النسخ الاحتياطية المكتوبة على القرص. يمكن تحديد كلمة المرور باستخدام الإعداد password.
لا تُدعَم الحماية بكلمة مرور إلا لأرشيفات ZIP (.zip, .zipx). يجب أن ينتهي مسار النسخة الاحتياطية بـ .zip أو .zipx حتى تُقبل كلمة المرور. سيؤدي استخدام كلمة مرور مع أي تنسيق آخر - بما في ذلك أرشيفات tar والمسارات غير المؤرشفة - إلى ظهور الخطأ BAD_ARGUMENTS:‏ Password is not applicable, backup cannot be encrypted.
لاستعادة نسخة احتياطية محمية بكلمة مرور، يجب تحديد كلمة المرور مرة أخرى باستخدام الإعداد password:

النسخ الاحتياطية كأرشيفات tar

يمكن تخزين النسخ الاحتياطية ليس فقط كأرشيفات zip، بل أيضًا كأرشيفات tar. وتبقى الوظائف نفسها كما في zip، باستثناء أن الحماية بكلمة مرور غير مدعومة في أرشيفات tar. بالإضافة إلى ذلك، تدعم أرشيفات tar مجموعة متنوعة من طرق الضغط. لإنشاء نسخة احتياطية من جدول كأرشيف tar:
للاستعادة من أرشيف tar:
لتغيير طريقة الضغط، يجب إضافة امتداد الملف الصحيح إلى اسم النسخة الاحتياطية. على سبيل المثال، لضغط أرشيف tar باستخدام gzip، شغّل:
امتدادات ملفات الضغط المدعومة هي:
  • tar.gz
  • .tgz
  • tar.bz2
  • tar.lzma
  • .tar.zst
  • .tzst
  • .tar.xz

إعدادات الضغط

يمكن تحديد أسلوب الضغط ومستوى الضغط باستخدام الإعدادين compression_method وcompression_level، على التوالي.

استعادة تقسيمات محددة

إذا كانت هناك حاجة إلى استعادة تقسيمات محددة مرتبطة بجدول، فيمكن تحديدها. لنُنشئ جدولًا بسيطًا مُقسّمًا إلى أربعة تقسيمات، ونُدرج بعض البيانات فيه، ثم نأخذ نسخة احتياطية من التقسيمين الأول والرابع فقط:
شغّل الأمر التالي لأخذ نسخة احتياطية من التقسيمين 1 و4:
نفّذ الأمر التالي لاستعادة التقسيمين 1 و4:
آخر تعديل في ٢٥ يونيو ٢٠٢٦