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