اخطار‌های زیر رخ داد:
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 459 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 460 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 103 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 104 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 105 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 185 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 466 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/global.php 818 my_date
/printthread.php 16 require_once
Warning [2] preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead - Line: 272 - File: inc/plugins/imeiJalaliDate.php PHP 7.3.33 (Linux)
File Line Function
[PHP]   errorHandler->error
/inc/plugins/imeiJalaliDate.php 272 preg_replace
/inc/plugins/imeiJalaliDate.php 210 imeiJGconvert
/inc/class_plugins.php 139 imeiJalaliDate
/inc/functions.php 506 pluginSystem->run_hooks
/printthread.php 150 my_date



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

+- تالار گفتمان اسکریپت دات کام (https://forum.xn--mgbguh09aqiwi.com)
+-- انجمن: عمومی (https://forum.xn--mgbguh09aqiwi.com/Forum-%D8%B9%D9%85%D9%88%D9%85%DB%8C)
+--- انجمن: مطالب متفرقه (https://forum.xn--mgbguh09aqiwi.com/Forum-%D9%85%D8%B7%D8%A7%D9%84%D8%A8-%D9%85%D8%AA%D9%81%D8%B1%D9%82%D9%87)
+--- موضوع: قابلیت Data Deduplication و مفاهیم مرتبط به آن (/Thread-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-Data-Deduplication-%D9%88-%D9%85%D9%81%D8%A7%D9%87%DB%8C%D9%85-%D9%85%D8%B1%D8%AA%D8%A8%D8%B7-%D8%A8%D9%87-%D8%A2%D9%86)



قابلیت Data Deduplication و مفاهیم مرتبط به آن - arenanoc - 1397/01/19

Data Deduplication اغلب به نام های Intelligent Compression(فشرده سازی هوشمند) و یا Single-Instance storage(اینو واقعا نمیتونم معادل فارسیشو پیدا کنم!) نیز مشهور است.
 Data deduplication فرآیندی است که از افزونگی ناشی از کپی شدن اطلاعات تکراری و در نهایت از overhead شدن دستگاه های ذخیره سازی اطلاعات جلوگیری به عمل می آورد. تکنیک Data deduplication از این اطمینان
 حاصل میکند که تنها یک نمونه از داده یا همان Data در دستگاه ذخیره سازی لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید اطلاعات یا مدیا (دیسک ، فلش مموری ، tape و ...) نگهداری شده است. بلوک های اطلاعاتی redundant شده جایگزین یک نمونه اصلی
 و اولیه ی ساخته شده اطلاعات میشوند. تصویر زیر بخوبی مفهوم آنچه که گفتم را بیان میکند : 



اگر با روش بکاپ گیری به طریق Incremental یا افزایشی آشنایی دارید مکانیزم کاری data deduplication به طور تنگاتنگی با Incremental backup مطابقت دارد، که تنها داده هایی که تغییر یافته جایگزین backup قبلی میشود و کل اطلاعات بکاپ تحت تاثیر قرار نمیگیرد. 
برای مثال یک سیستم email به طور معمول ممکن است شامل 100 نمونه از فایل هایی باشد که هر کدام مانند هم 1 مگابایت حجم دارند و عینا مانند هم هستند و هیچ تفاوتی در محتوای آنها وجود ندارد،
در حین اگر از email هایمان بکاپ یا آرشیو گرفته شود کل 100 نمونه باید ذخیره شود که نیازمند 100 مگابایت لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید فضای ذخیره سازی میباشد.با بکارگیری Data deduplication تنها یک نمونه از آن همه فایل های یکسان 
ذخیره میشود با یک حساب سرانگشتی ما 99 مگابایت در فضای ذخیره سازی پسیو شبکه مان صرفه جویی کردیم.حال این تنها یک مثال کوچک بود اما اگر در محیط های enterprise که از فضاهای ذخیره سازی بسیار کلان استفاه میکنند
 این شرایط پیش بیاید بدون شک هزینه های یک سازمان را برای فراهم سازی فضای ذخیره سازی افزایش میدهد. 

بررسی 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 عملکرد مطلوبی را به همراه دارد. 

تکنیک های Deduplicate کردن داده:
دو متد اصلی برای Deduplicate کردن برای داده های Redundant شده وجود دارد: 
Inline deduplication و Post-processing deduplication 
در محیط های عملیاتی backup گیری از اطلاعات به شما به طور وضوح مشخص میکند که از کدام یک از این دو نوع تکنیک استفاده کنید. 
Inline deduplication داده ها را درون سیستم Backup آنالیز میکند.داده های زائد یا تکراری که در سیستم ذخیره سازی Backup ذخیره شده اند پسیو شبکه حذف میشوند. تکنیک Inline dedupe کمتر به ذخیره سازی Backup 
نیاز دارد اما در جای خود میتواند سبب bottleneck شود. کارخانه های سازنده Storage Array مانند شرکت HP توصیه میکنند که ابزار inline data deduplication بهتر است Turn off شوند تا عملکرد primary storage بالا برود.حال به توضیح Post-processing dedupe میپردازیم ... 
Post-processing dedupe فرآیند Backup نامتقارن است که بعد از اینکه داده ها در Storage نوشته شد اقدام به حذف redundant data ها میکند. در این فرآیند داده های Duplicate شده در محل اصلی بلوک داده ها 
که قرار گرفته اند حذف و جایگزین میشوند. این نوع تکنیک به کاربران یک مزیت بسیار خوب را نوید میدهد لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید که میتوانند به طور انعطاف پذیری workload ها را dedupe کنند و سریعا بکاپ های اخیر را بازیابی کنند بدون اینکه زحمت زیادی را متحمل شوند. 

منظور از File-level data deduplication و Block-level data deduplication :
Data deduplication میتواند در دو سطح Block Level و File Level عمل کند : 
File deduplication همانطور که از نامش مشخص است فایل های duplicate شده را از بین میبرد.اما لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید آن یک کارایی چندان مفیدی برای فرآیند deduplication ندارد.File-level data deduplication فایل مورد نظر را که Backup 
گرفته شده اند و یا آرشیو شده اند با فایل هایی که کپی آنها ذخیره شده است مقایسه میکند.این کار با چک کردن attribute های آن فایل انجام میدهد بر خلاف چک کردن index شده هایشان، اگر فایل Unique بود ذخیره میشود
 و index اش برزورسانی میشود، اگر نه ، pointer ای که به فایل موجود ایندکس شده اشاره دارد ذخیره میشود و از ذخیره شدن دوباره آن فایل در کنار فایل مشابهش جلوگیری میکند.نتیجه این میشود که فقط یک نمونه از فایل ذخیره میشود و کپی های مکرر جایگزین فایل اصلی میشود. 

Block-level deduplication درون یک فایل را نگاه کرده و از هر بلوک داده که مقدارش با بلوک داده های دیگر که تنها در قسمتی تغییر در آن وجود دارد و بقیه عین هم هستند را ذخیره میکند.همه Block ها به chunk(تکه یا 
فرگمنت هایی با طول مساوی) هایی با طول یکسان شکسته میشوند.هر chunk از داده ها از لینک قابل نمایش نیست . لطفا ثبت نام کنید و یا وارد سایت شوید الگوریتم Hash نظیر MD5 و یا SHA1. استفاده میکنند و مورد پردازش قرار میگیرند.این فرآیند یک شماره منحصر بفرد که نتیجه الگوریتم 
هش است برای هر تکه یا 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 جلوگیری کنند.