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