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