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