آشنایی با تکنولوژی Data Deduplication
Data Deduplication به معنای حذف داده های ثبت شده ی تکراری از یک دیتا یا اطلاعات ثبت شده است که می تواند تا حد زیادی باعث گسترش فضای ذخیره سازی سیستم است.
اگر در زمینه ی ای تی فعالیت کرده باشید، یا مسئول بک آپ گرفتن و انتقال حجم زیادی از اطلاعات باشید، به احتمال زیاد تا به حال کلمه ی Data Deduplication یا حذف داده های تکراری را شنیده اید.
Data Deduplication یا حذف رکوردهای تکراری داده اهمیت بسیار زیادی در سرعت ذخیره سازی و واکشی داده دارد.
با Data Deduplication می توانید اطمینان حاصل کنید که فقط یک نسخه از هر نوع اطلاعاتی در سیستم ذخیره سازی نگهداری می شود با اینکه ممکن است شما چندین کپی از اطلاعات را در مکان های مختلف ذخیره کرده باشید.
در ساده ترین تعریف، Data deduplication به روشی برای حذف اطلاعات تکراری و آزاد کردن فضای ذخیره سازی در سیستم گفته می شود. در این روش، تمامی کپی های اضافه از یک نوع دیتا حذف می شود و تنها یک نسخه از آن در سیستم باقی می ماند.
در این روش دیتا ها تجزیه و تحلیل می شوند تا الگو ها چندگانگی اطلاعات شناسایی شوند و سیستم مطمئن شود که نسخه ی باقی مانده تنها نسخه از آن اطلاعات است.
پس از آن، کپی های مختلف از دیتا با یک مرجع که به نسخه ی باقی مانده اشاره می کند جایگزین می شود.
با توجه به اینکه الگو های تکرار ممکن است ده ها، صد ها یا هزاران بار تکرار شوند، فکر کنید هر بار که تغییر جزئی در فایل اکسل یا پاور پوینت مربوط به دیتا ایجاد می کنید می تواند تا چه حد از فضای ذخیره سازی شما را اشغال کند.
در برخی از شرکت ها، ۸۰ درصد از اطلاعات شرکت در سر تا سر سازمان چندین بار ذخیره یا Duplicate شده اند. کاهش نرخ انتقال اطلاعات در شبکه می تواند باعث افزایش هزینه های مربوط به ذخیره سازی و سرعت پشتیبان گیری شود.
اگر با روش بکاپ گیری به طریق Incremental یا افزایشی آشنایی دارید مکانیزم کاری data Deduplication به طور تنگاتنگی با Incremental Backup مطابقت دارد، که تنها داده هایی که تغییر یافته جایگزین backup قبلی میشود و کل اطلاعات بکاپ تحت تاثیر قرار نمی گیرد.
برای مثال یک سیستم email به طور معمول ممکن است شامل ۱۰۰ نمونه از فایل هایی باشد که هر کدام مانند هم ۱ مگابایت حجم دارند و عینا مانند هم هستند و هیچ تفاوتی در محتوای آنها وجود ندارد.
در حین اگر از email هایمان بکاپ یا آرشیو گرفته شود کل ۱۰۰ نمونه باید ذخیره شود که نیازمند ۱۰۰ مگابایت فضای ذخیره سازی میباشد.
با بکارگیری Data Deduplication تنها یک نمونه از آن همه فایل های یکسان ذخیره می شود با یک حساب سرانگشتی ما ۹۹ مگابایت در فضای ذخیره سازی مان صرفه جویی کردیم.حال این تنها یک مثال کوچک بود اما اگر در محیط های Enterprise که از فضاهای ذخیره سازی بسیار کلان استفاه میکنند این شرایط پیش بیاید بدون شک هزینه های یک سازمان را برای فراهم سازی فضای ذخیره سازی افزایش میدهد.
مزایای Data Deduplication
در تکنیک Data Deduplication طی یک پروسه تحلیلی، تنها یک نمونه از داده در رسانه ذخیرهسازی مانند Tape یا دیسک ذخیره میشود و داده افزونه یا تکراری با اشارهگری جایگزین میشود که به این نسخه از داده که یکتاست ارجاع میدهد. در نتیجه میزان دادهای که باید منتقل یا ارسال شود، به صورت چشمگیری کاهش پیدا میکند.
مثلا یک ایمیلِ سیستمیِ معمولی ممکن است صد نمونه از یک فایل پیوست یک مگابایتی داشته باشد. برای بکاپگیری و آرشیو آن باید تمامی صد نمونه ذخیره شوند که به فضای ذخیرهسازی ۱۰۰ مگابایتی نیاز دارد. اما با استفاده از Dedupe تنها یک نمونه از این فایل ذخیره میشود و نمونههای بعدی به همان یک نسخه ذخیره شده، ارجاع داده میشوند. در این مثال، هر صد مگابایت مورد نیاز میتواند به تنها یک مگابایت کاهش یابد.
Data Deduplication مزایای دیگری هم دارد. اگر به فضای ذخیرهسازی کمتری نیاز باشد، هزینه مالی مورد نیاز برای تامین دیسکها هم کاهش مییابد.
استفاده بهینهتر از فضای دیسک، باعث افزایش زمان نگهداری دیسک میشود در نتیجه RTO بهتری نیز فراهم شده و نیاز به بکاپگیری نیز کمتر میشود. با استفاده از حذف رکوردهای تکراری داده بین ۳۰ تا ۹۵ درصد فضای کمتری برای ذخیره اطلاعات لازم داریم.
با Data Deduplication، دادههایی که باید در WAN به منظور بکاپگیری از راه دور، Replication و Disaster Recovery فرستاده شود نیز کاهش مییابد در نتیجه به پهنای باند کمتری نیز نیاز دارید و باعت بهینگی در WAN میشود.
این تکنولوژی اغلب به صورت ترکیبی با دو تکنولوژی دیگر یعنی فشردهسازی و Delta Differencing استفاده میشود که در این صورت در بهینهسازی مصرف فضای ذخیرهسازی نیز موثرتر خواهد بود.
استفاده ار زیرساخت های دسکتاپ مجازی – VDI از راهکارهای استفاده از Data Deduplication است که پیاده سازی و تجمیع برنامهها، و دسترسی ریموت از مزایای آن است. برنامههای بکاپگیری مجازی هم از دیگر راهکارهای استفاده از Data Deduplication است زیرا بین اسنپ شات ها کار حذف رکوردهای تکراری را انجام میدهد.
بررسی Target Deduplication و Source Deduplication
فرآیند Data Deduplication میتواند در دو سطح Source-based dedupe و Target-based dedupe اتفاق بیفتد که به توضیح هر یک میپردازیم
- Source-based Dedupe بلوک های داده افزونه شده را قبل از اینکه به backup target انتقال داده شود حذف میکند چه کلاینت باشد چه سرور. فرآیند Source-based Dedupe به هیچ سخت افزار اضافه ای نیاز ندارد. از ویژگی های فرآیند Deduplicating در سطح source کاهش پهنای باند و storage می باشد.
- Target-based Dedupe که نسبت به Source-based Dedupe برتری دارد Backup ها در بستر شبکه به Disk-based Hardware مانند دستگاه های ذخیره سازی SAN انتقال داده میشوند. استفاده از این نوع فرآیند درست است که نیازمند متحمل شدن هزینه های نسبتا زیادی است اما در عوض آن نسبت به Source-based Dedupe عملکرد مطلوبی را به همراه دارد.
منظور از File-level data Deduplication و Block-level data Deduplication
- File deduplication همانطور که از نامش مشخص است فایل های Duplicate شده را از بین می برد اما File-level data Deduplication کارایی چندان مفیدی برای فرآیند Deduplication ندارد . File-level data Deduplication فایل مورد نظر را که Backup گرفته شده اند و یا آرشیو شده اند با فایل هایی که کپی آنها ذخیره شده است مقایسه می کند. این کار با چک کردن attribute های آن فایل انجام میدهد بر خلاف چک کردن index شده هایشان، اگر فایل Unique بود ذخیره میشود و index اش برزورسانی می شود در غیر این صورت ، pointer ای که به فایل موجود ایندکس شده اشاره دارد ذخیره می شود و از ذخیره شدن دوباره آن فایل در کنار فایل مشابهش جلوگیری میکند. نتیجه این میشود که فقط یک نمونه از فایل ذخیره میشود و کپی های مکرر جایگزین فایل اصلی میشود .
- Block-level deduplication درون یک فایل را نگاه کرده و از هر بلوک داده که مقدارش با بلوک داده های دیگر که تنها در قسمتی تغییر در آن وجود دارد و بقیه عین هم هستند را ذخیره میکند.همه Block ها به chunk(تکه یا فرگمنت هایی با طول مساوی) هایی با طول یکسان شکسته میشوند.هر chunk از داده ها از الگوریتم Hash نظیر MD5 و یا استفاده میکنند و مورد پردازش قرار میگیرند.این فرآیند یک شماره منحصر بفرد که نتیجه الگوریتم هش است برای هر تکه یا chunk تولید میشود و سپس در index ذخیره میشود.وقتی یک فایلی برزورسانی شد تنها تغییرات داده آن فایل ذخیره میشود حتی اگر اندازه اش یک بایت باشد.این روش Block Deduplication را کاراتر و موثرتر می کند. اما در هر حال Block deduplication کندتر انجام می شود و قدرت پردازش بیشتری را می طلبد و از index های بزرگتری برای مسیریابی هر chunk استفاده می کند.
Hash collisions یک مشکل اساسی در فرآیند deduplication است. وقتی تکه ای از یک داده یک شماره Hash منحصر بفرد را بخود اختصاص میدهد آن hash با hash ]ای دیگر در داخل index مقایسه میشود،اگر آن شماره hash در index موجود بود آن تکه از داده duplicate در نظر گرفته شده و نیاز به ذخیره سازی مجدد آن نمیباشد.
بر خلاف این قضیه، hash نامبر جدید در index اضافه میشود و داده جدید ذخیره میشود. در موارد نادر Hash نامبر تولید شده برای دو chunk از داده یکسان ایجاد میشود در این حین اگر فرآیند Hash Collision رخ دهد سیستم داده جدید را ذخیره نمیکند
زیرا سیستم اینگونه در نظر میگیرد که دو Hash نامبر هم اکنون در index وجود دارد و نیاز به ذخیره سازی داده جدید نیست. این اتفاق بد data loss را برایمان به وجود می آورد.
تعدای از Vendor ها از الگوریتم های Hash ترکیبی استفاده میکنند تا از فرآیند hash collision تا حد مناسبی جلوگیری به عمل آورند. این کار باعث بالارفتن امنیت در ذخیره سازی داده ها هم میشود .
همچنین تعدای از Vendor ها metadata ها را بررسی می کنند تا داده ها را تمیز دهند و از وقوع collisions جلوگیری کنند.
انواع تکنیک Data Deduplication
دو تکنیک Data Deduplication عبارتند از Inline Deduplication و Post processing Deduplication. برای اینکه کارکرد این دو تکنیک را متوجه شویم آنها را با هم مقایسه میکنیم.
Inline Deduplication یعنی داده تکراری را وقتی دیتا در حال ارسال از یک دستگاه به دستگاه دیگر است، حذف میکنیم.
بدین ترتیب داده اضاقی حذف شده و ذخیره سازی بهینهتر انجام میشود.
در این فرآیند لازم است پردازشی بین سرورهای داده و مقصد بکاپ داده انجام شود. Post processing Deduplication یعنی بعد از اینکه دیتا منتقل شد، داده تکراری حذف میشود. در نتیجه Inline Deduplication سرعت بکاپ گیری را کم میکند اما دیتای نهایی فاقد هر گونه دیتای بیمصرف و تکراری است.
Data Deduplication در سطح target و source
source deduplication یعنی حذف داده تکراری در کلاینت اتفاق میافتد این کلاینت ممکن است سرور یا ورک استیشن یا پی سی باشد اما SAN یا NAS نیست. مزیت این روش این است که پهنای باند LAN کمی لازم است اما منابع بیشتری از کلاینت لازم دارد.
target deduplication یعنی حذف داده تکراری در رسانه بکاپ اتفاق میافتد. مزیت این روش این است که پهنای باند LAN بیشتری لازم است اما منابع کمی از کلاینت لازم دارد. این تکنیک در intelligent disk targets – IDTs و virtual tape libraries – VTL استفاده میشود.
برای حجم بالای دیتا مثلا چندترابایت، اگر چه این روش نیاز به فضای ذخیره سازی بیشتری است اما کارایی و سرعت بیشتری دارد و برای شرکتهایی که پهنای باند کم و دیتای بیشتری هستند مناسب است.