إزالة البيانات المكررة

Example of data block deduplication
مثال على إزالة البيانات المكررة من كتل البيانات

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

تتطلب عملية إزالة البيانات المكررة مقارنة "أجزاء" البيانات (المعروفة أيضًا باسم "أنماط البايت")، وهي عبارة عن كتل بيانات فريدة ومتصلة. تُحدد هذه الأجزاء وتُخزن أثناء عملية التحليل، ثم تُقارن بأجزاء أخرى ضمن البيانات الموجودة. عند حدوث تطابق، يُستبدل الجزء المكرر بمرجع صغير يشير إلى الجزء المخزن. ونظرًا لأن نمط البايت نفسه قد يتكرر عشرات أو مئات أو حتى آلاف المرات (يعتمد معدل التطابق على حجم الجزء)، يمكن تقليل كمية البيانات التي يجب تخزينها أو نقلها بشكل كبير. [ 1 ] [ 2 ]

تُعدّ تقنية تخزين البيانات بنسخة واحدة تقنيةً ذات صلة ، حيث تستبدل النسخ المتعددة للمحتوى على مستوى الملف بأكمله بنسخة مشتركة واحدة. ورغم إمكانية دمج هذه التقنية مع أشكال أخرى من ضغط البيانات وإزالة البيانات المكررة، إلا أنها تختلف عن الأساليب الأحدث لإزالة البيانات المكررة (التي يمكن أن تعمل على مستوى المقطع أو الكتلة الفرعية).

تختلف عملية إزالة البيانات المكررة عن خوارزميات ضغط البيانات، مثل LZ77 وLZ78 . فبينما تحدد خوارزميات الضغط البيانات الزائدة داخل الملفات الفردية وتشفّر هذه البيانات الزائدة بكفاءة أكبر، فإن الغرض من إزالة البيانات المكررة هو فحص كميات كبيرة من البيانات وتحديد الأجزاء الكبيرة - مثل الملفات الكاملة أو أجزاء كبيرة من الملفات - المتطابقة، واستبدالها بنسخة مشتركة.

مبدأ التشغيل

على سبيل المثال، قد يحتوي نظام بريد إلكتروني نموذجي على 100 نسخة من نفس المرفق بحجم 1 ميجابايت. في كل مرة يتم فيها نسخ نظام البريد الإلكتروني احتياطيًا، تُحفظ جميع نسخ المرفق، مما يتطلب 100 ميجابايت من مساحة التخزين. مع تقنية إزالة البيانات المكررة، تُخزن نسخة واحدة فقط من المرفق؛ وتُرجع النسخ اللاحقة إلى النسخة المحفوظة، مما يُحقق نسبة إزالة تكرار تقارب 100 إلى 1. غالبًا ما تُدمج تقنية إزالة البيانات المكررة مع ضغط البيانات لتوفير مساحة تخزين إضافية: تُستخدم إزالة البيانات المكررة أولًا للتخلص من أجزاء كبيرة من البيانات المتكررة، ثم يُستخدم الضغط لترميز كل جزء من الأجزاء المخزنة بكفاءة. [ 3 ]

في لغة البرمجة ، تتم إزالة البيانات المكررة، على سبيل المثال، عن طريق تخزين المعلومات في متغيرات بحيث لا يلزم كتابتها بشكل فردي، بل يمكن تغييرها جميعًا دفعة واحدة في موقع مرجعي مركزي . ومن الأمثلة على ذلك فئات CSS والمراجع المسماة في ميدياويكي .

فوائد

تُقلل تقنية إزالة البيانات المكررة القائمة على التخزين من مساحة التخزين المطلوبة لمجموعة معينة من الملفات. وتكون هذه التقنية أكثر فعالية في التطبيقات التي تُخزن فيها نسخ متعددة من بيانات متشابهة جدًا أو حتى متطابقة على قرص واحد. في حالة النسخ الاحتياطي للبيانات، الذي يُجرى بشكل دوري لحماية البيانات من الفقدان، تبقى معظم البيانات في النسخة الاحتياطية دون تغيير عن النسخة السابقة. تحاول أنظمة النسخ الاحتياطي الشائعة استغلال هذا الأمر عن طريق حذف (أو ربط ) الملفات التي لم تتغير أو تخزين الفروقات بين الملفات. مع ذلك، لا تُغطي أي من الطريقتين جميع حالات التكرار. لا يُفيد الربط الصلب مع الملفات الكبيرة التي لم تتغير إلا بشكل طفيف، مثل قاعدة بيانات البريد الإلكتروني؛ إذ لا تُكتشف الفروقات إلا في الإصدارات المتجاورة من الملف الواحد (على سبيل المثال، قسم تم حذفه ثم إضافته لاحقًا، أو صورة شعار مُضمنة في العديد من المستندات).

تُستخدم تقنية إزالة البيانات المكررة المضمنة في الشبكة لتقليل عدد البايتات التي يجب نقلها بين نقاط النهاية، مما قد يقلل من عرض النطاق الترددي المطلوب. راجع قسم تحسين الشبكة الواسعة (WAN) لمزيد من المعلومات.

تستفيد الخوادم الافتراضية وأجهزة سطح المكتب الافتراضية من خاصية إزالة التكرار، لأنها تسمح بدمج ملفات النظام المنفصلة ظاهريًا لكل جهاز افتراضي في مساحة تخزين واحدة. في الوقت نفسه، إذا قام جهاز افتراضي معين بتخصيص ملف، فلن تؤثر عملية إزالة التكرار على الملفات الموجودة على الأجهزة الافتراضية الأخرى، وهو أمر لا توفره بدائل مثل الروابط الصلبة أو الأقراص المشتركة. كما تتحسن عملية النسخ الاحتياطي أو إنشاء نسخ مكررة من البيئات الافتراضية بشكل مماثل.

تصنيف

المعالجة اللاحقة مقابل إزالة التكرارات المضمنة

قد تتم عملية إزالة البيانات المكررة "أثناء تدفق البيانات"، أو "بعد المعالجة" بعد كتابتها.

في تقنية إزالة البيانات المكررة بعد المعالجة، تُخزَّن البيانات الجديدة أولًا على جهاز التخزين، ثم تُحلَّل لاحقًا بواسطة عملية للبحث عن البيانات المكررة. وتكمن الميزة في عدم الحاجة إلى انتظار اكتمال حسابات التجزئة والبحث قبل تخزين البيانات، مما يضمن عدم تدهور أداء التخزين. تتيح التطبيقات التي توفر تشغيلًا قائمًا على السياسات للمستخدمين إمكانية تأجيل التحسين على الملفات "النشطة"، أو معالجة الملفات بناءً على نوعها وموقعها. ومن عيوب هذه التقنية المحتملة تخزين البيانات المكررة لفترة قصيرة دون داعٍ، وهو ما قد يُشكِّل مشكلةً إذا كان النظام يقترب من طاقته الاستيعابية القصوى.

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

تتمثل ميزة إزالة البيانات المكررة أثناء المعالجة المباشرة مقارنةً بإزالتها بعد المعالجة في أنها تتطلب مساحة تخزين أقل وحركة بيانات أقل على الشبكة، حيث لا يتم تخزين البيانات المكررة أو نقلها مطلقًا. أما من ناحية السلبيات، فقد تكون حسابات التجزئة مكلفة حسابيًا، مما يقلل من إنتاجية التخزين. مع ذلك، فقد عرض بعض الموردين الذين يستخدمون تقنية إزالة البيانات المكررة أثناء المعالجة المباشرة أجهزةً تُجري هذه العملية بمعدلات عالية.

تُثار نقاشات حادة حول طرق إزالة التكرار بعد المعالجة وأثناءها. [ 4 ] [ 5 ]

تنسيقات البيانات

يحدد قاموس SNIA طريقتين: [ 2 ]

  • إزالة البيانات المكررة بغض النظر عن المحتوى - طريقة لإزالة البيانات المكررة لا تتطلب معرفة بتنسيقات بيانات التطبيق المحددة. 
  • إزالة البيانات المكررة مع مراعاة المحتوى - طريقة لإزالة البيانات المكررة تستفيد من معرفة تنسيقات بيانات التطبيق المحددة. 

إزالة التكرار من المصدر مقابل إزالة التكرار من الهدف

هناك طريقة أخرى لتصنيف أساليب إزالة البيانات المكررة، وهي بحسب مكان حدوثها. تُسمى إزالة البيانات المكررة التي تحدث بالقرب من مكان إنشائها "إزالة البيانات المكررة المصدرية". أما عندما تحدث بالقرب من مكان تخزين البيانات، فتُسمى "إزالة البيانات المكررة الهدفية".

تضمن عملية إزالة التكرار من المصدر إزالة البيانات المكررة من المصدر نفسه. ويتم ذلك عادةً مباشرةً داخل نظام الملفات. يقوم نظام الملفات دوريًا بفحص الملفات الجديدة، وإنشاء تجزئات لها، ومقارنتها بتجزئات الملفات الموجودة. عند العثور على ملفات لها نفس التجزئات، تُحذف نسخة الملف، ويشير الملف الجديد إلى الملف القديم. على عكس الروابط الصلبة ، تُعتبر الملفات المكررة كيانات منفصلة، ​​وإذا تم تعديل أحد الملفات المكررة لاحقًا، يتم إنشاء نسخة من الملف أو الكتلة المُعدّلة باستخدام نظام يُسمى " النسخ عند الكتابة ". عملية إزالة التكرار شفافة للمستخدمين وتطبيقات النسخ الاحتياطي. غالبًا ما يؤدي نسخ نظام ملفات تمت إزالة التكرار منه احتياطيًا إلى حدوث تكرار، مما يجعل حجم النسخ الاحتياطية أكبر من حجم بيانات المصدر. [ 6 ] [ 7 ]

يمكن تحديد إزالة البيانات المكررة من المصدر بشكل صريح لعمليات النسخ، إذ لا حاجة لأي حسابات لمعرفة أن البيانات المنسوخة بحاجة إلى إزالة التكرار. يؤدي هذا إلى ظهور شكل جديد من الروابط في أنظمة الملفات، يُسمى رابطًا مرجعيًا مُعَدَّدًا ( reflink ) في بعض الأنظمة (مثل لينكس)، [ 8 ] أو ملفًا مُستنسخًا في نظام macOS، حيث يتم إنشاء عقدة واحدة أو أكثر (مدخلات معلومات الملف) لمشاركة بعض أو كل بياناتها. سُميت هذه الروابط تشبيهًا بالروابط الصلبة ، التي تعمل على مستوى العقدة، والروابط الرمزية ، التي تعمل على مستوى اسم الملف. تتميز المدخلات الفردية بسلوك نسخ عند الكتابة غير مُتداخل، أي أن تغيير نسخة واحدة لاحقًا لن يؤثر على النسخ الأخرى. [ 9 ] يدعم نظام الملفات ReFS من مايكروسوفت هذه العملية أيضًا. [ 10 ]

إزالة البيانات المكررة من الهدف هي عملية إزالة البيانات المكررة عندما لا تكون قد أُنشئت في ذلك الموقع. مثال على ذلك خادم متصل بشبكة تخزين (SAN/NAS)، حيث تُعتبر شبكة التخزين هدفًا للخادم (إزالة البيانات المكررة من الهدف). لا يدرك الخادم أي عملية إزالة للبيانات المكررة، وهو أيضًا مصدر إنشاء البيانات. مثال آخر هو النسخ الاحتياطي، والذي يكون عادةً عبارة عن مخزن نسخ احتياطي مثل مستودع بيانات أو مكتبة أشرطة افتراضية .

أساليب إزالة البيانات المكررة

تعتمد إحدى أكثر طرق إزالة البيانات المكررة شيوعًا على مقارنة أجزاء البيانات للكشف عن التكرارات. ولتحقيق ذلك، يُخصص لكل جزء من البيانات مُعرّفٌ يُحسب بواسطة البرنامج، عادةً باستخدام دوال التجزئة المشفرة. في العديد من التطبيقات، يُفترض أن البيانات متطابقة إذا كان المُعرّف متطابقًا، مع أن هذا الافتراض لا ينطبق على جميع الحالات بسبب مبدأ التوزيع العشوائي . بينما لا تفترض تطبيقات أخرى تطابق كتلتين من البيانات تحملان نفس المُعرّف، بل تتحقق فعليًا من تطابق البيانات التي تحمل نفس المُعرّف. [ 11 ] إذا افترض البرنامج وجود مُعرّف مُعين مُسبقًا في مساحة أسماء إزالة التكرار، أو تحقق فعليًا من هوية كتلتي البيانات، فإنه سيستبدل الجزء المُكرر برابط، وذلك حسب التطبيق.

بعد إزالة البيانات المكررة، عند إعادة قراءة الملف، يستبدل النظام أي رابط موجود بجزء البيانات المشار إليه. تهدف عملية إزالة البيانات المكررة إلى أن تكون شفافة للمستخدمين النهائيين والتطبيقات.

تختلف تطبيقات إزالة البيانات المكررة التجارية باختلاف أساليب تقسيم البيانات وهياكلها.

  • التجزئة: في بعض الأنظمة، تُحدد أجزاء الملفات بقيود الطبقة الفيزيائية (مثل  حجم الكتلة 4 كيلوبايت في WAFL ). وفي أنظمة أخرى، تُقارن الملفات الكاملة فقط، وهو ما يُسمى التخزين أحادي النسخة (SIS). تُعتبر طريقة التجزئة بالكتلة المنزلقة، أو التجزئة المُحددة بالمحتوى ، الطريقة الأكثر ذكاءً (لكنها تستهلك موارد المعالج بكثافة) للتجزئة . في هذه الطريقة، تُمرر نافذة على طول تدفق الملف للبحث عن حدود الملفات الداخلية الأكثر طبيعية.
  • إزالة البيانات المكررة من النسخ الاحتياطية للعميل: في هذه العملية، تُنشأ حسابات التجزئة لإزالة البيانات المكررة مبدئيًا على أجهزة المصدر (العميل). لا تُرسل الملفات التي لها تجزئات مطابقة لملفات موجودة بالفعل على الجهاز الهدف، بل يقوم الجهاز الهدف بإنشاء روابط داخلية مناسبة للإشارة إلى البيانات المكررة. وتكمن فائدة ذلك في تجنب إرسال البيانات غير الضرورية عبر الشبكة، مما يقلل من حجم البيانات المنقولة.
  • التخزين الأساسي والتخزين الثانوي: تُصمَّم أنظمة التخزين الأساسي، بحكم تعريفها، لتحقيق الأداء الأمثل، وليس لأقل تكلفة ممكنة. ويتمثل معيار تصميم هذه الأنظمة في زيادة الأداء، على حساب اعتبارات أخرى. علاوة على ذلك، فإن أنظمة التخزين الأساسي أقل تحملاً لأي عملية قد تؤثر سلبًا على الأداء. كما تحتوي أنظمة التخزين الثانوي، بحكم تعريفها أيضًا، على نسخ مكررة أو ثانوية من البيانات. ولا تُستخدم هذه النسخ عادةً في عمليات الإنتاج الفعلية، وبالتالي فهي أكثر تحملاً لبعض التراجع في الأداء، مقابل زيادة الكفاءة.

حتى الآن، استُخدمت تقنية إزالة البيانات المكررة بشكل أساسي مع أنظمة التخزين الثانوية. ويعود ذلك لسببين رئيسيين: أولهما، أن هذه التقنية تتطلب جهدًا إضافيًا لاكتشاف البيانات المكررة وإزالتها، وهو ما قد يؤثر سلبًا على أداء أنظمة التخزين الأساسية. أما السبب الثاني، فهو أن البيانات الثانوية غالبًا ما تحتوي على كميات أكبر من البيانات المكررة، لا سيما تطبيقات النسخ الاحتياطي التي تُنتج عادةً كميات كبيرة من البيانات المكررة بمرور الوقت.

تم نشر تقنية إزالة البيانات المكررة بنجاح مع التخزين الأساسي في بعض الحالات التي لا يتطلب فيها تصميم النظام تكاليف إضافية كبيرة، أو يؤثر على الأداء.

تخزين نسخة واحدة

التخزين أحادي النسخة (SIS) هو قدرة النظام على أخذ نسخ متعددة من عناصر المحتوى واستبدالها بنسخة واحدة مشتركة. وهو وسيلة للتخلص من تكرار البيانات وزيادة الكفاءة. يُستخدم التخزين أحادي النسخة بكثرة في أنظمة الملفات ، وبرامج خوادم البريد الإلكتروني ، ونسخ البيانات الاحتياطية ، وغيرها من برامج الحاسوب المتعلقة بالتخزين. يُعد التخزين أحادي النسخة شكلاً بسيطاً من أشكال إزالة تكرار البيانات. فبينما قد تعمل إزالة تكرار البيانات على مستوى القطاع أو الكتلة الفرعية، يعمل التخزين أحادي النسخة على مستوى الكائن، مما يُزيل النسخ الزائدة من الكائنات مثل الملفات الكاملة أو رسائل البريد الإلكتروني. [ 12 ]

يمكن استخدام التخزين أحادي النسخة جنبًا إلى جنب (أو فوق) طرق تكرار البيانات أو ضغط البيانات الأخرى لتحسين الأداء مقابل زيادة في التعقيد و (في بعض الحالات) زيادة طفيفة في متطلبات مساحة التخزين.

العيوب والمخاوف

تعتمد إحدى طرق إزالة البيانات المكررة على استخدام دوال التجزئة المشفرة لتحديد أجزاء البيانات المكررة. إذا ولّدت معلومتان مختلفتان نفس قيمة التجزئة، يُعرف ذلك بالتصادم . يعتمد احتمال التصادم بشكل أساسي على طول التجزئة (انظر هجوم عيد الميلاد ). وبالتالي، يبرز القلق من إمكانية تلف البيانات في حال حدوث تصادم تجزئة ، وعدم استخدام وسائل تحقق إضافية للتحقق من وجود اختلاف في البيانات من عدمه. قد توفر كل من البنى المضمنة واللاحقة التحقق من صحة البيانات الأصلية بتًا بتًا لضمان سلامة البيانات. تشمل دوال التجزئة المستخدمة معايير مثل SHA-1 و SHA-256 وغيرها.

قد يُمثل استهلاك موارد الحوسبة العالية في عملية إزالة البيانات المكررة عائقًا. ولتحسين الأداء، تستخدم بعض الأنظمة كلاً من التجزئة الضعيفة والتجزئة القوية. تتميز التجزئة الضعيفة بسرعة حسابها، ولكنها تزيد من خطر حدوث تصادم في التجزئة. تقوم الأنظمة التي تستخدم التجزئة الضعيفة بحساب تجزئة قوية لاحقًا، وتستخدمها كمعيار لتحديد ما إذا كانت البيانات هي نفسها أم لا. تجدر الإشارة إلى أن العبء الإضافي للنظام المرتبط بحساب قيم التجزئة والبحث عنها يعتمد بشكل أساسي على آلية عمل إزالة البيانات المكررة. لا تتطلب إعادة بناء الملفات هذه المعالجة، ومن غير المرجح أن يؤثر أي انخفاض طفيف في الأداء مرتبط بإعادة تجميع أجزاء البيانات على أداء التطبيق.

ومن المخاوف الأخرى التفاعل بين الضغط والتشفير. يهدف التشفير إلى إزالة أي أنماط قابلة للتمييز في البيانات. وبالتالي، لا يمكن إزالة البيانات المكررة من البيانات المشفرة، حتى لو كانت البيانات الأصلية زائدة عن الحاجة.

على الرغم من أن إزالة البيانات المكررة لا تُعدّ عيبًا في هذه التقنية، فقد حدثت اختراقات للبيانات عند استخدام إجراءات أمنية غير كافية وإجراءات تحقق من الوصول غير مناسبة مع مستودعات البيانات الكبيرة التي تمت إزالة البيانات المكررة منها. في بعض الأنظمة، كما هو الحال مع التخزين السحابي، يمكن للمهاجم استرداد بيانات مملوكة للآخرين بمعرفة أو تخمين قيمة التجزئة للبيانات المطلوبة. [ 13 ]

التطبيقات

تُطبَّق خاصية إزالة البيانات المكررة في بعض أنظمة الملفات مثل ZFS أو Write Anywhere File Layout ، وفي نماذج مختلفة لمصفوفات الأقراص . وهي خدمة متوفرة على كلٍّ من NTFS و ReFS على خوادم ويندوز.

انظر أيضاً

مراجع

  1. "فهم إزالة البيانات المكررة" . دروفا . 9 يناير 2009. مؤرشف من الأصل في 6 أغسطس 2019. تم الاطلاع عليه في 6 أغسطس 2019 .
  2. 1 2 "قاموس SNIA » قاموس D" . مؤرشف من الأصل بتاريخ 24-12-2018 . تم الاطلاع عليه بتاريخ 06-12-2023 . 
  3. الضغط، وإزالة التكرار، والتشفير: ما الفرق؟ مؤرشف بتاريخ ٢٣ ديسمبر ٢٠١٨ في أرشيف الإنترنت (Wayback Machine) ، بقلم ستيفن بيجلو وبول كروتشيتي
  4. "إزالة التكرارات أثناء المعالجة أو بعدها؟ (تم التحديث في 6-08)" . مركز النسخ الاحتياطي. مؤرشف من الأصل في 2009-12-06 . تم الاطلاع عليه في 2023-12-06 .
  5. "أجهزة إزالة البيانات المكررة المضمنة مقابل أجهزة إزالة البيانات المكررة اللاحقة" . techtarget.com. مؤرشف من الأصل بتاريخ 9 يونيو 2009. تم الاطلاع عليه بتاريخ 6 ديسمبر 2023 .
  6. "Windows Server 2008: Windows Storage Server 2008" . Microsoft.com. مؤرشف من الأصل بتاريخ 4 أكتوبر 2009. تم الاطلاع عليه بتاريخ 16 أكتوبر 2009 .
  7. "المنتجات - نظام التشغيل الأساسي" . NetApp. مؤرشف من الأصل بتاريخ 2010-02-06 . تم الاطلاع عليه بتاريخ 2009-10-16 .
  8. "استدعاء النظام reflink(2) الإصدار 5" . lwn.net . مؤرشف من الأصل بتاريخ 2015-10-02 . تم الاطلاع عليه بتاريخ 2019-10-04 .
  9. "ioctl_ficlonerange(2)". Linux Manual Page. Archived from the original on 2019-10-07. Retrieved 2019-10-04.
  10. Kazuki MATSUDA. "Add clonefile on Windows over ReFS support". GitHub. Archived from the original on 2021-01-13. Retrieved 2020-02-23.
  11. An example of an implementation that checks for identity rather than assuming it is described in "US Patent application # 20090307251"Archived 2017-01-15 at the Wayback Machine.
  12. Explaining deduplication rates and single-instance storage to clientsArchived 2018-12-23 at the Wayback Machine. George Crump, Storage Switzerland
  13. CHRISTIAN CACHIN; MATTHIAS SCHUNTER (December 2011). "A Cloud You Can Trust". IEEE Spectrum. IEEE. Archived from the original on 2012-01-02. Retrieved 2011-12-21.