در دنیای امروز، ساختار عملکردی جوامع بهشدت بر پایه اطلاعات استوار است. انسانها به میزان فزایندهای به اطلاعات وابسته شدهاند و در پی این روند، هر روز حجم بیشتری از دادهها تولید میشود. در نتیجه، نیاز روزافزون به افزایش فضای ذخیرهسازی، به یکی از چالشهای اساسی در صنعت فناوری اطلاعات تبدیل شده است.
اگر فرآیند پشتیبانگیری (Backup) را نیز در نظر بگیریم، که این نیاز را دو برابر کرده و به تبع آن، هزینه نگهداری زیرساختهای IT را بهشدت افزایش میدهد، مشکل «انفجار داده» بهوضوح نیازمند راهکاری فوری است. در این میان، پرسش اساسی مطرح میشود: راهحل یا پادزهر این بحران چیست؟
راهنمای مطالعه
جهت دریافت مشاوره خرید استوریج با قیمت مناسب و متناسب با نیاز سازمانتان، میتوانید با کارشناسان شرکت رایانش ابری پردیس تماس بگیرید.
رایانش ابری پردیس با بیش از 10 سال سابقه در ارائه خدمات و راهکارهای ذخیره سازی اطلاعات و مشاوره خرید استوریج آماده همکاری با شماست.
Deduplication جایگزینی برای فشردهسازی اطلاعات
برای پاسخ به این پرسش، میتوان دو مسیر اصلی را برای حل بحران فضای ذخیرهسازی در نظر گرفت: نخست، افزایش ظرفیت دستگاههای ذخیرهسازی در سطح سختافزار و دوم، سازماندهی بهینه دادهها در سطح نرمافزار بهگونهای که مصرف فضای ذخیرهسازی کاهش یابد. تمرکز ما در این مقاله بر گزینه دوم است؛ یعنی بهینهسازی با استفاده از تکنیک Deduplication.
این فرآیند به سیستمهای پشتیبانگیری کمک میکند تا بهصورت صرفهجویانه از فضای ذخیرهسازی استفاده کنند. اما Deduplication دقیقاً به چه معناست؟ و چرا این روش در مقایسه با فشردهسازی سختافزاری، تکنیکهای Incremental Development یا پشتیبانگیری تفاضلی (Differential Backups) ابزار مؤثرتری محسوب میشود؟ برای پاسخ به این پرسشها، بهتر است نگاهی دقیقتر به این فناوری بیندازیم.
Deduplication چیست؟
بهطور خلاصه، Deduplication فرآیندی است که دادههای تکراری را شناسایی کرده و بهجای ذخیرهسازی چندباره آنها، تنها یک نسخه از داده را حفظ میکند. در سایر موارد، بهجای داده اصلی، یک لینک یا اشارهگر (Pointer) به آن داده ذخیره میشود. ساده است، نه؟ بله، در ظاهر بسیار ساده است؛ اما نکته جالبتر اینکه این فرآیند، با وجود اینکه عمدتاً برای محیطهای ذخیرهسازی انبوه مجازی (Virtual Mass Storage) طراحی شده، در سیستمهای پایگاهداده (Database Systems) و حتی در برخی دیگر از برنامههای کاربردی نیز قابل استفاده است.
پیشنهاد مطالعه:
Deduplication چگونه عمل میکند؟
در تئوری، فرآیند Deduplication ساختاری نسبتاً ساده دارد. این مکانیزم بر پایه جستجوی سیستماتیک بلاکهای دادهای تکراری طراحی شده است. دادههای تکراری شناسایی شده حذف میشوند و در جای آنها ارجاعهایی (References) به تنها نسخه موجود از آن دادهها در سیستم جایگزین میشود.
این فرآیند میتواند در دو سطح مختلف اجرا شود:
- سطح سیستم فایل (File System Level)
- سطح بلاکهای دیسک (Block Level)
اجرای Deduplication در سطح بلاک، نتایج بهتری حاصل میکند، چرا که در این حالت، فرآیند به نوع یا تعداد فایلهای موجود در سیستمعامل وابسته نیست و از آن مستقل عمل میکند.
تشخیص هوشمند دادهها با Deduplication پیشرفته
پیچیدگی فرآیند Deduplication زمانی بیشتر میشود که به جنبه هوشمندانه این راهکار توجه کنیم. در واقع، Deduplication تنها به یافتن دادههای کاملاً مشابه محدود نمیشود، بلکه قادر است رکوردهایی را که دارای تفاوتهای جزئی، خطاها یا حتی اشتباهات تایپی هستند نیز شناسایی کرده و بهدرستی با یکدیگر تطبیق دهد. این یعنی ضرورتی به یافتن کپیهای دقیق و یکسان وجود ندارد.
این قابلیت با تکیه بر الگوریتمهای پیشرفتهای تحقق مییابد که میزان شباهت میان بلاکهای داده را ارزیابی میکنند. پس از اتمام مرحله جستجو، رکوردهای شناساییشده در یکی از سه دسته زیر قرار میگیرند:
- رکوردهای یکسان (Identical)
- رکوردهای مشابه (Similar)
- رکوردهای متفاوت (Different)
بهطور کلی، این همان سازوکار Deduplication در سطح هوشمند است.
تفاوت Deduplication و Compression چیست؟
میان دو روش Deduplication و Compression یک تفاوت بنیادی وجود دارد. در روش فشردهسازی (Compression)، فرآیند در سطح فایل انجام میشود؛ یعنی عملیات تنها بر روی همان فایل یا فایلها اعمال میشود، فارغ از اینکه تکراری هستند یا نه.
در مقابل، Deduplication بهصورت سراسری (Global) عمل میکند؛ به این معنا که دادههای تکراری، بدون توجه به محل قرارگیریشان در فایلهای مختلف، در کل فضای ذخیرهسازی شناسایی میشوند و تنها یک نمونه از آنها نگهداری میشود.
این رویکرد، بدون شک، از نظر کارایی نسبت به فشردهسازی سنتی، بسیار مؤثرتر و بهینهتر عمل میکند.
پیشنهاد مطالعه:
کدام مدل Deduplication برای زیرساخت شما مناسبتر است؟
Deduplication تنها یک ایده نیست، بلکه مجموعهای از مدلها و پروژهها را شامل میشود. برخی از مدلهای شناختهشده عبارتاند از:
- Opendedup
- LessFS
- BitWackr (Exar)
هر یک دارای ویژگیها و معماریهای خاصی هستند که بسته به نیازهای سازمان، نوع داده و زیرساخت موجود باید بهدقت مورد بررسی قرار گیرند. نمیتوان تنها یک مدل را بهعنوان بهترین گزینه معرفی کرد؛ بلکه مقایسه فنی، میزان سازگاری، کارایی و سهولت پیادهسازی معیارهای کلیدی انتخاب هستند.
فشردهسازی هوشمند با Deduplication ترکیبی
برخی راهکارهای ذخیرهسازی داده، از مدلهای ترکیبی Deduplication و Compression استفاده میکنند. این نوع راهکارها، بسته به فناوری مورد استفاده، زبان برنامهنویسی و معماری سیستم، عملکردهای متفاوتی دارند.
کارایی فرآیند Deduplication نقش تعیینکنندهای در:
- میزان صرفهجویی در فضای ذخیرهسازی
- سرعت خواندن (Read) و نوشتن (Write)
ایفا میکند. تفاوت عملکرد در مدلهای مختلف ممکن است چشمگیر باشد.
سطوح مختلف Deduplication
بسته به نوع راهکار و هدف نهایی، Deduplication میتواند در سطوح مختلفی انجام شود:
ردیف | سطح Deduplication | توضیحات |
---|---|---|
1 | Deduplication در سطح فایل (File-Level Deduplication) | سادهترین و ابتداییترین مدل که تنها فایلهای کاملاً مشابه را شناسایی و حذف میکند. پیادهسازی آسان اما کماثر. |
2 | Deduplication در سطح بلاک متغیر (Variable Block-Level Deduplication) | در این روش، بلاکها اندازه ثابتی ندارند و بسته به الگوی داده تنظیم میشوند. دقت و کارایی بیشتری دارند. |
3 | Deduplication در سطح بلاک ثابت (Fixed Block-Level Deduplication) | دادهها به بلاکهای هماندازه تقسیم و هرکدام با الگوریتم هش بررسی میشوند. بلاکهای کوچکتر منجر به صرفهجویی بیشتر میشوند. |
4 | Deduplication در سطح بایت (Byte-Level Deduplication) | بالاترین سطح دقت، با مقایسه بایتبهبایت دادهها. مناسب برای فایلهایی با ساختار مشابه مثل .doc یا .png اما بسیار پردازشبر. |
جمعبندی
هرکدام از مدلهای فوق دارای مزایا و محدودیتهای خاص خود هستند. انتخاب مدل مناسب Deduplication باید متناسب با نوع داده، نرمافزارهای مورد استفاده، عملکرد سیستم و زیرساخت موجود باشد.
بهعنوان نمونه، برخی مدلها با نرمافزارهایی مانند Hyper-V سازگاری ندارند. بنابراین، انتخاب صحیح باید بر پایه نیازهای واقعی سیستم انجام شود، نه تبلیغات یا سادگی پیادهسازی.
سوالات متداول
1. آیا Deduplication میتواند باعث کاهش کارایی سیستم شود؟
بله، در برخی موارد خاص. اگر سختافزار مناسب مانند CPU یا RAM کافی برای پردازش الگوریتمهای Deduplication فراهم نباشد، ممکن است این فرآیند باعث ایجاد سربار (Overhead) در هنگام نوشتن یا خواندن دادهها شود. به همین دلیل، استفاده از Deduplication در زیرساختهایی با منابع پردازشی محدود نیازمند بررسی دقیق است.
2. Deduplication چطور روی امنیت دادهها تأثیر میگذارد؟
Deduplication به خودیخود داده را رمزگذاری نمیکند، اما چون دادههای مشابه در یک مکان ذخیره میشوند، ممکن است در برخی سناریوها به صورت غیرمستقیم موجب بهوجود آمدن نگرانیهایی در خصوص حفظ حریم خصوصی شود. بنابراین، در محیطهای حساس، توصیه میشود که Deduplication همراه با رمزگذاری سطح بلاک یا فایل (Encryption) استفاده شود.
3. آیا Deduplication فقط در ذخیرهسازهای SAN و NAS قابل پیادهسازی است؟
خیر. Deduplication علاوه بر سیستمهای ذخیرهسازی SAN و NAS، در بسیاری از سیستمهای پشتیبانگیری مبتنی بر نرمافزار، راهکارهای ابری (Cloud Backup) و حتی در فایلسیستمهای خاص نیز قابل استفاده است. برخی از سیستمعاملهای مدرن مانند ZFS یا Windows Server Data Deduplication نیز بهطور بومی از این قابلیت پشتیبانی میکنند.