نظرية CAP ونماذج الاتساق
تحدد نماذج الاتساق الضمانات التي يقدمها النظام المنسوخ بشأن القيم التي تُرجعها عمليات القراءة، وتحدد نظرية CAP أي من هذه الضمانات يمكن أن تتعايش مع التوافر في ظل انقسامات الشبكة.
Definition
نموذج الاتساق هو عقد بين مخزن بيانات منسوخ وعملائه يحدد النتائج المسموح بها لعمليات القراءة والكتابة المتزامنة؛ وتنص نظرية CAP على أنه في وجود انقسام في الشبكة، لا يمكن لمخزن البيانات الموزع توفير كل من الاتساق الخطي والتوافر.
Scope
يغطي هذا الموضوع نماذج الاتساق الرسمية — الخطية (linearizability)، والاتساق التسلسلي (sequential consistency)، والاتساق السببي (causal consistency)، والاتساق النهائي (eventual consistency) — وترتيبها حسب القوة؛ ونظرية CAP وبيانها الدقيق وإثباتها؛ والتحسينات مثل PACELC التي تأخذ في الاعتبار أيضًا المفاضلة بين زمن الوصول والاتساق في غياب الانقسامات. ويوفر هذا الموضوع المفردات اللازمة لتحديد ومقارنة ضمانات الأنظمة المنسوخة.
Core questions
- كيف تختلف الخطية والاتساق التسلسلي والسببي والنهائي في القوة؟
- ما الذي تحظره نظرية CAP بالضبط، وما الذي تسمح به؟
- كيف تعمل اعتبارات زمن الوصول على تحسين مفاضلة الاتساق عندما لا يكون هناك انقسام؟
Key theories
- الخطية والاتساق التسلسلي
- تتطلب الخطية أن تظهر كل عملية وكأنها تحدث بشكل ذري في لحظة ما بين استدعائها واستجابتها، بما يتوافق مع الوقت الحقيقي؛ ويسقط الاتساق التسلسلي متطلب الوقت الحقيقي، ويطالب فقط بتداخل قانوني واحد يحترم ترتيب كل عملية.
- نظرية CAP
- أثبت جيلبرت ولينش أنه لا يمكن لأي مخزن بيانات منسوخ أن يضمن كلاً من الاتساق الخطي والتوافر عندما قد تسقط الشبكة الرسائل بين النسخ المتماثلة، مما يفرض اختيارًا أثناء الانقسامات.
- تحسين PACELC
- توسع PACELC نظرية CAP بالإشارة إلى أنه حتى بدون انقسام، يوازن النظام بين زمن الوصول والاتساق، لذا تتميز التصميمات بسلوكها أثناء الانقسامات وفي التشغيل العادي.
Clinical relevance
يجب على كل قاعدة بيانات موزعة وخدمة تخزين أن تعلن عن نموذج اتساق، وتشرح مفاضلات CAP وPACELC سبب إعطاء بعض الأنظمة الأولوية للتوافر بينما تعطي أنظمة أخرى الأولوية للاتساق؛ وفهمها ضروري لاختيار وتشغيل البنية التحتية للبيانات.
History
عرّف لامبورت الاتساق التسلسلي في عام 1979، وقام هيرلي وونج بإضفاء الطابع الرسمي على الخطية في عام 1990؛ وافترض بروير مفاضلة CAP في عام 2000، وأثبتها جيلبرت ولينش في عام 2002، وأوضح إعادة صياغة أبادي لـ PACELC في عام 2012 أن زمن الوصول، وليس الانقسامات فقط، هو الذي يدفع خيارات الاتساق.
Debates
- هل غالبًا ما يُساء تفسير CAP؟
- غالبًا ما يتم تلخيص CAP على أنها 'اختر اثنين من ثلاثة'، لكن النتيجة الدقيقة تفرض فقط اختيار الاتساق-التوافر أثناء الانقسام؛ ويجادل النقاد بأن هذا التبسيط المفرط يحجب المفاضلة اليومية الأكثر صلة بين زمن الوصول والاتساق التي يجسدها PACELC.
Key figures
- Eric Brewer
- Seth Gilbert
- Nancy Lynch
- Maurice Herlihy
- Jeannette Wing
- Leslie Lamport
Related topics
Seminal works
- gilbert2002
- herlihy1990
- lamport1979
Frequently asked questions
- هل تعني CAP أن النظام يمكن أن يحتوي فقط على اثنين من الاتساق والتوافر وتحمل الانقسام؟
- ليس تمامًا. الانقسامات هي حقيقة من حقائق الشبكات، وليست خيارًا تصميميًا، لذا فإن القرار الحقيقي هو ما يجب فعله أثناء الانقسام: التضحية بالاتساق القوي للبقاء متاحًا، أو التضحية بالتوافر للبقاء متسقًا. عندما لا يكون هناك انقسام، يمكن أن يكون النظام متسقًا ومتاحًا في آن واحد.