آشنایی با دیتا ریداندنسی (Data redundancy) یا افزونگی داده از دو جنبه مفهومی مثبت و منفی
دیتا ریداندنسی یا افزونگی داده حکایت ذخیره کردن دیتا به صورت تکراری در ۲ یا چند مکان متفاوت است. دیتای ذخیرهشده به این روش میتواند در یک یا چند دیتابیس یا هر سیستم ذخیرهسازی داده دیگر باشد. افزونگی داده میتواند دو جنبه مثبت یا منفی داشته باشد.
با خواندن این مقاله، بهطور کامل با مفهوم دیتا ریداندنسی، کاربرد، مزایا و چالشهای آن آشنا خواهید شد. سپس نحوه مدیریت و استفاده مفید از افزونگی داده را بررسی خواهیم کرد.
افزونگی داده (Data Redundancy) چیست؟
افزونگی داده (Data Redundancy) یعنی یکسری اطلاعات به صورت تکراری در دو یا چند جای مختلف ایجاد و ذخیره شود. مفهوم دیتا ریداندنسی میتواند دو روی یک سکه باشد و به چشم مشکل یا فرصت به آن نگاه کرد. دیتا ریداندنسی گاه به دلایل مختلف از جمله کدنویسی ضعیف، نگهداری نسخههای قدیمی، فرایند فرمهای اشتباه و … اتفاق میافتد و میتواند مشکلات و خطاهایی را ایجاد کند. اما از سوی دیگر میتوان به چشم یک راهکار به آن نگاه کرد و از آن برای تضمین حفظ دادهها در شرایط بحران بهره برد.
از جنبه منفی، این موضوع باعث میشود هزینه ذخیرهسازی بالا رفته و احتمال خطا افزایش پیدا کند. شاید چنین موضوعی ابتدا مسئله مهمی بهنظر نرسد. با این حال، زمانی که این مجموعههای تکراری روی هم جمع شوند و از فضای ذخیرهسازی شما گیگابایتها اشغال کنند، دردسر شما شروع میشود. اما از جنبه مثبت با نگهداری دادهها در چندین مکان میتوان اطمینان حاصل کرد که حتی هنگام وقوع سوانح طبیعی یا مشکلات سیستمی، دادهها همیشه در دسترس هستند و در عین حال امنیت دادهها بهبود مییابد.
دیتا ریداندنسی چگونه اتفاق می افتد؟
از جنبه منفی، دلایل زیادی برای تکرار ناخواسته اطلاعات وجود دارد. در اینجا چند نمونه از چگونگی ایجاد دیتا ریداندنسی را آوردهایم تا با درک آنها بتوانید نسبت به مقابله با این قضیه اقدام کنید:
- فرمهایی که اطلاعات یکسان را در فیلدهای مختلف جمعآوری میکنند (مثل نام / نام خانوادگی یا نام کوچک / نام فامیل)
- تهیه چندین نسخه پشتیبان از یک اطلاعات توسط افراد یا گروههایی که از تهیه نسخه بکاپ توسط دیگران بیخبرند.
- نگهداشتن نسخههای قدیمی بکاپ به جای حذف یا جایگزین کردن آنها با نسخههای جدیدتر
- کدنویسی ضعیف در یک سیستم مدیریت دادهها که باعث بهروزرسانی نادرست اطلاعات و ایجاد مغایرت در پایگاه داده میشود.
- سیستمهای جداگانهای که اطلاعات یکسانی را جمعآوری و ذخیره میکنند (مثل اطلاعات مشتری که در سیستمهای مالی، فروش و بازاریابی جمعآوری و ذخیره میشود.)
کاربرد افزونگی داده چیست؟
دیتا ریداندنسی از تکرار اطلاعات اضافی بهوجود میآید. در دنیای کامپیوتر، گاهی این تکرار دادهها سهوی و گاهی عمدی است. تکرار سهوی دادهها معمولا نتیجه فرایندهای پیچیده یا کدنویسی ناکارآمد است. تکرار عمدی برای محافظت از دادهها و اطمینان از صحت آنها انجام میشود. به عبارت دیگر با داشتن چند نسخه از یک داده، در مواقع ضروری میتوان از آنها برای بررسی صحت اطلاعات یا بازیابی اطلاعات بعد از حوادث استفاده کرد.
نکته مهم در تکرار عمدی دادهها، داشتن یک منبع مرکزی برای بهروزرسانی است. با این کار، بهجای تغییر تکتک نسخهها، بهراحتی میتوانید از منبع اصلی برای بهروزرسانی همه نسخههای تکراری استفاده کنید. از جمله کاربردهای دیتا ریداندنسی میتوان به موارد زیر اشاره کرد:
خدمات مالی
بانکها و مؤسسات مالی از دیتا ریداندنسی برای اطمینان از صحت تراکنشها و تسهیل بازیابی اطلاعات درصورت خرابی سیستم استفاده میکنند.
تجارت الکترونیک و خردهفروشی
افزونگی داده به برقراری یک تجربه خرید آنلاین بیوقفه، مدیریت پایگاه داده موجودی کالا و امنیت اطلاعات مشتری کمک میکند.
دادههای بزرگ و تحلیل آنها
ذخیرهسازی دادههای تکراری برای تحلیل دادههای حجیم بسیار مهم است، زیرا امکان پردازش کارآمد داده، تحلیل لحظهای و مدلسازی پیشبینی را فراهم میکند.
سیستمهای مدیریت ارتباط با مشتری
یک مثال واضح از افزونگی داده بهطور کارآمد شرکتهای خدمات منزل، آژانسهای املاک و مستغلات و شرکتهایی هستند که بر تعامل با مشتری تمرکز دارند و از سیستمهای مدیریت ارتباط با مشتری (CRM) استفاده میکنند. هنگامی که یک سیستم CRM با نرمافزار تجاری دیگری مانند نرمافزار حسابداری که دادههای مربوط به مشتری و امور مالی را ترکیب میکند، ادغام شود، دادههای تکراری دستی حذف میشود؛ درنتیجه گزارشهای دقیقتر و خدماترسانی به مشتری بهبود مییابد.
سیستمهای مدیریت پایگاه داده
بیمارستانها، آسایشگاههای سالمندان و سایر مراکز درمانی از سیستمهای مدیریت پایگاه داده برای ایجاد گزارشهایی استفاده میکنند که اطلاعات مفیدی را به پزشکان و سایر کارکنان ارائه میدهد. هنگامی که دیتا ریداندنسی کارآمد باشد و منجر به ناسازگاری داده نشود، این سیستمها میتوانند به ارائه دهندگان خدمات بهداشتی در مورد افزایش میزان رد مطالبات، میزان موفقیت یک داروی خاص و سایر اطلاعات مهم هشدار دهند.
مزایا و معایب افزونگی داده چیست؟
دیتا ریداندنسی عمدی مزایای بسیاری دارد. بهخصوص زمانی که به عنوان بخشی از یک برنامه کلی مدیریت داده انجام شود.
مزایای افزونگی داده
در اینجا برخی از مزایای کلیدی افزونگی داده را بررسی میکنیم:
ایجاد نسخه پشتیبان
پشتیبانگیری دادهها شامل ایجاد نسخههای فشرده و رمزگذاریشده از اطلاعات و ذخیرهسازی آنها در یک سیستم کامپیوتر یا فضای ابری است. دیتا ریداندنسی با تکثیر اطلاعات در یک یا چند سیستم اضافی، لایه حفاظتی اضافهتری ارائه میدهد. این کار باعث میشود درصورت پاک شدن یا خراب شدن سهوی یا عمدی اطلاعات، نسخه دیگری از آن داشته باشید.
اطمینان از صحت دادهها
سازمانها میتوانند با مقایسه نسخههای مختلف دادهها، خطاها و مغایرتها را شناسایی و اصلاح کنند.
محافظت از دادهها و بازیابی در شرایط بحرانی
به کمک دیتا ردیداندنسی، کسبوکارها میتوانند خطر از دست رفتن دادهها به دلیل خرابی سخت افزار، سوانح طبیعی، حمله بدافزار یا سایر رویدادهای غیرمنتظره را کاهش دهند و از امکان بازیابی ناشی از سانحه بهرهمند شوند.
امنیت بهتر دادهها
امنیت دادهها به معنای محافظت از اطلاعات در پایگاه داده یا سیستم ذخیرهسازی فایل در برابر فعالیتهای ناخواسته مانند حملات سایبری یا نقض دادهها است. داشتن دادههای یکسان که در دو یا چند مکان مجزا ذخیره شدند، اعتبار کسبوکارتان را در مقابل حمله سایبری یا نقض دادهها، حفظ میکند.
رعایت توافقنامه سطح خدمات (SLA) مشتری
این توافقنامههای بین سازمانها و مشتریان معمولا به دسترس بودن و امنیت دادهها وابسته هستند. با داشتن پیادهسازی دیتا ریداندنسی، از جبران خسارتها به دلیل از دست رفتن یا در دسترس نبودن دادهها جلوگیری میکنید.
دسترسی سریعتر به دادهها و بهروزرسانیها
زمانی که دادهها تکراری هستند، کارمندان از دسترسی سریع و بهروزرسانیهای فوری بهرهمند میشوند، زیرا اطلاعات موردنیاز در چندین سیستم در دسترس است. این قضیه بهخصوص برای سازمانهای مبتنی بر خدمات مشتری که مشتریانشان انتظار سرعت و کارایی بالا دارند، بسیار مهم است.
عملکرد و مقیاسپذیری پیشرفته
چند نسخه بودن اطلاعات با توزیع دادهها در چندین مکان، عملکرد سیستم و به عبارتی سرعت دسترسی کاربران به دادهها و سرویسها را بهبود میبخشد. با امکان پردازش موازی و توزیع بار، بازیابی و تحلیل دادهها با سرعت بیشتری انجام میشود. همچنین، دیتا ریداندنسی، امکان مقیاسپذیری افقی بدون افت عملکرد را فراهم میکند.
معایب دیتا ریداندنسی چیست؟
ذخیرهسازی و افزونگی داده به صورت ناخواسته، ممکن است مشکلات زیادی ایجاد کند. در اینجا به چند مورد از چالشهای دیتا ریداندنسی اشاره میکنیم:
افزایش احتمال خرابی
خرابی داده زمانی اتفاق میافتد که دادهها در اثر خطا در نوشتن، خواندن، ذخیرهسازی یا پردازش آسیب ببینند. هنگامی که فیلدهای داده یکسان در یک پایگاه داده یا سیستم ذخیرهسازی فایل تکرار میشوند، احتمال خرابی داده افزایش مییابد. برای مثال، اگر یک فایل خراب شود و یک کارمند بخواهد آن را باز کند، ممکن است با پیام خطا مواجه شود. افزونگی داده هنگام ذخیره و انتقال بین مکانهای مختلف، ریسک آسیب دیدن یا ایجاد خطا را بالا میبرد و ممکن است منجر به خراب شدن کل اطلاعات شود.
ناسازگاری داده
دیتا ریداندنسی زمانی اتفاق میافتد که یک قطعه داده در چندین مکان وجود داشته باشد، در حالی که ناسازگاری داده زمانی رخ میدهد که دادههای یکسان در جداول مختلف به گونه متفاوتی ذخیره شوند. ممکن است افزونگی داده باعث ناسازگاری داده شود و در نهایت اطلاعات غیرقابل اعتماد یا بیمعنی برای سازمان به وجود آورد.
افزایش هزینه نگهداری
با ایجاد دادههای بیشتر به دلیل افزونگی داده، هزینههای ذخیرهسازی افزایش مییابد. این قضیه برای سازمانهایی که سعی در پایین نگه داشتن هزینهها دارند، یک مشکل اساسی است. برای نگهداری از دادههای تکراری به برنامههای مدیریت اطلاعات بیشتری نیاز است که باعث افزایش هزینهها میشود.
ایجاد تناقض
وقتی دادهای در چند جای مختلف ذخیره میشود، احتمال بروز تناقض بالا میرود. این اتفاق زمانی رخ میدهد که بهروزرسانی فقط روی یکی از نسخهها انجام شود و اما روی سایر نسخهها اعمال نشود.
کند شدن و افزایش حجم پایگاه داده
افزونگی داده باعث کند شدن عملکرد پایگاه داده میشود. این موضوع کار با پایگاه داده را سختتر و نگهداری آن را با چالش مواجه میکند.
اتلاف فضای ذخیرهسازی
ذخیره کردن چند نسخه اطلاعات یکسان در سیستمهای مختلف، باعث اتلاف فضای ذخیرهسازی میشود. شاید این موضوع در ابتدا کماهمیت باشد، اما با گذشت زمان و افزایش حجم اطلاعات، به مشکلی جدی تبدیل خواهد شد.
راهکارهای کاهش دیتا ریداندنسی بیهدف
هرچند باید از افزونگی داده بیهدف در سیستمها جلوگیری کرد. با این حال، این اتفاق به مرور میافتد. برای شناسایی و حذف آن نیاز است اقداماتی را انجام دهید.
استفاده از داده اصلی (Master Data) و حذف دادههای بلااستفاده
داده اصلی یک منبع واحد برای دادههای مشترک کسب و کار است که در چندین برنامه یا سیستم به اشتراک گذاشته میشود. اگرچه داده اصلی باعث کاهش تکرار دادهها نمیشود، اما به شرکتها اجازه میدهد تا با سطح قابل قبولی از تکرار دادهها کنار بیایند و آن را بپذیرند؛ چون راهکار واحد داده اصلی موجب میشود اطمینان داشته باشید که مثلا در زمان بهروز رسانی یک داده، تنها لازم است آن را در یک منبع ذخیرهسازی، آپدیت کنید. همچنین پیشنهاد میشود قوانینی برای تعیین چرخه عمر دادهها تعریف کنید و با نظارت مستمر، اطلاعاتی را که دیگر مورد نیاز نیستند، شناسایی و حذف نمایید.
نرمالسازی پایگاه داده (Database Normalization)
نرمالسازی پایگاه داده فرآیندی برای سازماندهی کارآمد دادهها در یک پایگاه داده است تا از دیتا ریداندنسی در پایگاه داده جلوگیری کند. نرمالسازی پایگاه داده تضمین میکند دادهها در تمام رکوردها ظاهر مشابهی دارند و به روش خاصی قابل خواندن هستند. با نرمالسازی پایگاه داده، میتوانید فیلدهای داده مانند نام مشتری، اطلاعات تماس و آدرس را استانداردسازی کنید. همین راهکار به شما کمک میکند تا بهراحتی هر اطلاعاتی را حذف، بهروزرسانی و وارد کنید.
وقتی صحبت از اصلاح داده میشود، هر شرکتی مجموعه معیارهای خاص خود را دارد. بنابراین، آنچه یک سازمان به عنوان نرمالسازی داده در نظر میگیرد، ممکن است از دید سازمان دیگر استاندارد نباشد. برای مثال، یک شرکت ممکن است بخواهد فیلد استان یا کشور را با دو رقم ذخیره کند، در حالی که دیگری ممکن است نام کامل را ترجیح دهد. با این حال، اصلاح پایگاه داده میتواند کلید کاهش دادههای تکراری در هر شرکتی باشد. از جمله اقدامات اصلاح پایگاه داده شامل موارد زیر است:
- طراحی پایگاه داده با ساختار مشترک
پایگاههای داده را به گونهای طراحی کنید که دارای فیلدها و ساختار مشترک باشند تا شناسایی تکرار دادهها آسانتر شود.
- تعیین اهداف واقعبینانه
با داشتن اهداف مشخص و برنامهای برای دستیابی به آنها، واقعیت را بپذیرید؛ حذف کامل دادههای تکراری غیرضروری، معمولا انتظاری غیر واقعبینانه است.
- بکارگیری سیستمهای مدیریت داده
از سیستمهای مدیریت داده برای شناسایی مشکلات تکرار و حفظ کیفیت دادهها استفاده کنید.
- استراتژی داده اصلی
از یک استراتژی داده اصلی برای ادغام دادهها از منابع مختلف به یک مجموعه واحد استفاده کنید. این کار بر مدیریت و کیفیت دادهها تمرکز دارد تا امکان به اشتراکگذاری و محافظت بهتر از دادهها فراهم شود.
- استانداردسازی دادهها
دادهها را سازماندهی کنید تا شناسایی تکرار و خطاها آسانتر شود. این کار با استفاده از استانداردسازی دادهها امکانپذیر است.
تفاوت تکثیر داده (Data Replication) و افزونگی داده چیست؟
دیتا رپلیکیشن یا تکثیر داده (Data Replication) فرآیند عمدی برای ایجاد چندین نسخه از یک مجموعه داده و ذخیره آنها در مکانهای مختلف برای دسترسی بهتر به آن است. با استفاده از این راهکار میتوانید بدون هیچ مغایرتی، دسترسی به دادهها را بهبود دهید و آنها را بدون هیچگونه ناهماهنگی، بین کاربران مختلف به اشتراک بگذارید.
اما دیتا ریداندنسی یا افزونگی داده، ذخیره شدن همان دادهها در دیتابیسها یا سیستمهای ذخیرهسازی داده است. هنگامی که این موضوع عمدی باشد، مزایایی را به همراه دارد اما افزونگی داده معمولا ناخواسته ایجاد میشود و مشکلاتی را ایجاد میکند.
مفهوم افزونگی در سایر حوزهها
مفهوم «افزونگی»، علاوه بر حوزه داده، در سایر حوزهها نیز مطرح میشود. در ادامه به کاربردهای ریداندنسی در دیگر حوزهها میپردازیم.
منظور از افزونگی در شبکه چیست؟
ریداندنسی در شبکه به معنای بهکارگیری فناوریها و راهکارهایی است که با هدف حفظ پایداری شبکه، قطعیهای احتمالی را کاهش داده یا بهطور کامل از بین میبرد. در این روش، منابع ثانویه شبکه شامل سختافزار و کانالهای ارتباطی تعبیه شدند تا درصورت عدم دسترسی به کانالهای اصلی، دادهها بهطور یکپارچه به مسیرهای جایگزین هدایت شوند. ریداندنسی شبکه مثل یک لایهای اضافی امنیت است که بر کاهش قطعیهای شبکه و حفظ تداوم کسبوکار تمرکز دارد؛ نوعی برنامهریزی برای روز مبادا که اغلب بخشی از یک طرح بازیابی فاجعه بهشمار میرود.
منظور از افزونگی داده در ذخیره سازی چیست؟
افزونگی داده در ذخیره سازی مثل شمشیر دولبه است که هم به عنوان یک لایه حفاظتی عمل کرده و هم به یک وضعیت سربار تبدیل میشود. حجم زیادی از دادهها اغلب حاوی بلوکهای ذخیرهسازی تکراری هستند. فرایند حذف اطلاعات تکراری (Deduplication) میتواند این بلوکهای اضافی را حذف کند تا میزان مصرف فضای ذخیرهسازی در درایو را کاهش دهد و یا حجم دادهها را به حداقل برساند.
اما از سوی دیگر، بسیاری از سازمانها بهطور عمدی نسخههایی از دیتا ریداندنسی ایجاد میکنند تا احتمال از دست رفتن دادهها را به حداقل برسانند. این نوع افزونگی میتواند شامل میرور کردن ماشینهای مجازی در سرور ابری، والیومهای استوریج با راهکارهای MinIO ،RAID یا Ceph یا حتی افزونگی آفسایت در مکانی خارج از مکان نگهداری اصلی دیتا باشد.
بیشتر بخوانید: RAID چیست؟
منظور از افزونگی سختافزاری یا Hardware Redundancy چیست؟
تا به حال برایتان پیش آمده که با قطع برق، تمام کارهای کامپیوترتان متوقف شود. حالا تصور کنید در یک سازمان مهم، با خاموش شدن یک سرور کل اطلاعات و ارتباطات مختل شود. برای جلوگیری از چنین مشکلاتی، از راهکاری به نام افزونگی سخت افزار (Redundant Hardware) استفاده میشود.
افزونگی سخت افزار به لطف قطعات یا سیستمهای پشتیبان ممکن میشود. این قطعات و سیستمها، درصورت خرابی قطعه اصلی، به کار خود ادامه داده و مانع از اختلال در عملکرد سیستم میشوند.
نمونههایی از افزونگی سخت افزار شامل موارد زیر است:
منبع تغذیه (Power Supply)
منظور از افزونگی در منبع تغذیه یعنی با داشتن چند منبع، درصورت خرابی یکی از آنها دیگری وارد مدار شده و دستگاه خاموش نمیشود. بسیاری از سرورها و تجهیزات شبکه، از بیش از یک منبع تغذیه بهره میبرند.
ذخیرهساز (Storage)
تهیه نسخه پشتیبان از اطلاعات مهم روی چند هارد دیسک مجزا، این اطمینان را میدهد که درصورت خرابی یک دستگاه، همچنان به اطلاعات دسترسی داشته باشید.
تجهیزات شبکه (Network Components)
استفاده از سوییچ یا روتر اضافی، در صورت از کار افتادن یکی از آنها، مانع قطع ارتباطات شبکه میشود.
سیستمهای خنککننده (Cooling and Environmental Controls)
این سیستمها مانع از داغ شدن بیش از حد دستگاهها شده و عملکرد صحیح آنها را تضمین میکنند.
سرور یا سیستم (Servers or Systems)
با داشتن چند سرور که بهصورت همزمان کار میکنند، درصورت خرابی یکی، سایر سرورها وظایف آن را برعهده گرفته و جلوی توقف فعالیتها را میگیرند. با ریداندنسی سرور در ادامه بیشتر آشنا خواهید شد.
منظور از افزونگی در میزبانی وب چیست؟
برای بالا بردن امنیت و در دسترس بودن سرویسهای میزبانی وب، از افزونگی سرور یا (Server redundancy) استفاده میکنند. بهعنوان مثال در یک سرویس ابری به جای اینکه همه منابع سایت فقط از یک سرور تامین شود، از دو یا تعداد بیشتری سرور برای میزبانی وب استفاده میشود. بهاینترتیب، اگر یک سرور دچار مشکل شود، سایت شما همچنان پایدار به کارش ادامه میدهد. ریداندنسی سرور به بالا رفتن بهبود قابلیت در دسترس بودن سرویسها (high availability) کمک مهمی میکنند.
در دنیای وبسایتها، ریداندنسی سرور به این شکل کار میکند که یک کپی کامل از سرور اصلی ساخته میشود که هر زمان نیاز شد، جایگزین سرور اصلی شود. این سرور را میتوانید برای پشتیبانگیری، توزیع بار یا حتی زمانی که میخواهید سرور اصلی را برای تعمیر موقتا خاموش کنید، استفاده کنید. سرور ریداندنت برخلاف سرور اصلی، تا زمانی که لازم نباشد، غیرفعال است. با این حال، به شبکه وصل بوده و آماده است.
چرا Redundant اهمیت دارد؟
اگر از سرور ریداندنت استفاده نکنید، این احتمال وجود دارد که با یکسری مسایل مانند مشکلات زیر روبهرو شوید:
- از دست رفتن اطلاعات: اگر سرور اصلی خراب شود و هیچ بکاپ دیگری وجود نداشته باشد، تمام اطلاعاتتان را از دست خواهید داد.
- قطع شدن سیستم: هرگونه قطعی و اختلال در کار سرور فعالیتهای سایت را مختل میکند و باعث پایین آمدن بهرهوری و حتی ضرر مالی میشود.
- خدشهدار شدن اعتبار: اگر یک کسبوکار نتواند قابلیت پایداری و دسترسیپذیری سایت را حفظ کند، اعتماد مشتریها و کاربرها را از دست خواهد داد.
اگر میخواهید وبسایت یا سرویس آنلاین شما همیشه پایدار باشد، Redundant Server اهمیت بالایی دارد. این کار باعث میشود احتمال قطعی سرویس به هر دلیلی بسیار کم شود.
انواع روشهای افزونگی در سرور
افزونگی سرور (server redundancy) مفهوم کلی استفاده از چند سرور برای اطمینان از در دسترس بودن برنامههای حیاتی و دادههاست. اما این مفهوم انواع مختلفی دارد که در ادامه، به آن خواهیم پرداخت:
۱. Failover
Failover ، فرآیند هدایت خودکار ترافیک از یک سرور خراب به یک سرور سالم و همسان است. این کار تضمین میکند که درصورت عدم دسترسی به سرور اصلی، سرور پشتیبان بدون وقفه در سرویسدهی، جایگزین آن شود. کسبوکارها میتوانند این راهکار را در سطوح مختلفی از سختافزار و نرمافزار گرفته تا لایههای اپلیکیشن پیادهسازی کنند.
۲. توزیع بار (load balancing)
توزیع بار به معنای پخش کردن ترافیک ورودی شبکه یا حجم کار بین چند سرور یا منابع است. این کار باعث افزایش ظرفیت در زمان ترافیک بالا، جلوگیری از افت عملکرد، حفظ تجربه کاربری مطلوب و اطمینان از عدم فشار بیش از حد روی یک سرور خاص میشود.
اهداف اصلی توزیع بار، بهینهسازی منابع، افزایش قابلیت اطمینان سیستم و فشار نیامدن به یک سرور با حجم کاری بالا است. توزیع کننده بار (load balancer) تمامی درخواستهای ورودی را دریافت کرده و سپس آنها را براساس مجموعهای از الگوریتمها بین سرورهای موجود توزیع میکند.
۳. تکثیر (replication)
تکثیر شامل کپی کردن دادهها از یک سرور اصلی به یک یا چند سرور ثانویه است. این کار میتواند همزمان (در لحظه) یا غیرهمزمان (با تأخیر) انجام شود. همچنین تکثیر نیمه همزمان نیز وجود دارد که حد وسطی بین این دو روش است. تکثیر داده میزان در دسترس بودن دادهها را افزایش میدهد اما ممکن است در تنظیمات غیرهمزمان منجر به تناقضات داده شود.
۴. میرور کردن (mirroring)
mirroring به معنای نگهداری یک مجموعه داده یکسان در دو یا چند مکان است. این روش معمولا در پایگاههای داده استفاده میشود، جایی که هر تراکنش انجام شده روی پایگاه داده اصلی، روی پایگاه داده میرور نیز تکرار میشود. این کار سازگاری دادهها را تضمین میکند، اما برای همگامسازی لحظهای به پهنای باند بالای شبکه نیاز دارد.
معرفی انواع سرورهای ریدانت
اکنون که با مفهوم افزونگی سرور آشنا شدیم، بررسی خواهیم کرد چه نوعی از سرورهای ریدانت وجود دارد و هرکدام برای چه کاری مناسب است:
۱. سرورهای استندبای
سرورهای استندبای، سیستمهای پشتیبان هستند که درصورت خرابی سرور اصلی وارد عمل میشوند. این سرورها بسته به نحوه راهاندازی به سه دسته تقسیم میشوند:
- سرور استندبای داغ (Hot Standby)
این سیستم، یک کپی کامل از سرور اصلی است که بهصورت موازی با آن کار میکند. درصورت خرابی سرور اصلی، سرور استندبای داغ میتواند بلافاصله جایگزین شده و از قطعی سرویس جلوگیری کند. البته نگهداری این نوع سرور گران است چون به سختافزار اضافی و همگامسازی مداوم اطلاعات نیاز دارد.
- سرور استندبای سرد (Cold Standby)
این سیستم پشتیبان، درصورت خرابی سرور اصلی روشن میشود. احتمال اینکه آخرین اطلاعات را نداشته باشد و راهاندازی آن زمان ببرد، وجود دارد. با این حال، نگهداری آن بهصرفهتر از سرور استندبای داغ است.
- سرور استندبای گرم (Warm Standby)
این نوع، یک حالت میانی بین سرور استندبای داغ و سرد است. معمولا روشن و در حال اجراست، اما روی اطلاعات زنده کار نمیکند. راهاندازی آن از سرور استندبای سرد سریعتر بوده ولی به تنظیمات دستی نیاز دارد.
۲. کلاستر سرور (Server Cluster)
شاید برایتان سوال باشد که کلاستر سرور (Server Cluster) چیست؟ کلاستر سرور گروهی از سرورها هستند که بهطور همزمان با یک آدرس IP واحد کار میکنند. این سرورها معمولا برای سرویسهایی مثل فایل، پرینت، پایگاه داده، پیامرسانی و بسیاری موارد دیگر کاربرد دارند. کلاسترها باعث افزایش امنیت اطلاعات و پایداری تنظیمات آنها در گذر زمان میشوند.
هر سرور مرتبط با یک کلاستر یک نود (Node) نامیده میشود که منابعی مانند هارد دیسک، رم و پردازنده اختصاصی خود را دارد. در صورت خرابی یکی از سرورهای کلاستر، کار بهراحتی به سرور دیگر منتقل میشود. با جایگزینی سرور معیوب توسط سرور دیگر، کلاستر سرور باعث کاهش زمان قطع شدن (downtime) سرویس میشود. از آنجایی که کار بطور پیوسته ادامه پیدا میکند، کاربران در هر زمان میتوانند به منابع سرور دسترسی داشته باشند.
۳. سیستمهای توزیعشده (Distributed Systems)
در سیستمهای توزیعشده، اجزا روی کامپیوترهای شبکهای اجرا میشوند که با هم ارتباط برقرار کرده تا به شکل یک سیستم واحد و یکپارچه دیده شوند. این طراحی سرور ریداندنت باعث دسترسیپذیری و کارایی بالا میشود اما برای جلوگیری از تداخل اطلاعات به مدیریت دقیق نیاز دارد.
دستیابی به هر سه ویژگی ثبات (Consistency)، در دسترسبودن (Availability) و تحمل خطای دو تکه شدن سیستم (Partition Tolerance) بهطور همزمان در یک سیستم توزیعشده غیرممکن است. منظور از دو تکه شدن سیستم این است که مجموعه سیستم به دلایلی از جمله قطع شدن ارتباط شبکه، به دو قسمت جداگانه تقسیم شود و سیستمهای هر قسمت تنها با هم ارتباط داشته باشند). به عنوان مثال، سیستمی که ثبات اطلاعات را در اولویت قرار میدهد، ممکن است دسترسیپذیری یا تحمل پارتیشنبندی را فدا کند. برعکس این قضیه هم صادق است. سیستمی که اولویت آن دسترسیپذیری بالا است معمولا از قابلیت ثبات اطلاعات یا تحمل پارتیشنبندی برخوردار نیست. کسبوکارها باید هنگام طراحی استراتژی ریداندنسی سرورها، این مورد را در نظر بگیرند.
۴. افزونگی جغرافیایی (Geographic Redundancy)
افزونگی جغرافیایی که با عنوان بازیابی ناشی از سانحه (Disaster Recovery) هم شناخته میشود، شامل برخورداری از سرورهای پشتیبان و مراکز داده در مناطق جغرافیایی مختلف است. اگر بلایای طبیعی، قطعی برق یا هر حادثه فاجعهآمیزی مکانی را تحت تاثیر قرار دهد، با افزونگی جغرافیایی، سرورها میتوانند در مکان دیگر به کار خود ادامه دهند.
کلام پایانی راجع به دیتا ریداندنسی: شمشیر دو لبه برای سازمانها
دیتا ریداندنسی (Data Redundancy) میتواند به ضرر یا نفع سازمان باشد؛ بستگی دارد از چه جنبهای به آن نگاه کنید. تصور کنید انبوهی از اطلاعات تکراری و متناقض در سیستمهای شما جا خوش کردند و منابع شما را هدر میدهند، مدیریت اطلاعات را با چالش روبرو میکنند و امنیت دادههایتان را به خطر میاندازند. اما از سوی دیگر میتوان با استفاده از راهکارهای افزونگی داده، دسترسی به سرویسها و امنیت را بهبود داد و راهکاری برای بازیابی دادهها یا سرویسهایی که با سانحه مواجه شدهاند پیادهسازی کرد.