data deduplication چیست

نویسنده:

دسته:

تاریخ انتشار:


ذخیره‌سازی درست داده‌ها از مهم‌ترین دغدغه‌های کسب و کارها، سازمان‌ها و به طور کلی گروه‌هایی است که با حجم زیادی از داده سروکار دارند. از آنجایی که تهیه فضای ذخیره‌سازی هم هزینه‌بردار است و هم نیاز به فراهم‌سازی مکانی خاص و مطمئن دارد، کاهش هر چه بیشتر داده‌ها به نفع گروه‌ها است. نکته‌ای که در مورد ذخیره‌سازی داده‌ها وجود دارد این است که اغلب ورودی‌ها تکراری هستند و فضایی را بیهوده اشغال می‌کنند. اینجاست که Data Deduplication روی کار می‌آید و داده‌های تکراری را به صورت خودکار حذف می‌کند. در این مقاله می‌خواهیم در مورد Data Deduplication، کاربردها، مزایا معایب آن بپردازیم. با ادامه این مطلب ما را همراهی کنید. 

منظور از Data Deduplication چیست؟

حذف داده‌های تکراری (Data Deduplication) نوعی تکنیک فشرده‌سازی داده است. با استفاده از این تکنیک می‌توان کپی‌های غیرضروری از داده‌ها را حذف کرد. در نتیجه، از فضای ذخیره‌سازی می‌توان بهتر استفاده کرد. در واقع، این فناوری بلوک‌ها یا فایل‌های داده تکراری را شناسایی و حذف می‌کند و منجر به صرفه‌جویی در هزینه و افزایش عملکرد سیستم می‌شود. از آنجایی که سازمان‌ها به طور فزاینده‌ای به فرایندهای مبتنی بر داده متکی هستند، data deduplication به یک جنبه اساسی از استراتژی‌های مدیریت داده تبدیل شده است.

به طور کلی بسیاری از داده‌ها به ویژه در محیط‌های سازمانی، مدام کپی و تکرار می‌شوند. به عنوان مثال، ممکن است چندین کارمند یک فایل پیوست شده به ایمیل را دانلود و ذخیره کنند یا سیستم‌های پشتیبان ممکن است فایل‌های یکسانی را بارها و بارها ذخیره کنند. اگر تنها یک نمونه از داده ذخیره شود، فضای زیادی از استوریج خالی می‌شود. 

نکته مثبت این فناوری این است که داده‌های تکراری را به گونه‌ای حذف می‌کند که آسیبی به سیستم و برنامه‌های وابسته به آن داده وارد نشود. به چند دلیل ممکن است یک داده مدام کپی شود:

  • کپی شدن یک داده توسط یک اپلیکیشن برای دسترسی راحت‌تر به آن
  • کپی شدن داده‌ها در طول بک‌آپ‌گیری
  • کپی شدن داده‌های نرم‌افزارهای ساخت موسیقی و ویدئو
  • کپی شدن یک داده توسط چندین کارمند
مدیریت داده ها با Data Deduplication

data deduplication چگونه کار می‌کند؟

data deduplication داده‌ها را بررسی می‌کند. سپس الگوهای تکراری را پیدا می‌کند و تنها یک کپی از هر بلوک یا فایل منحصر به فرد ذخیره می‌کند. وقتی یک داده تکراری شناسایی شود، با یک reference یا pointer داده اصلی جایگزین می‌شود. این فرایند چند مرحله دارد که در ادامه به آنها اشاره می‌کنیم:

  • فهرست‌بندی یا Indexing: داده‌ها قبل از ذخیره‌سازی فهرست‌بندی می‌شوند. با این کار نقشه‌ای از بلوک‌های داده‌ها ایجاد می‌شود. در نتیجه، پیدا کردن داده‌های تکراری راحت‌تر انجام خواهد شد. 
  • Fingerprinting: هر بلوک داده از توابع هش برای تولید یک شناسه منحصر به فرد که به آن اثر انگشت یا مقدار هش می‌گویند، استفاده می‌کند. الگوریتم‌های رایج ساخت اثر انگشت شامل MD5 و SHA-1 می‌شوند که یک امضای دیجیتال برای داده‌ها ایجاد می‌کنند.
  • Comparison یا مقایسه: در این مرحله مقدار هش داده‌های ورودی جدید با داده‌های ذخیره شده قبلی مقایسه می‌شوند. اگر تطابقی پیدا شود، سیستم آن را به عنوان یک داده تکراری تشخیص می‌دهد و فقط رفرنسی از داده اصلی را در آن بخش ذخیره می‌کند. 
  • ذخیره‌سازی یا ایجاد مرجع: پس از مقایسه، اگر داده‌ها منحصر به فرد باشند، به طور کامل ذخیره می‌شوند، در حالی که داده‌های تکراری با ارجاع به داده‌های اصلی جایگزین می‌شوند. در ادامه مثالی می‌آوریم تا بهتر متوجه این فرایند شوید:

فرض کنید سیستمی نیاز به ذخیره سه فایل ۱ مگابایتی دارد:

فایل A: حاوی داده "ABCDEFG"

فایل B: حاوی داده "ABCDEFG"

فایل C: حاوی داده "ABCDEFX"

بدون حذف داده‌های تکراری، این فایل‌ها ۳ مگابایت از فضای ذخیره‌سازی را اشغال می‌کنند. حال اگر داده‌های تکراری حذف شوند:

فایل A به طور عادی ذخیره می‌شود و ۱ مگابایت فضا اشغال می‌کند.

هنگامی که فایل B پردازش می‌شود، سیستم آن را مشابه فایل A تشخیص می‌دهد. به جای ذخیره ۱ مگابایت دیگر، فقط یک پوینتر به فایل A ایجاد می‌کند.

برای فایل C، سیستم تشخیص می‌دهد که بیشتر آن به جز بایت آخر، مشابه فایل A است. فقط بایت منحصر به فرد "X" را ذخیره می‌کند و بقیه را به فایل A ارجاع می‌دهد.

در نتیجه، در استفاده از فضای ذخیره‌سازی صرفه‌جویی می‌شود و به جای ۳ مگابایت، فضایی به اندازه کمی بیشتر از ۱ مگابایت اشغال می‌گردد.

چرا حذف داده‌های تکراری مهم است؟

میزان استفاده شرکت‌ها از داده‌ها با سرعت تصاعدی در حال افزایش است. طبق مطالعات اخیر، میزان داده‌های ایجاد شده در سراسر جهان در سال ۲۰۲۴ به حدود ۱۴۹ زتابایت رسیده است. به همین دلیل، هزینه ذخیره‌سازی داده‌ها نیز در حال افزایش است. 

وقتی داده‌های تکراری را که دائماً روی سرورها و ایستگاه‌های کاری انباشته می‌شوند، در نظر بگیرید، می‌بینید که منحنی رشد داده‌ها می‌تواند نگرانی‌های جدی را در مورد بودجه و امنیت ایجاد کند. هرچه داده‌های بیشتری داشته باشید، به فضای ذخیره‌سازی بیشتری نیاز دارید. با افزایش ذخیره‌سازی میزان سطح حمله به داده‌های شما نیز زیاد می‌شود و هکرها منبع وسیع‌تری برای هدف‌گیری دارند. 

داده‌های تکراری غیرضروری این مشکل را تشدید می‌کنند. با حذف داده‌های تکراری، می‌توانید از شر فایل‌هایی که فضا را می‌بلعند خلاص شوید، هزینه‌های ذخیره‌سازی خود را کاهش دهید و امنیت اطلاعات را افزایش دهید.

کاربرد Data Deduplication

Data Deduplication کاربردهای فراوانی دارد. در ادامه رایج‌ترین کاربردهای آن را می‌آوریم:

Data Deduplication در فایل سرورهای عمومی

فایل سرورهای عمومی فضای ذخیره‌سازی طیف گسترده‌ای از داده‌ها هستند که کارمندان در پوشه‌های مشترک دپارتمان‌ها نگه‌داری می‌کنند. از آنجایی که کاربران زیادی به این سرورها دسترسی دارند و تنوع کاربری هم بالا است، فایل‌های تکراری زیادی در آنها ذخیره می‌شود. از دیگر دلایل زیاد شدن فایل‌های تکراری در سرورهای عمومی می‌توان به موارد زیر اشاره کرد:

  • پشتیبان‌گیری از هارددیسک‌های محلی
  • نصب برنامه‌های مختلف
  • اشتراک‌گذاری فایل‌ها 
  • و...

در نتیجه، Data Deduplication می‌تواند کاربرد زیادی در این بخش داشته باشد. 

کاربرد Data Deduplication

Data Deduplication در فناوری زیرساخت دسکتاپ مجازی (VDI)

فناوری زیرساخت دسکتاپ مجازی، میزبانی و مدیریت متمرکز دسکتاپ‌های مجازی را برای دسترسی از راه دور فراهم می‌کند. مشکل این است که هارددیسک‌های مجازی اغلب یکسان هستند و اطلاعات تکراری زیادی دارند. وقتی تعداد زیادی از کاربران در زمان شروع روز کاری، به طور هم‌زمان از ماشین‌های مجازی استفاده می‌کنند، داده‌های تکراری بسیار زیادی رد و بدل می‌شود و عملکرد به شدت کاهش می‌یابد و در برخی مواقع، متوقف می‌شود. Data Deduplication می‌تواند این مشکل را برطرف کند.

حذف داده‌های تکراری در سیستم‌های ذخیره‌سازی و پشتیبان‌گیری

بک‌آپ گرفتن از اطلاعات بسیار مهم است؛ اما وقتی از فایل‌های تکراری بک‌آپ گرفته شود، نه تنها سیستم ذخیره‌سازی پر می‌شود، بلکه فضای بخش بک‌آپ نیز بیهوده درگیر می‌شود. داده‌های مشابه بارها و بارها کپی می‌شوند. فناوری حذف داده‌های تکراری موجب می‌شود تا بخش بک‌آپ مرتب بماند و از فضای ذخیره‌سازی به شکل بهینه استفاده شود. 

Data Deduplication در انتقال داده‌ها

وقتی داده‌های تکراری حذف شوند، فرایند انتقال داده‌ها نیز کارآمدتر انجام می‌شود. این گونه داده‌ها موجود مجدداً انتقال پیدا نمی‌کنند. حتی در بخش داده‌های آپدیت شده نیز تنها قسمتی از اطلاعات منتقل می‌شود که به‌روزرسانی شده است. این گونه فرایند انتقال/حذف با سرعت بیشتری انجام می‌شود. مخصوصاً زمانی که یک فایل بسیار بزرگ باشد.

Data Deduplication در سیستم‌های بایگانی

معمولاً سیستم‌های بایگانی با پشتیبان‌گیری اشتباه گرفته می‌شوند؛ زیرا هر دو برای ذخیره‌سازی طولانی‌مدت داده‌ها استفاده می‌شوند. سازمان‌ها برای اهداف بازیابی و آمادگی در برابر فاجعه، از داده‌ها پشتیبان‌گیری می‌کنند. در حالی که از سیستم‌های بایگانی برای حفظ داده‌هایی که دیگر فعال نیستند، استفاده می‌شود. وقتی بخش‌های جدیدی به یک سیستم بایگانی اضافه می‌شود، امکان دارد میزان داده‌های تکراری نیز افزایش پیدا کند. با استفاده از فناوری Data Deduplication کارایی بایگانی‌ها به حداکثر می‌رسد. 

انواع Data Deduplication

Data Deduplication انواع مختلفی دارد. اهداف همه آنها یکسان است؛ اما شیوه اجرا و زمان آن با دیگر فرق می‌کند. در ادامه انواع Data Deduplication را می‌آوریم.

Post-process

حذف داده‌های تکراری پس از پردازش، شامل سیستمی است که داده‌های جدید را دریافت کرده و آنها را در یک دستگاه ذخیره‌سازی ذخیره می‌کند. پس از آن، داده‌ها را برای یافتن موارد تکراری بررسی می‌کند. پس داده‌ها اول ذخیره می‌شوند. سپس بررسی می‌گردند و در نهایت، موارد تکراری حذف می‌شوند.

In-line

در این روش تشخیص داده‌های تکراری زمانی اتفاق می‌افتد که داده‌ها برای اولین بار وارد دستگاه ذخیره‌سازی هدف می‌شوند. در این روش، اگر سیستم ذخیره‌سازی داده یک بلوک تکراری از داده‌ها را پیدا کند، فقط یک ارجاع از آن را ذخیره می‌کند. این روش مزیت بیشتری نسبت به روش post-process دارد. زیرا نیاز نیست فضایی برای ذخیره‌سازی داده‌های اضافه داشته باشید و در عین حال، ترافیک شبکه کمتری را اشغال می‌کند.

علت هم این است که داده‌های تکراری اصلاً ذخیره نمی‌شوند که نیازی به فضای ذخیره‌سازی داشته باشند. با این حال، فرایند یافتن داده‌های تکراری نیاز به محاسبات سنگین پردازنده دارد. این امر می‌تواند موجب کاهش توان عملیاتی و ایجاد تأخیر در کارهایی شود که با داده‌ها وابسته هستند. همچنین مصرف برق در این روش بالا است.

Source deduplication

 می‌توان data deduplication را بر اساس محل وقوع فرایند نیز دسته‌بندی کرد. وقتی حذف داده‌های تکراری در بخشی انجام شود که داده‌ها ایجاد می‌شوند، به آن Source deduplication یا حذف داده‌های تکراری از منبع می‌گویند. در این حالت فرایند حذف داده‌های تکراری در فایل سیستمی انجام می‌شود. 

خود فایل سیستمی اسکن فایل‌های جدید را انجام می‌دهد. هنگام انجام این کار، هش‌هایی ایجاد می‌کند که نشان‌دهنده فایل‌هایی هستند که اسکن می‌کند. سپس این هش‌ها با هش‌های موجود مقایسه می‌شوند. اگر تطابقی پیدا شود، کپی حذف می‌شود و پوینتر فایل اصلی یا قدیمی‌تر ایجاد می‌شود.

با این حال، از آنجا که فایل‌های تکراری به عنوان موجودیت‌های مستقل در نظر گرفته می‌شوند، اگر یکی از آنها بعداً تغییر کند، یک کپی از آن ایجاد می‌شود. همچنین وقتی خود سیستم deduplication پشتیبان‌گیری شود، دوباره فایل‌های تکراری ایجاد می‌شود. از این روی، حذف داده‌های تکراری از منبع ممکن است برای هر سازمانی مناسب نباشد.

Target deduplication

اگر فرایند حذف داده در نزدیک به جایی که داده‌ها ذخیره می‌شوند، اتفاق بیفتد، به آن target deduplication گفته می‌شود. در این حالت سرور زیاد درگیر نمی‌شود. در نتیجه، نیازی نیست که سرور عملیات محاسباتی زیادی انجام دهد. اما مسئله‌ای که وجود دارد این است که با استفاده از target deduplication داده‌های بیشتری به سراسر شبکه منتقل می‌شود. زیرا همه داده‌ها باید در مقصد بررسی شوند. این امر می‌تواند بار کاری بیشتری را بر دوش منابع شبکه بیندازد. 

حذف داده‌های تکراری مبتنی بر نرم‌افزار

در این روش Data Deduplication روی دستگاهی انجام می‌شود که داده‌های آن برای یافتن موارد تکراری بررسی می‌شوند. یک برنامه نرم‌افزاری داده‌ها را بررسی می‌کند. وقتی داده‌ای تکراری پیدا کرد، کاری را روی آن اجرا می‌کند که از قبل تعیین شده است. مثلاً اگر مسئول IT مشخص کند که به هر داده تکراری یک پوینتر به نسخه قدیمی‌تر اختصاص داده می‌شود. اجرای شیوه نرم‌افزاری ارزان‌تر از شیوه سخت‌افزاری است؛ اما نصب و نگهداری آن دشوارتر است.

حذف داده‌های تکراری مبتنی بر سخت‌افزار

حذف داده‌های تکراری مبتنی بر سخت‌افزار عملکرد بهتری نسبت به نوع نرم‌افزاری دارد و مقیاس‌پذیرتر است؛ اما اغلب اجرای آن گران‌قیمت است. زیرا برای در این روش از یک دستگاه سخت‌افزاری جداگانه برای بررسی و حذف داده‌های تکراری استفاده می‌شود؛ بنابراین ممکن است استفاده از آن فقط برای شرکت‌ها یا سازمان‌های بزرگ‌تر که حجم زیادی از داده‌ را دارند، منطقی باشد.

حذف داده‌های تکراری در سطح فایل

در این روش تمامی فایل‌ها برای شناسایی موارد تکراری بررسی می‌شوند. اگر فایلی موجود باشد، فایل مشابه دوباره ذخیره نخواهد شد. پیاده‌سازی Data Deduplication در سطح فایل ساده است؛ اما برای مواقعی که تعداد فایل‌هایی که تفاوت جزئی با هم دارند، زیاد باشد، ممکن است مؤثر نباشد. 

حذف داده‌های تکراری در سطح بلوک

در این روش داده‌ها به بلوک‌های کوچک‌تر تقسیم می‌شوند و هر بلوک تجزیه و تحلیل می‌شود. این روش کارآمدتر از شیوه قبلی است زیرا می‌توان داده‌های تکراری را در فایل‌ها شناسایی کرد و در فضای ذخیره‌سازی بیشتر صرفه‌جویی کرد.

حذف داده‌های تکراری در سطح بایت

حذف داده‌های تکراری در سطح بایت، جزئی‌ترین شکل حذف داده‌های تکراری است که داده‌ها را در سطح بایت بررسی می‌کند تا توالی‌های تکراری را شناسایی کند. این روش بالاترین پتانسیل را برای کاهش داده‌ها ارائه می‌دهد؛ اما به منابع محاسباتی بیشتری نیاز دارد.

مزایای استفاده از Data Deduplication

حذف داده‌های تکراری مزایای زیادی را برای یک سازمان یا گروه به همراه دارد، از جمله:

  • صرفه‌جویی در فضای ذخیره‌سازی
  • امکان بازیابی سریع‌تر و آسان‌تر پس از سانحه به دلیل کاهش حجم داده‌ها
  • استفاده کمتر از منابع در طول فرایندهای پشتیبان‌گیری
  • ارتقای کارایی شبکه به دلیل آزاد بودن پهنای باند
  • مزایای اقتصادی
مزایای Data Deduplication

معایب Data Deduplication

در کنار مزایا، معایبی هم وجود دارد. از جمله:

  • مصرف زیاد منابع در صورت انتخاب روش اشتباه برای Data Deduplication
  • احتمال حذف یا تغییر ناخواسته برخی داده‌
  • چالش‌برانگیز بودن فرایند بازیابی فراداده‌ها (مثل داده‌های اثر انگشتی)
  • نیاز به سرمایه اولیه زیاد
معایب Data Deduplication

موارد استفاده از Data Deduplication در دنیای واقعی

ممکن است این سؤال برای شما پیش بیاید که Data Deduplication در دنیای واقعی چه کاربردی دارد و چه سازمان‌ها یا کسب و کارهایی از آن استفاده می‌کنند یا یک سازمان از این فناوری در کدام بخش بهره می‌برد. در ادامه چند مثال در این زمینه می‌آوریم:

  • مدیریت ارتباط با مشتری و کنترل داده‌های مشتریان در سیستم CRM
  • دسکتاپ‌های مجازی و محاسبات مجازی
  • بانکداری و حذف رکوردهای تکراری از اطلاعات مشتریان
  • یکپارچه‌سازی داده‌های شرکت‌ها

این‌ها تنها نمونه‌های کوچکی از data deduplication هستند.

نحوه اجرای فناوری Data Deduplication

برای این که بتوانید Data Deduplication را به شکل موفقیت‌آمیز اجرا کنید، باید به نکات زیر دقت کنید:

  • ارزیابی محیط ذخیره‌سازی و انواع داده‌ها
  • انتخاب روش مناسب برای Data Deduplication
  • بهینه‌سازی تنظیمات سخت‌افزاری و نرم‌افزاری 
  • نظارت بر اثربخشی فرایند Data Deduplication و مدیریت منظم 

سخن نهایی

در این مقاله به معرفی فناوری Data deduplication پرداختیم. نوعی فناوری که به شما کمک می‌کند داده‌ها را بهتر مدیریت و ذخیره‌سازی کنید و نیازی نباشد فضای ذخیره‌سازی خود را با موارد تکراری پر کنید. حذف تکراری داده‌ها به روش‌های مختلفی انجام می‌شود و سازمان‌ها باید بهترین روش را با توجه به زیرساخت‌ها و نوع داده‌های خود انتخاب کنند. 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


مقالات مرتبط

آموزش نصب و راه‌اندازی vSAN

آموزش نصب و راه‌اندازی vSAN

vSAN یک سیستم ذخیره‌سازی نرم‌افزارمحور است که به عنوان بخشی از پلتفرم مجازی‌سازی Vmware یا vSphere ارائه شده و امکان...

بیت توازن چیست (parity)

بیت توازن (parity) چیست؟ + کاربردها

در ارتباطات بین دو دستگاه یا کاربر، خطا زمانی رخ می‌دهد که پیام دریافتی با پیام ارسالی متفاوت باشد که...

SDS چیست

SDS چیست؟ آشنایی با مفهوم software-defined storage

سیستم‌های ذخیره‌سازی مختلفی وجود دارد که هر کدام از آنها کاربردها و قابلیت‌های خاص خود را دارند. یکی از این...