438
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
438
الاقفال المميت (Deadlock) هو حالة تنشأ عندما تقوم مجموعة من المعاملات بحجز اقفال على موارد محددة وتنتظر بالوقت نفسه حصولها على اقفال محجوزة بواسطة معاملات أخرى. ونتيجة لذلك، تتعطل جميع المعاملات المعنية وتتوقف عن العمل.
عندما يحدث اقفال مميت، لا يمكن استكمال المعاملات بشكل طبيعي، وهذا يؤدي إلى تعطيل النظام وتوقف عمليات قاعدة البيانات. لحل مشكلة الاقفال المميت، يجب اتخاذ إجراءات لمنع حدوثه أو التعامل معه عند حدوثه.
مثال توضيحي:
لنفترض أن هناك معاملتين، المعاملة A والمعاملة B، وكلاهما يحتاج إلى اقفال على موارد مشتركة X و Y. إذا قامت المعاملة A بحجز قفل على المورد X وانتظرت المورد Y، وفي الوقت نفسه قامت المعاملة B بحجز قفل على المورد Y وانتظرت المورد X، فإنهما سيبقيان في حالة انتظار متبادلة مع بعضهما البعض ولا يمكن استكمالهما.
438
درجات العزل (Isolation Levels) هي مجموعة من المستويات التي تحدد مدى عزل العمليات عن بعضها البعض وتأثيرها على بيانات قاعدة البيانات في بيئة متعددة المستخدمين. تعتبر درجات العزل أحد المفاهيم الرئيسية في نظم إدارة قواعد البيانات لضمان الاستقرار والتعامل الصحيح مع البيانات المشتركة.
فيما يلي شرح لبعض درجات العزل الشائعة:
Read Uncommitted (غير معزولة):
يعتبر أدنى مستوى للعزل.
يسمح للعمليات بقراءة البيانات حتى لو لم تكن تمت معالجتها بشكل كامل.
يعرض العمليات لخطر رؤية بيانات غير صحيحة أو غير مستقرة.
Read Committed (معزولة للقراءة):
يضمن أن العمليات تقرأ فقط البيانات التي تمت معالجتها بشكل كامل ومؤكد.
يتم تجنب رؤية بيانات غير صحيحة أو غير مستقرة.
قد يتسبب في حدوث تعارضات (Locking) عند محاولة تعديل البيانات.
Repeatable Read (قراءة متكررة):
يضمن أن العمليات تقرأ نسخة معزولة من البيانات وتحتفظ بها لفترة محددة.
يمنع تغيير البيانات المقروءة من قبل عمليات أخرى حتى تنتهي العملية الحالية.
يتم ضمان استقرار البيانات أثناء قراءتها وتفادي التعارضات.
Serializable (قابلة للتسلسل):
يوفر أعلى مستوى من العزل.
يضمن أن العمليات تتم تسلسليًا ولا يتم تعديل البيانات المقروءة من قبل عمليات أخرى.
قد يؤدي إلى تأثيرات أداء سلبية نظرًا لتأثيره على التزامن بين العمليات.
يعتمد اختيار درجة العزل المناسبة على طبيعة التطبيق ومتطلبات البيانات. قد تكون درجات العزل الأكثر تقييدًا أكثر أمانًا ولكنها قد تتسبب في تأثير أداء أقل، بينما قد توفر درجات العزل الأقل تقييدًا أفضل أداءً ولكنها تزيد من احتمالية حدوث تعارضات بين العمليات.
438
تضمن أنظمة قواعد البيانات وثوقية البيانات أثناء المناقلات التي تجري بأن واحد من خلال تحقيق المبادئ الأربعة التالي :
438
يتم حفظ جميع التغييرات التي تمت من بدء المناقلة فاذا نجحت المناقلة يتم تثبيت هذه المتغيرات أما اذا فشلت يتم اعادة النظام الى وضعه قبل بداية المناقلة والتراجع عن جميع التعديلات
438
تعتبر المناقلة فاشلة اذا فشلت احدى العمليات المنفصلة المتسلسلة التي تتألف منها المناقلة لأي سبب
438
تعتبر المناقلة ناجحة اذا فشلت جميع العمليات المنفصلة المتسلسلة التي تتألف منها المناقلة
438
يجب أن تكون البيانات في أي مرحلة من مراحل العمل في وضع انهيار ليتم ترتيبها
