إنشاء لقطة
BACKUP مع experimental_lightweight_snapshot = true. ويُعدّ الإعداد id مطلوبًا — إذ يحدد اسم اللقطة ويُستخدم للإشارة إليها في أوامر unlock والأوبزرفابيليتي:
id وstatus، ويمكن استخدام id لتتبّع العملية في system.backups.
أنشئ نسخة احتياطية لجدول واحد على S3:
الاستعادة إلى الخدمة نفسها
snapshot_from_current_service = 1. يقرأ هذا الكائنات مباشرةً عبر قرص الوجهة بدلًا من المرور عبر قارئ لقطات بعيد:
AS البيانات إلى جدول باسم جديد، مع إبقاء الجدول الأصلي دون تغيير. وللاستبدال بالجدول الأصلي، احذفه أولًا:
فكّ قفل لقطة
FROM اختياريًا إذا كانت وجهة اللقطة محفوظة في Keeper وقت الإنشاء (كما يظهر في العمود info ضمن system.snapshot_locks):
system.snapshot_locks، كما تُزال الأجزاء التي لم تعد لقطات أخرى تشير إليها من system.snapshot_parts.
الأوبزرفابيليتي
system.backups
system.backups إلى جانب عمليات النسخ الاحتياطي والاستعادة العادية. استعلم منه باستخدام id الذي عيّنته (أو معرّف UUID الذي أعاده الأمر):
system.snapshot_locks
system.snapshot_locks اللقطات المعتمدة والمسجَّلة حاليًا في Keeper. عند اعتماد لقطة، تُنشأ عقدة في Keeper عند /clickhouse/snapshot/committed/{snapshot_id}. قبل حذف أي جزء بيانات، يتحقق الخادم مما إذا كانت لقطة معتمدة تحتفظ بقفل على ذلك الجزء. وإذا كان الأمر كذلك، يُتخطى الحذف. ويستمر القفل إلى أن تُلغي قفل اللقطة صراحةً.
يمثّل كل صف لقطة مُعتمدة واحدة. إذا رأيت أقفالًا للقطات لم تعد لها وجهة نسخ احتياطي صالحة، فشغّل
SYSTEM UNLOCK SNAPSHOT لإزالتها.
للتحقق مما إذا كان قفل لقطة محددة موجودًا:
system.snapshot_parts
system.snapshot_parts أجزاء البيانات المرتبطة حاليًا بقفل لقطة واحد على الأقل. ولكل جزء بيانات مقفَل، توجد عقدة Keeper عند /clickhouse/snapshot/{table_uuid}/{part_name} تتضمن حجمه المضغوط وغير المضغوط. ويقرأ هذا الجدول تلك العقد ليوضح الأجزاء المحمية حاليًا من الحذف.
الأجزاء التي تكون فيها
snapshots_size > 1 تكون مُشارًا إليها من عدة لقطات، ولن تُزال من تخزين الكائنات حتى يُرفع القفل عن جميع اللقطات التي تحتفظ بها.
للتحقق من إجمالي التخزين المُثبّت: