Skip to main content

نموذج ACID لأنظمة إدارة قواعد البيانات

حمض وقاعدة لويس (قد 2025)

حمض وقاعدة لويس (قد 2025)
Anonim

نموذج ACID لتصميم قاعدة البيانات هو واحد من أقدم وأهم مفاهيم نظرية قواعد البيانات. وهو يحدد أربعة أهداف يجب على كل نظام إدارة قواعد البيانات أن يسعى جاهداً لتحقيقها: الذريّة والاتساق والعزلة والمتانة. لا يمكن اعتبار قاعدة البيانات العلائقية التي تفشل في تلبية أي من هذه الأهداف الأربعة موثوقًا بها. تعتبر قاعدة البيانات التي تمتلك هذه الخصائص متوافقة مع ACID.

ACID معرف

دعونا نأخذ لحظة لفحص كل من هذه الخصائص بالتفصيل:

  • Atomicity تنص على أن تعديلات قاعدة البيانات يجب أن تتبع قاعدة "الكل أو لا شيء". ويقال أن كل معاملة "ذرية". إذا فشل جزء من المعاملة ، فستفشل المعاملة بالكامل. من الأهمية بمكان أن يحافظ نظام إدارة قواعد البيانات على الطبيعة الذرية للمعاملات على الرغم من أي نظام DBMS أو نظام التشغيل أو فشل الأجهزة.
  • التناسق ينص على أنه سيتم كتابة البيانات الصالحة فقط إلى قاعدة البيانات. إذا تم تنفيذ معاملة ما لسبب ما تنتهك قواعد تناسق قاعدة البيانات ، فسيتم إرجاع المعاملة بالكامل ، وستتم استعادة قاعدة البيانات إلى حالة تتفق مع هذه القواعد. من ناحية أخرى ، إذا تم تنفيذ معاملة بنجاح ، فسيأخذ قاعدة البيانات من حالة واحدة تتفق مع القواعد إلى حالة أخرى تتفق أيضًا مع القواعد.
  • عزل يتطلب أن المعاملات المتعددة التي تحدث في الوقت نفسه لا تؤثر في تنفيذ الآخر. على سبيل المثال ، إذا قام جو بإصدار معاملة ضد قاعدة بيانات في نفس الوقت الذي تقوم فيه ماري بإصدار معاملة مختلفة ، يجب أن تعمل كلا المعاملات على قاعدة البيانات بطريقة معزولة. يجب أن تقوم قاعدة البيانات بإجراء معاملة Joe بالكامل قبل تنفيذ Mary ، أو العكس. هذا يمنع معاملة جو من قراءة البيانات الوسيطة الناتجة كأثر جانبي لجزء من معاملة ماري والتي لن تلتزم في نهاية المطاف بقاعدة البيانات. لاحظ أن خاصية العزل لا تضمن المعاملة التي ستنفذ أولاً - فقط أن المعاملات لن تتداخل مع بعضها البعض
  • متانة يضمن أن أي معاملة ملتزمة بقاعدة البيانات لن تضيع. ويتم ضمان المتانة من خلال استخدام النسخ الاحتياطية لقواعد البيانات وسجلات المعاملات التي تسهل استعادة المعاملات المرتكبة على الرغم من أي أعطال لاحقة في البرامج أو الأجهزة.

كيف يعمل ACID في الممارسة

يستخدم مسؤولو قواعد البيانات العديد من الاستراتيجيات لفرض ACID.

واحدة تستخدم لفرض الذري والمتانة تسجيل الكتابة (WAL) ، حيث يتم أولاً كتابة أي تفاصيل للمعاملات إلى سجل يتضمن كل من الإعادة والتراجع عن المعلومات. هذا يضمن أنه ، بسبب فشل قاعدة البيانات من أي نوع ، يمكن لقاعدة البيانات التحقق من السجل ومقارنة محتوياته إلى حالة قاعدة البيانات.

طريقة أخرى تستخدم لمعالجة الذرية والمتانة الظل الترحيل، حيث يتم إنشاء صفحة ظل عندما يتم تعديل البيانات. تتم كتابة تحديثات الاستعلام إلى صفحة الظل بدلاً من البيانات الحقيقية في قاعدة البيانات. يتم تعديل قاعدة البيانات نفسها فقط عند اكتمال التحرير.

استراتيجية أخرى تسمى الالتزام على مرحلتين بروتوكول ، مفيدة بشكل خاص في أنظمة قواعد البيانات الموزعة. يفصل هذا البروتوكول طلب تعديل البيانات إلى مرحلتين: مرحلة طلب الالتزام وطور الالتزام. في مرحلة الطلب ، يجب أن تؤكد جميع نظم إدارة قواعد البيانات على الشبكة المتأثرة بالمعاملات أنها قد استلمتها ولديها القدرة على إجراء المعاملة. بمجرد استلام التأكيد من جميع قواعد بيانات DBMS ذات الصلة ، تكتمل مرحلة الالتزام التي يتم فيها تعديل البيانات فعليًا.