قفل متعدد الحبيبات

في علوم الحاسوب ، يعتبر قفل الحبيبات المتعددة ( MGL ) طريقة قفل تستخدم في أنظمة إدارة قواعد البيانات (DBMS) وقواعد البيانات العلائقية .

في تقنية القفل متعدد المستويات، تُوضع الأقفال على الكائنات التي تحتوي على كائنات أخرى. تستغل هذه التقنية الطبيعة الهرمية لعلاقة الاحتواء . على سبيل المثال، قد تحتوي قاعدة البيانات على ملفات، تحتوي بدورها على صفحات، تحتوي بدورها على سجلات. يمكن تصور ذلك على أنه شجرة من الكائنات، حيث تحتوي كل عقدة على أبنائها. يؤدي القفل على هذا الهيكل (مثل القفل المشترك أو الحصري) إلى قفل العقدة المستهدفة وجميع فروعها. [ 1 ]

عادة ما يتم استخدام قفل الحبيبات المتعددة مع قفل الطورين غير الصارم لضمان قابلية التسلسل .

أوضاع القفل

بالإضافة إلى الأقفال المشتركة ( S ) والأقفال الحصرية ( X ) من أنظمة القفل الأخرى، مثل القفل ثنائي الطور الصارم، يستخدم MGL أيضًا "أقفالًا" مقصودة، لا تُقفل عقدة بشكل مباشر، بل تُشير إلى وجود قفل من النوع المحدد في مستوى أدنى من التسلسل الهرمي للعقد، أو إلى نية إضافته. تشمل الأقفال المقصودة "القفل المشترك المقصود" ( IS )، و"القفل الحصري المقصود" ( IX )، والقفل المُدمج "المشترك والحصري المقصود" ( SIX ). تتعارض أقفال IS مع الأقفال X ، بينما تتعارض أقفال IX مع كل من الأقفال S و X. أما القفل الفارغ ( NL ) فهو متوافق مع جميع الأقفال.

لقفل عقدة في S (أو X )، يمتلك MGL قفل المعاملة على جميع أسلافها في IS (أو IX )، لذا إذا قامت معاملة بقفل عقدة في S (أو X )، فلن تتمكن أي معاملة أخرى من الوصول إلى أسلافها في X (أو S و X ). يوضح الجدول التالي هذا البروتوكول:

للحصول علىيجب أن يكون موجودًا لدى جميع الأجداد
IS أو SIS أو IX
IX أو SIX أو XIX أو SIX

يتم تحديد مستوى دقة القفل عن طريق قفل أدق مستوى ممكن (أي عند أدنى مستوى فرعي)، ثم تصعيد هذه الأقفال إلى مستويات أعلى في التسلسل الهرمي للملفات لتغطية المزيد من السجلات أو عناصر الملفات حسب الحاجة، في عملية تُعرف باسم "تصعيد القفل". تتوافق أوضاع قفل MGL مع بعضها البعض كما هو موضح في المصفوفة التالية.

وضعهولندايكون9SستةX
هولندانعمنعمنعمنعمنعمنعم
يكوننعمنعمنعمنعمنعملا
9نعمنعمنعملالالا
Sنعمنعملانعملالا
ستةنعمنعملالالالا
Xنعملالالالالا

باتباع بروتوكول القفل ومصفوفة التوافق، إذا احتفظت معاملة واحدة بعقدة في الوضع S، فلا يمكن لأي معاملات أخرى أن تقفل أي سلف في الوضع X.

انظر أيضاً

مراجع

  1. جيم غراي ؛ ريموند أ. لوري؛ جي  . آر. بوتزولو؛ إيرفينغ إل. ترايغر (1976). "دقة الأقفال ودرجات الاتساق في قاعدة بيانات مشتركة". تقرير فني من شركة IBM . IBM. CiteSeerX 10.1.1.92.8248 .