المعاملات هي عمليات أساسية تسمح لنا بتعديل البيانات واسترجاعها. ومع ذلك، لضمان سلامة قاعدة البيانات، من المهم أن يتم تنفيذ هذه المعاملات بطريقة تحافظ على صحة الاتساق والموثوقية حتى في حالة الفشل / الأخطاء. هذا هو المكان الذي تلعب فيه خصائص ACID.
يرمز ACID إلى العزلة والمتانة لتناسق الذرية.
خصائص الحمض:
هناك أربع خصائص للحمض
1. الذرية
الذرية تعني أن المعاملة تكون كل شيء أو لا شيء، إما أن تنجح جميع عملياتها أو لا يتم تطبيق أي شيء. إذا فشل أي جزء، فسيتم التراجع عن المعاملة بأكملها للحفاظ على اتساق قاعدة البيانات.
- يقترف : إذا نجحت المعاملة، فسيتم تطبيق التغييرات بشكل دائم.
- إحباط/استرجاع : إذا فشلت المعاملة، فسيتم تجاهل أي تغييرات تم إجراؤها أثناء المعاملة.
مثال : خذ بعين الاعتبار المعاملة التالية ت تتكون من T1 و T2 : تحويل 0 من الحساب X لحساب و .
الذريةإذا فشلت المعاملة بعد إكمال T1 ولكن قبل إكمال T2، فسيتم ترك قاعدة البيانات في حالة غير متناسقة. مع Atomicity، إذا فشل أي جزء من المعاملة، فسيتم إرجاع العملية بأكملها إلى حالتها الأصلية ولا يتم إجراء أي تغييرات جزئية.
الاتساق في المعاملات يعني أن قاعدة البيانات يجب أن تظل في حالة صالحة قبل وبعد المعاملة.
مؤشر الرجوع ج
- تتبع الحالة الصالحة جميع قيود وعلاقات القواعد المحددة (مثل المفاتيح الأساسية والمفاتيح الخارجية وما إلى ذلك).
- إذا انتهكت إحدى المعاملات أيًا من هذه القواعد، فسيتم التراجع عنها لمنع البيانات الفاسدة أو غير الصالحة.
- إذا قامت إحدى المعاملات بخصم أموال من حساب واحد ولكنها لم تضيفها إلى حساب آخر (في عملية تحويل)، فهذا ينتهك الاتساق.
مثال : لنفترض أن مجموع جميع الأرصدة في النظام البنكي يجب أن يكون ثابتًا دائمًا. قبل التحويل، يكون الرصيد الإجمالي 0. وبعد المعاملة، يجب أن يظل الرصيد الإجمالي 0. إذا فشلت المعاملة في المنتصف (مثل تحديث حساب واحد وليس الآخر)، فيجب أن يحافظ النظام على اتساقه عن طريق التراجع عن المعاملة.
الإجمالي قبل حدوث T = 500 + 200 = 700 .
الإجمالي بعد حدوث T = 400 + 300 = 700 .
تناسق3. العزلة
يضمن العزل أن تتم المعاملات بشكل مستقل دون التأثير على بعضها البعض. التغييرات التي تم إجراؤها بواسطة معاملة واحدة لن تكون مرئية للآخرين حتى يتم الالتزام بها.
فهو يضمن أن نتيجة المعاملات المتزامنة هي نفسها كما لو تم تشغيلها واحدة تلو الأخرى، مما يمنع حدوث مشكلات مثل:
نظام التشغيل
- يقرأ القذرة: قراءة البيانات غير الملتزم بها
- قراءات غير قابلة للتكرار: تتغير البيانات بين قراءتين
- يقرأ الوهم: تظهر صفوف جديدة أثناء المعاملة
مثال : النظر في معاملتين T وT''.
- س = 500 ص = 500
عزلتوضيح:
1. المعاملة ر:
- يريد T الانتقال من X إلى Y.
- يقرأ تي و (القيمة: 500) تخصم من X (X الجديدة = 450) وتضيف إلى Y (Y الجديدة = 550).
2. المعاملة "ت":
- تي' ' يبدأ ويقرأ X (500) وY (500).
- ويحسب المجموع: 500 + 500 = 1000.
- وفي الوقت نفسه تتغير قيم X وY إلى 450 و550 على التوالي.
- إذن المجموع الصحيح يجب أن يكون 450 + 550 = 1000.
- يضمن العزل أن T'' لا يقرأ القيم القديمة بينما لا تزال معاملة أخرى (T) قيد التقدم.
- يجب أن تكون المعاملات مستقلة ويجب أن يصل T'' إلى القيم النهائية فقط بعد التزام T.
- يؤدي هذا إلى تجنب النتائج غير المتناسقة مثل المجموع غير الصحيح المحسوب بواسطة T''.
4. المتانة:
تضمن المتانة أنه بمجرد تنفيذ المعاملة، يتم حفظ تغييراتها بشكل دائم حتى في حالة فشل النظام. يتم تخزين البيانات في ذاكرة غير متطايرة حتى تتمكن قاعدة البيانات من العودة إلى آخر حالة التزام بها دون فقدان البيانات.
مثال : بعد تحويل الأموال بنجاح من الحساب "أ" إلى الحساب "ب"، يتم تخزين التغييرات على القرص. حتى لو حدث عطل مباشرة بعد الالتزام، فستظل تفاصيل النقل سليمة عندما يتعافى النظام مما يضمن المتانة.
كيف تؤثر خصائص ACID على تصميم وتشغيل نظام إدارة قواعد البيانات (DBMS).
ال توفر خصائص ACID في مجملها آلية لضمان صحة واتساق قاعدة البيانات بطريقة تجعل كل معاملة عبارة عن مجموعة من العمليات التي تعمل كوحدة واحدة وتنتج نتائج متسقة تعمل بمعزل عن العمليات الأخرى ويتم تخزين التحديثات التي تجريها بشكل دائم.
تعمل خصائص ACID على حماية سلامة بيانات نظام إدارة قواعد البيانات (DBMS) من خلال ضمان اكتمال المعاملات بنجاح أو عدم ترك أي أثر في حالة مقاطعتها. فهي تمنع التحديثات الجزئية من إتلاف البيانات وتضمن انتقال قاعدة البيانات بين الحالات الصالحة فقط.
2. التحكم في التزامن
توفر خصائص ACID إطارًا قويًا لإدارة المعاملات المتزامنة. يضمن العزل عدم تداخل المعاملات مع بعضها البعض مما يمنع حدوث شذوذ في البيانات مثل التحديثات المفقودة وعدم الاتساق المؤقت والبيانات غير الملتزم بها.
3. التعافي والتسامح مع الأخطاء
تضمن المتانة أنه حتى في حالة تعطل النظام، يمكن لقاعدة البيانات العودة إلى حالة ثابتة. بفضل خصائص الذرية والمتانة في حالة فشل المعاملة في منتصف الطريق، تظل قاعدة البيانات في حالة متسقة.
| ملكية | مسؤولية الحفاظ على الممتلكات |
|---|---|
| الذرية | مدير المعاملات |
| تناسق | مبرمج التطبيقات |
| عزل | مدير التحكم في التزامن |
| متانة | استعادة |
حالات الاستخدام الحرجة لـ ACID في قواعد البيانات
في التطبيقات الحديثة، يعد ضمان موثوقية البيانات واتساقها أمرًا بالغ الأهمية. تعتبر خصائص ACID أساسية في قطاعات مثل:
- الخدمات المصرفية : المعاملات التي تنطوي على تحويلات مالية أو إيداعات أو سحوبات يجب أن تحافظ على الاتساق الصارم والمتانة لمنع الأخطاء والاحتيال.
- التجارة الإلكترونية : التأكد من التعامل مع طلبات جرد المخزون وتفاصيل العملاء بشكل صحيح ومتسق حتى أثناء حركة المرور العالية يتطلب الامتثال لـ ACID.
- الرعاية الصحية : يجب أن تلتزم نتائج اختبارات سجلات المرضى والوصفات الطبية بمعايير النزاهة والأمن الصارمة.