التخلي عن ACID لصالح BASE في هندسة قواعد البيانات

تم تصميم قواعد البيانات العلائقية مع الموثوقية والاتساق في جوهرها. ركز المهندسون الذين طوروهما على نموذج معاملات يضمن الحفاظ دائمًا على المبادئ الأربعة لنموذج ACID . ومع ذلك ، فإن ظهور نموذج قاعدة بيانات غير مهيكلة جديد هو تحويل ACID على رأسه. يتجنب نموذج قاعدة بيانات NoSQL النموذج العلائقي ذو البنية العالية لصالح نهج تخزين المفتاح / القيمة المرنة. يتطلب هذا النهج غير المنظم للبيانات بديلاً لنموذج ACID: نموذج BASE.

المبادئ الأساسية لنموذج ACID

هناك أربعة مبادئ أساسية لنموذج ACID:

تضمن ذرية المعاملات أن كل معاملة قاعدة بيانات هي وحدة واحدة تتبنى منهج "كل شيء أو لا شيء" للتنفيذ. إذا فشل أي بيان في المعاملة ، يتم إرجاع المعاملة بالكامل مرة أخرى.

قواعد البيانات العلائقية أيضا ضمان اتساق كل معاملة مع قواعد العمل في قاعدة البيانات. إذا كان أي عنصر من عناصر المعاملة الذرية يعطل اتساق قاعدة البيانات ، فستفشل المعاملة بالكامل.

يفرض محرك قاعدة البيانات العزل بين معاملات متعددة تحدث في أو بالقرب من نفس الوقت. كل معاملة تحدث إما قبل أو بعد كل معاملة أخرى ويتم تغيير وجهة نظر قاعدة البيانات التي ترى الصفقة في بدايتها فقط من خلال المعاملة نفسها قبل نهايتها. يجب ألا ترى أي معاملة على الإطلاق المنتج الوسيط لمعاملة أخرى.

يضمن مبدأ ACID النهائي ، المتانة ، أنه بمجرد إبرام المعاملة لقاعدة البيانات ، يتم الحفاظ عليها بشكل دائم من خلال استخدام النسخ الاحتياطية وسجلات المعاملات. في حالة الفشل ، يمكن استخدام هذه الآليات لاستعادة المعاملات المرعية.

المبادئ الأساسية للقاعدة

من ناحية أخرى ، تحتضن قواعد بيانات NoSQL الحالات التي يكون فيها نموذج ACID مبالغة أو أنه في الواقع يعوق تشغيل قاعدة البيانات. بدلاً من ذلك ، يعتمد NoSQL على نموذج أكثر نعومة معروفًا ، بشكل مناسب ، كنموذج BASE. يستوعب هذا النموذج المرونة التي يوفرها NoSQL ونهج مشابهة لإدارة وتنظيم البيانات غير المهيكلة. يتكون BASE من ثلاثة مبادئ:

توافر الأساسية . ويركز نهج قاعدة البيانات NoSQL على توافر البيانات حتى في حالة وجود حالات فشل متعددة. يحقق ذلك عن طريق استخدام أسلوب توزيع عالي لإدارة قواعد البيانات. بدلاً من الاحتفاظ بمخزن بيانات كبير واحد والتركيز على التسامح مع الخطأ في هذا المتجر ، تقوم قواعد بيانات NoSQL بنشر البيانات عبر العديد من أنظمة التخزين بدرجة عالية من النسخ المتماثل. في حالة غير المحتمل أن يؤدي حدوث خلل إلى تعطيل الوصول إلى جزء من البيانات ، لا يؤدي ذلك بالضرورة إلى انقطاع كامل في قاعدة البيانات.

الدولة الناعمة . تتخلى قواعد بيانات BASE عن متطلبات تناسق نموذج ACID إلى حد كبير تمامًا. أحد المفاهيم الأساسية وراء BASE هو أن تناسق البيانات هو مشكلة المطور ولا يجب التعامل معها بواسطة قاعدة البيانات.

الاتساق في نهاية المطاف . والشرط الوحيد الذي تتطلبه قواعد بيانات NoSQL فيما يتعلق بالثبات هو أن تتطابق البيانات في وقت ما في المستقبل مع الحالة المتسقة. ومع ذلك ، لا يتم تقديم أي ضمانات حول موعد حدوث ذلك. وهذا خروج كامل عن شرط الاتساق المباشر لـ ACID الذي يحظر تنفيذ المعاملة حتى اكتمال المعاملة السابقة وقامت قاعدة البيانات بالالتقاء إلى حالة ثابتة.

إن نموذج BASE غير مناسب لكل حالة ، ولكنه بالتأكيد بديل مرن لنموذج ACID لقواعد البيانات التي لا تتطلب الالتزام الصارم بنموذج ارتباطي.