إدارة المعاملات والتزامن
تتيح إدارة المعاملات والتحكم في التزامن لقاعدة البيانات تنفيذ العديد من المعاملات المتزامنة بشكل صحيح والبقاء على قيد الحياة في حالات الفشل، مما يضمن خصائص الذرية والاتساق والعزل والمتانة (ACID).
Definition
المعاملة هي تسلسل من عمليات قاعدة البيانات يتم تنفيذها كوحدة منطقية واحدة تكون ذرية، وتحافظ على الاتساق، ومعزولة عن المعاملات المتزامنة، ومتينة بمجرد الالتزام بها؛ إدارة المعاملات هي مجموعة الآليات التي تفرض هذه الخصائص تحت ظروف التزامن والفشل.
Scope
يغطي هذا المجال المعاملة كوحدة عمل والآليات التي تجعل التنفيذ المتزامن والمعرض للفشل صحيحًا: خصائص ACID؛ قابلية التسلسل كمعيار للصحة للتزامن؛ بروتوكولات القفل والطابع الزمني والإصدارات المتعددة التي تفرضها؛ مستويات العزل الأضعف التي توازن بين الاتساق والأداء؛ وتقنيات التسجيل والاسترداد التي تضمن الذرية والمتانة عبر الأعطال. يستثنى من ذلك الالتزام الموزع عبر مواقع متعددة، والذي يتم تناوله في مجال قواعد البيانات الموزعة والمتوازية.
Sub-topics
Core questions
- ماذا تضمن خصائص ACID ولماذا هي ضرورية؟
- ما الذي يجعل الجدول الزمني المتزامن صحيحًا، أي قابلاً للتسلسل؟
- كيف تفرض بروتوكولات القفل والطابع الزمني والإصدارات المتعددة قابلية التسلسل؟
- كيف تستعيد تقنيات التسجيل والاسترداد حالة متسقة بعد الانهيار؟
- كيف توازن مستويات العزل الأضعف بين الاتساق والتزامن؟
Key concepts
- المعاملة والالتزام/التراجع
- خصائص ACID
- قابلية التسلسل ورسم بياني الأسبقية
- القفل ثنائي الطور
- ترتيب الطابع الزمني
- التحكم في التزامن متعدد الإصدارات
- اكتشاف ومنع الجمود (deadlock)
- التسجيل المسبق للكتابة (write-ahead logging)
- مستويات العزل
Key theories
- خصائص ACID
- الذرية (التنفيذ الكلي أو اللا شيء)، والاتساق (الحفاظ على قيود التكامل)، والعزل (تبدو المعاملات المتزامنة وكأنها تعمل بمفردها)، والمتانة (تبقى الآثار الملتزم بها بعد الأعطال) تحدد معًا السلوك الصحيح للمعاملات.
- قابلية التسلسل
- يكون الجدول الزمني المتزامن صحيحًا إذا كان مكافئًا لبعض التنفيذ التسلسلي؛ قابلية التسلسل المتعارضة، التي يتم اختبارها عبر رسم بياني الأسبقية (التسلسل)، هي المعيار العملي الذي تفرضه بروتوكولات التحكم في التزامن.
- التحكم في التزامن والاسترداد
- تمنع طرق القفل وترتيب الطابع الزمني والإصدارات المتعددة التداخلات غير القابلة للتسلسل، بينما تضمن خوارزميات التسجيل المسبق للكتابة والاسترداد الذرية والمتانة، وهما النصفان الصحيحان لمعالجة المعاملات.
Clinical relevance
إدارة المعاملات هي ما يجعل قواعد البيانات جديرة بالثقة للمال والسجلات: فهي تضمن أن التحويل المصرفي لا يخصم أبدًا من حساب دون إضافة إلى آخر، وأن شركة الطيران لا تحجز مقعدًا مرتين تحت طلبات متزامنة، وأن البيانات الملتزم بها تبقى بعد الأعطال، مما يدعم جميع الأنظمة المعاملاتية الموثوقة.
History
تم إضفاء الطابع الرسمي على مفهوم المعاملات وخصائص ACID في نظام IBM R في السبعينيات؛ وضع إيسواران وزملاؤه (1976) مفاهيم الاتساق والقفل، وعرّف جيم غراي المعاملات والاسترداد، وقام بيرنشتاين وهادزيلاكوس وغودمان (1987) بتنظيم نظرية قابلية التسلسل. أكسبت مساهمات غراي في معالجة المعاملات جائزة تورينج.
Key figures
- Jim Gray
- Philip Bernstein
- Andreas Reuter
Related topics
Seminal works
- gray1992
- bernstein1987
- eswaran1976
Frequently asked questions
- ماذا يعني أن يكون جدول المعاملات قابلاً للتسلسل؟
- يكون الجدول الزمني المتزامن قابلاً للتسلسل إذا كان تأثيره الكلي مطابقًا لتشغيل نفس المعاملات واحدة تلو الأخرى بترتيب معين. قابلية التسلسل هي معيار الصحة الذهبي: على الرغم من تداخل المعاملات لتحقيق الأداء، فإن النتيجة تكون كما لو أنها نُفذت بشكل تسلسلي، لذلك لا ترى أي معاملة حالة وسيطة غير متسقة.
- لماذا يُسمح بمستويات عزل أضعف إذا كان بإمكانها إنتاج حالات شاذة؟
- يتحمل فرض قابلية التسلسل الكاملة تكلفة أداء في تنازع القفل والإلغاء. يمكن للعديد من التطبيقات تحمل بعض الحالات الشاذة مقابل تزامن أعلى، لذلك يحدد معيار SQL مستويات عزل أضعف (القراءة الملتزم بها، القراءة المتكررة، وما إلى ذلك) التي تتيح للمطورين الموازنة عمدًا بين بعض العزل والإنتاجية.