رسم بياني للأسبقية
يُستخدم مخطط الأسبقية ، المعروف أيضًا بمخطط التعارض [ 1 ] ومخطط التسلسل ، في سياق التحكم بالتزامن في قواعد البيانات . [ 2 ] وهو الرسم البياني الموجه الذي يمثل أسبقية المعاملات في الجدول الزمني، كما يتضح من أسبقية العمليات المتعارضة في المعاملات. يكون الجدول الزمني قابلاً للتسلسل في حالة التعارض إذا وفقط إذا كان مخطط أسبقية المعاملات الملتزمة فيه غير دوري .
يحتوي مخطط الأسبقية للجدول S على ما يلي:
- عقدة لكل معاملة ملتزمة في S
- يُنشأ قوس من العملية T i إلى العملية T j إذا سبق إجراءٌ من T i أحد إجراءات T j وتعارض معه . أي أن الإجراءات تنتمي إلى معاملات مختلفة، وأن أحد الإجراءات على الأقل هو عملية كتابة، وأن الإجراءات تصل إلى نفس الكائن (قراءة أو كتابة).
يمكن منع دورات المعاملات الملتزمة بإلغاء معاملة غير محسومة (لا هي ملتزمة ولا هي ملغاة) في كل دورة ضمن مخطط أسبقية جميع المعاملات، وإلا فقد تتحول إلى دورة من المعاملات الملتزمة (ولا يمكن إلغاء المعاملة الملتزمة). يُعدّ إلغاء معاملة واحدة في كل دورة كافيًا لكسر الدورة والقضاء عليها (يمكن إلغاء المزيد من المعاملات، وقد يحدث ذلك في بعض الآليات، ولكنه غير ضروري لضمان قابلية التسلسل). عادةً ما يكون احتمال توليد الدورة منخفضًا، ومع ذلك، تُعالج هذه الحالة بعناية، وعادةً ما يكون ذلك مصحوبًا بقدر كبير من التكاليف الإضافية، نظرًا لأهمية التحقق من صحة البيانات. تُعاد المعاملات التي أُلغيت بسبب منع انتهاك قابلية التسلسل إلى وضعها الأصلي وتُنفذ مرة أخرى على الفور.
أمثلة على مخططات الأسبقية
المثال 1
المثال 2
مخطط أسبقية الجدول الزمني D، بثلاث معاملات. نظرًا لوجود دورة (طولها 2؛ بحافتين) عبر المعاملتين الملتزمتين T1 وT2، فإن هذا الجدول الزمني (السجل) غير قابل للتسلسل في حالة التعارض . لاحظ أن التزام المعاملة 2 لا يُؤثر على إنشاء مخطط الأسبقية.
المثال 3

خوارزمية لاختبار قابلية التسلسل المتعارض لجدول S مع مثال لجدول.
- أو
- لكل معاملة T x مشاركة في الجدول S، أنشئ عقدة تحمل اسم Ti في مخطط الأسبقية. وبالتالي، يحتوي مخطط الأسبقية على T 1 و T 2 و T 3 .
- لكل حالة في المجموعة S حيث يقوم T j بتنفيذ عملية قراءة العنصر (X) بعد أن يقوم T i بتنفيذ عملية كتابة العنصر (X)، أنشئ حافة (T i → T j ) في مخطط الأسبقية. لا يحدث هذا في المثال أعلاه، حيث لا توجد عملية قراءة بعد عملية كتابة.
- لكل حالة في المجموعة S حيث يقوم T j بتنفيذ عملية كتابة العنصر (X) بعد أن يقوم T i بتنفيذ عملية قراءة العنصر (X)، أنشئ حافة (T i → T j ) في مخطط الأسبقية. ينتج عن ذلك حافة موجهة من T 1 إلى T 2 (حيث أن T 1 لديه R(A) قبل أن يكون لدى T 2 W(A) ).
- لكل حالة في المجموعة S حيث يقوم T j بتنفيذ أمر كتابة العنصر (X) بعد أن يقوم T i بتنفيذ أمر كتابة العنصر (X)، أنشئ حافة (T i → T j ) في مخطط الأسبقية. ينتج عن ذلك حواف موجهة من T 2 إلى T 1 ، ومن T 2 إلى T 3 ، ومن T 1 إلى T 3 .
- يكون الجدول الزمني S قابلاً للتسلسل إذا وفقط إذا لم يكن لمخطط الأسبقية أي دورات. وبما أن T1 و T2 يشكلان دورة، فإن المثال أعلاه غير قابل للتسلسل (بسبب التعارض).
مراجع
روابط خارجية
- في كتاب "أساسيات أنظمة قواعد البيانات، الطبعة الخامسة"، تمت مناقشة استخدام مخططات الأسبقية في الفصل 17، حيث أنها تتعلق باختبارات قابلية التسلسل المتعارض .
- أبراهام سيلبرشاتز ، هنري كورث ، و إس سودارشان. 2005. مفاهيم نظام قاعدة البيانات (5 ed.)، PP. 628-630. شركة ماكجرو هيل، نيويورك، نيويورك، الولايات المتحدة الأمريكية.
- أنظمة إدارة قواعد البيانات
