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