تئوری CAP

تئوری CAP اولین بار توسط پروفسور اریک ای. بروئر در طی یک گفت و گو در مورد محاسبات توزیع شده در سال 2000 برجسته شد و از این رو به عنوان تئوری Brewer نیز شناخته می شود. دو سال بعد از آن، پروفسورهای دانشگاه MIT، نانسی لینچ و سث گیلبرت در اثبات تخمین بروئر مقاله ای منتشر کردند.

این تئوری عنوان می کند که برای یک مخزن داده توزیع شده غیر ممکن است که همزمان بیشتر از دو مورد از سه مورد زیر را بتوان تامین کرد:

پایداری، دسترس پذیری و تحمل پارتیشن. حروف مخفف شده C ، A و P در CAP نیز به همین سه مورد اشاره می کنند. توضیح این سه اصل به شرح زیر است:

  • پایداری: پایداری به این معنا است که تمامی کلاینت ها بتوانند داده یکسان را در زمان یکسان ها ببینند و اهمیتی هم نداشته باشد به کدام گره وصل شده اند. برای اینکه چنین چیزی رخ دهد، هر زمان که داده ای بر روی یک نود نوشته می شود بایستی قبل از اینکه به عنوان نوشتن موفقیت آمیز ثبت شود باید سریعا بر روی تمامی نودهای دیگر در سیستم فوروارد یا تکثیر شود. به عبارت دیگر هر خوانش از سیستم باید جدیدترین نوشتن یا خطا را برگرداند.

  • دسترسی پذیری: دسترسی پذیر بودن به این معناست که هر کلاینت که درخواستی برای داده می دهد یک پاسخ دریافت کند حتی اگر یکی یا بیشتر از نودها از کار افتاده باشند. راه دیگر برای بیان این موضوع این است که تمامی گره های در حال کار در سیستم توزیع شده یک پاسخ بدون استثناء به هر درخواست برگردانند.

  • تحمل پارتیشن: یک پارتیشن یک وقفه ارتباطات در درون یک سیستم توزیع شده یعنی از دست دادن ارتباط یا ارتباط با تاخیر بین دو گره است. تحمل پارتیشن به این معنا است که خوشه صرف نظر از هر تعداد خرابی ارتباطی بین گره ها در سیستم باید به کار خود ادامه دهد.

هیچ سیستم توزیع شده ای از خرابی های شبکه در امان نیست. در نتیجه، جدا شدن شبکه (پارتیشن شدن) در حالت کلی بایستی تحمل شود. در حضور یک چند تکه شدن شبکه، یکی از دو گزینه ها باقی می ماند: پایداری یا دسترسی پذیری.

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

در نبود نقص شبکه، سیستم توزیع شده به صورت نرمال اجرا خواهد شد و هر دو ویژگی پایداری و دسترسی پذیری تامین می شوند.

توجه: تئوری CAP اغلب اشتباه برداشت می شود که بایستی یکی از سه ویژگی در تمامی زمان ها رها شود. در واقع انتخاب در حقیقت بین پایداری و دسترسی پذیری فقط در شرایط نقص و چند تکه شدن شبکه است. در باقی زمان ها نیازی نیست که چنین مصالحه ای انجام شود.

دیدگاه‌ خود را بنویسید

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