ماذا يعني اذا قاعدة بيانات متوافقة مع ACID؟
Context:في علوم الكمبيوتر، ACID (atomicity, consistency, isolation, durability) هو مجموعة من خصائص معاملات قاعدة البيانات التي تهدف لضمان صحة البيانات على الرغم من الأخطاء وفشل الطاقة وغيرها من الحوادث. في سياق قواعد البيانات، يسمى تسلسل عمليات قاعدة البيانات التي تلبي خصائص ACID (والتي يمكن إعتبارها عملية منطقية واحدة على البيانات) معاملة. مثلًا، تحويل الأموال من حساب بنكي إلى حساب بنكي آخر، حتى لو كان يتضمن تغييرات متعددة مثل خصم حساب واحد وإضافة حساب آخر، هو معاملة واحدة.  في عام 1983، اخترع أندرياس روتر وتيو هيردر الاختصار ACID، بناءً على عمل سابق من جيم غراي الذي سمي الذرية والاتساق والمتانة، ولكن ليس العزلة، عند تمييز مفهوم المعاملات. هذي الخصائص الاربعة هي الضمانات الرئيسية لنموذج المعاملات، والذي أثر على العديد من جوانب تطوير أنظمة قواعد البيانات.  وفقًا لـ غراي و روتر، نظام إدارة المعلومات لـ IBM دعم معاملات ACID في وقت مبكر من عام 1973 (على الرغم من أن الاختصار تم إنشاؤه في وقت لاحق).  ذرية المقال الرئيسي: Atomicity (أنظمة قاعدة بيانات) المعاملات غالباً تتكون من بيانات متعددة. الذرية تضمن ان كل معاملة تعامل كوحدة واحدة، والتي إما تنجح تماما أو تفشل تماما: اذا فشل اي من البيانات التي تشكل معاملة في إكمالها، فستفشل المعاملة بأكملها وتبقى قاعدة البيانات دون تغيير. النظام الذري يجب ان يضمن الذرية في كل موقف، بما في ذلك انقطاع الكهرباء، الاخطاء، والانهيارات. ضمان الذرية يمنع تحديثات قاعدة البيانات من الحدوث جزئيًا فقط، والذي يمكن أن يسبب مشاكل أكبر من رفض السلسلة بأكملها. ونتيجة لذلك، لا يمكن ملاحظة المعاملة على أنها جارية من قبل عميل قاعدة بيانات آخر. ففي لحظة ما حدثش، وفي اللحظة التالية، حدث بالكامل (أو ما حدثش شيء لو تم إلغاء المعاملة أثناء التنفيذ).  تناغم المقال الرئيسي: التوافق (أنظمة قواعد البيانات) التوافق يضمن ان المعاملات يمكن ان تجلب قاعدة البيانات من حالة واحدة متسقة الى اخرى، مع الحفاظ على قاعدة البيانات الثابتة: اي بيانات مكتوبة في قاعدة البيانات يجب ان تكون صالحة وفقا لجميع القواعد المحددة، بما في ذلك القيود، التسلسلات، المحفزات، وأي مزيج منها. هذا يمنع فساد قاعدة البيانات عن طريق معاملة غير قانونية. النزاهة المرجعية تضمن العلاقة بين المفتاح الأساسي والمفتاح الأجنبي.  عزل مقالة رئيسية: عزل (أنظمة قواعد البيانات) عادة ما يتم تنفيذ المعاملات بالتزامن (مثلاً، عدة معاملات تقرأ وتكتب في الجدول في نفس الوقت). العزل يضمن ان التنفيذ المتزامن للمعاملات يترك قاعدة البيانات بنفس الحالة التي كان يمكن الحصول عليها اذا تم تنفيذ المعاملات بالتسلسل. العزلة هي الهدف الرئيسي لمراقبة التزامن. اعتماداً على مستوى العزلة المستخدم، آثار معاملة غير مكتملة قد لا تكون مرئية للمعاملات الأخرى.  استمراريه مقالة رئيسية: استمرارية (أنظمة قواعد البيانات) المتانة تضمن انه بمجرد ان تكون المعاملة قد تم التعهد بها، فهي ستبقى ملتزمة حتى في حالة فشل النظام (مثل انقطاع الكهرباء او الانهيار). هذا عادة يعني ان المعاملات المكتملة (أو تأثيراتها) تُسجل في الذاكرة الغير متطايرة.
اسيد هو اختصار يعنى الذرية, التماسك, العزل, والمتانة. الذرية تعني ان الاجراءات تحدث إما بالكامل او لا تحدث على الاطلاق؛ لا يوجد كتابة جزئية او موقف حيث تم الانتهاء من جزء من الاجراء فقط. بالنسبة لقاعدة البيانات، هذا يعني انه اذا تم كتابة البيانات في معاملة واحدة، تلك المعاملة إما تكتمل بالكامل أو تفشل بالكامل بدون أي بيانات تترك في حالة جزئية أو فاسدة. التوافق يعني ان المعاملات تأخذ الحالة من حالة صالحة الى حالة صالحة اخرى، بدون طريقة لدخول حالة غير صالحة. العزلة تعني ان قراءات/كتابات متعددة لنفس قاعدة البيانات لا تتداخل مع بعضها البعض ويمكنها المضي قدما بدون القلق حول آثار عمل اخر يحدث. استمراريه يعني ان الحاله تحافظ على نفسها بعد الفشل والاغلاق، مثل ان تلك الحاله تستمر الى التخزين الدائم.