المتانة (أنظمة قواعد البيانات)

في أنظمة قواعد البيانات ، تُعدّ المتانة خاصية من خصائص ACID تضمن استمرار آثار المعاملات التي تمّت تنفيذها بشكل دائم، حتى في حالات الأعطال، [ 1 ] بما في ذلك الحوادث والكوارث. على سبيل المثال، إذا أفاد نظام حجز رحلات الطيران بنجاح حجز مقعد، فسيظلّ المقعد محجوزًا حتى في حال تعطل النظام. [ 2 ]

بشكل رسمي، يضمن نظام قاعدة البيانات خاصية المتانة إذا كان يتحمل ثلاثة أنواع من الأعطال: أعطال المعاملات، وأعطال النظام، وأعطال الوسائط. [ 1 ] على وجه الخصوص، تفشل المعاملة إذا انقطع تنفيذها قبل أن يُعالج النظام جميع عملياتها. [ 3 ] يمكن أن تنشأ هذه الأنواع من الانقطاعات على مستوى المعاملة بسبب أخطاء إدخال البيانات، أو إلغاء العملية من قِبل المُشغِّل، أو انتهاء المهلة ، أو أخطاء خاصة بالتطبيق، مثل سحب الأموال من حساب مصرفي برصيد غير كافٍ. [ 1 ] على مستوى النظام، يحدث العطل إذا فُقدت محتويات وحدة التخزين المؤقتة ، نتيجةً، على سبيل المثال، لأعطال النظام ، مثل أحداث نفاد الذاكرة . [ 3 ] على مستوى الوسائط، حيث تعني الوسائط وحدة تخزين ثابتة تتحمل أعطال النظام، تحدث الأعطال عندما تُفقد وحدة التخزين الثابتة، أو جزء منها. [ 3 ] تتمثل هذه الحالات عادةً في أعطال القرص . [ 1 ]

لذا، لكي يكون نظام قاعدة البيانات متيناً، ينبغي أن يُطبّق استراتيجيات وعمليات تضمن استمرار آثار المعاملات التي تمّت قبل العطل (حتى بعد إعادة البناء)، بينما يتمّ التراجع عن تغييرات المعاملات غير المكتملة، التي لم تُنفّذ بعد وقت العطل، ولن تؤثر على حالة نظام قاعدة البيانات. وقد ثبتت صحة هذه السلوكيات عندما يتمتّع تنفيذ المعاملات بخصائص المرونة وقابلية الاسترداد على التوالي . [ 3 ]

الآليات

نموذج مبسط لآلة الحالة المحدودة يوضح حالات نظام إدارة قواعد البيانات المحتملة بعد الفشل (باللون الأحمر) والانتقالات (باللون الأسود) اللازمة للعودة إلى نظام تشغيل لتحقيق المتانة

في الأنظمة القائمة على المعاملات، ترتبط الآليات التي تضمن المتانة تاريخيًا بمفهوم موثوقية الأنظمة، كما اقترحه جيم غراي عام 1981. [ 1 ] يشمل هذا المفهوم المتانة، ولكنه يعتمد أيضًا على جوانب من خصائص الذرية والاتساق . [ 4 ] تحديدًا، تتطلب آلية الموثوقية عناصر أساسية تُحدد بوضوح بداية المعاملات ونهايتها وإمكانية التراجع عنها ، [ 1 ] وهي عناصر ضمنية أيضًا للخاصيتين الأخريين المذكورتين سابقًا. في هذه المقالة، تم التركيز فقط على الآليات المرتبطة ارتباطًا وثيقًا بالمتانة. تُقسم هذه الآليات إلى ثلاثة مستويات: مستوى المعاملة، ومستوى النظام، ومستوى الوسائط. وينطبق هذا أيضًا على السيناريوهات التي قد تحدث فيها أعطال، والتي يجب مراعاتها عند تصميم أنظمة قواعد البيانات لضمان المتانة. [ 3 ]

مستوى المعاملة

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

مستوى النظام

على مستوى النظام، تحدث الأعطال، بحكم التعريف، [ 3 ] عند فقدان محتويات وحدة التخزين المتطايرة. قد يحدث هذا في أحداث مثل تعطل النظام أو انقطاع التيار الكهربائي . تستخدم أنظمة قواعد البيانات الحالية وحدة التخزين المتطايرة (أي الذاكرة الرئيسية للنظام) لأغراض مختلفة: فبعضها يخزن حالته وبياناته بالكامل فيها، حتى بدون أي ضمان للاستمرارية؛ بينما يحتفظ البعض الآخر بالحالة والبيانات، أو جزء منها، في الذاكرة، ولكنه يستخدم أيضًا وحدة التخزين غير المتطايرة للبيانات؛ في حين تحتفظ أنظمة أخرى بالحالة فقط في الذاكرة الرئيسية، مع الاحتفاظ بجميع البيانات على القرص. [ 6 ] يكمن سبب اختيار وحدة التخزين المتطايرة، المعرضة لهذا النوع من الأعطال، ووحدة التخزين غير المتطايرة، في اختلافات الأداء بين التقنيات الحالية المستخدمة لتنفيذ هذين النوعين من التخزين. ومع ذلك، من المرجح أن يتطور الوضع مع تزايد شعبية تقنيات الذاكرة غير المتطايرة (NVM) . [ 7 ]

في الأنظمة التي تتضمن وحدات تخزين غير متطايرة، يُمكن تحقيق المتانة من خلال الاحتفاظ بسجل تسلسلي غير قابل للتغيير للمعاملات وتفريغه في هذه الوحدات قبل تأكيد الالتزام. وبفضل خاصية الذرية، تُعتبر المعاملات وحدة العمل في عملية الاسترداد التي تضمن المتانة عند الاستفادة من السجل. وتُسمى آلية التسجيل هذه بسجل الكتابة المسبقة (WAL) ، وهي تُتيح المتانة من خلال تخزين التغييرات التي تُجرى على القرص مؤقتًا قبل مزامنتها من الذاكرة الرئيسية. وبهذه الطريقة، ومن خلال إعادة البناء من ملف السجل، تُصبح جميع المعاملات الملتزمة مقاومة لأعطال النظام، لأنه يُمكن إعادة تنفيذها. أما المعاملات غير الملتزمة، فهي قابلة للاسترداد، حيث تُسجل عملياتها في وحدات تخزين غير متطايرة قبل أن تُغير حالة قاعدة البيانات فعليًا. [ 8 ] وبهذه الطريقة، يُمكن التراجع عن العمليات المنفذة جزئيًا دون التأثير على حالة النظام. وبعد ذلك، يُمكن إعادة تنفيذ المعاملات غير المكتملة. لذا، يمكن إعادة معالجة سجل المعاملات من وحدة التخزين غير المتطايرة لإعادة إنشاء حالة النظام قبل أي عطل لاحق على مستوى النظام. ويتم التسجيل كمزيج من تتبع البيانات والعمليات (أي المعاملات) لأسباب تتعلق بالأداء. [ 9 ]

مستوى الإعلام

على مستوى الوسائط، تؤثر سيناريوهات الأعطال على وحدات التخزين غير المتطايرة، مثل محركات الأقراص الصلبة ، ومحركات الحالة الصلبة ، وأنواع أخرى من مكونات أجهزة التخزين . [ 8 ] ولضمان المتانة على هذا المستوى، يجب أن يعتمد نظام قاعدة البيانات على ذاكرة مستقرة، وهي ذاكرة مقاومة للأعطال بشكل كامل ومثالي. ويمكن تحقيق هذا النوع من الذاكرة من خلال آليات النسخ المتماثل وبروتوكولات الكتابة القوية. [ 4 ]

تتوفر العديد من الأدوات والتقنيات لتوفير ذاكرة مستقرة منطقيًا، مثل نسخ الأقراص، ويعتمد اختيارها على متطلبات التطبيقات المحددة. [ 4 ] بشكل عام، تتوفر استراتيجيات وهياكل النسخ والتكرار التي تعمل كذاكرة مستقرة على مستويات مختلفة من بنية التكنولوجيا. وبهذه الطريقة، حتى في حالة وقوع أحداث كارثية تتلف فيها أجهزة التخزين، يمكن منع فقدان البيانات . [ 10 ] على هذا المستوى، توجد علاقة وثيقة بين المتانة واستعادة النظام والبيانات ، بمعنى أن الهدف الرئيسي هو الحفاظ على البيانات، ليس بالضرورة في نسخ متماثلة متصلة بالإنترنت، ولكن أيضًا كنسخ غير متصلة بالإنترنت. [ 4 ] تندرج هذه التقنيات الأخيرة ضمن فئات النسخ الاحتياطي ، ومنع فقدان البيانات ، واستعادة البيانات في حالات الكوارث التقنية . [ 11 ]

لذا، في حالة تعطل الوسائط، يُضمن استمرار المعاملات من خلال القدرة على إعادة بناء حالة قاعدة البيانات من ملفات السجل المخزنة في الذاكرة الثابتة، بغض النظر عن طريقة تنفيذها في نظام قاعدة البيانات. [ 8 ] توجد آليات عديدة لتخزين وإعادة بناء حالة نظام قاعدة البيانات، مما يُحسّن الأداء، من حيث المساحة والوقت، مقارنةً بإدارة جميع ملفات السجل التي تم إنشاؤها منذ بداية تشغيل نظام قاعدة البيانات. تشمل هذه الآليات غالبًا النسخ الاحتياطي التزايدي ، والملفات التفاضلية ، ونقاط التحقق . [ 12 ]

قواعد البيانات الموزعة

في المعاملات الموزعة ، يتطلب ضمان استمرارية البيانات آليات إضافية للحفاظ على تسلسل حالة متسق عبر جميع عُقد قاعدة البيانات. هذا يعني، على سبيل المثال، أن عقدة واحدة قد لا تكون كافية لاتخاذ قرار بإنهاء معاملة ما عن طريق تأكيدها. في الواقع، قد تكون الموارد المستخدمة في تلك المعاملة موجودة على عُقد أخرى، حيث تُجرى معاملات أخرى بالتزامن. وإلا، ففي حالة الفشل، إذا لم يكن بالإمكان ضمان الاتساق، فسيكون من المستحيل تأكيد حالة آمنة لقاعدة البيانات من أجل استعادتها. لهذا السبب، يجب على جميع العُقد المشاركة التنسيق قبل تأكيد التأكيد. ويتم ذلك عادةً من خلال بروتوكول تأكيد ثنائي المراحل . [ 13 ]

بالإضافة إلى ذلك، في قواعد البيانات الموزعة ، يجب أن تعالج بروتوكولات التسجيل والاسترداد مشكلات البيئات الموزعة ، مثل حالات التعطل ، التي قد تعيق مرونة المعاملات وقابليتها للاسترداد، وبالتالي استدامتها. [ 13 ] ومن بين الخوارزميات الشائعة الاستخدام التي تضمن هذه الخصائص، خوارزميات الاسترداد والعزل باستخدام الدلالات (ARIES) . [ 8 ]

انظر أيضاً

مراجع

  1. 1 2 3 4 5 6 7 8 غراي، جيم (1981). "مفهوم المعاملة: مزاياها وقيودها" (ملف PDF) . VLDB . 81 : 144-154 .
  2. "الامتثال لمعايير ACID: معناه ولماذا يجب أن تهتم به" . MariaDB . 29 يوليو 2018. تم الاطلاع عليه بتاريخ 22 سبتمبر 2021 .
  3. 1 2 3 4 5 6 7 هادزيلاكوس، فاسوس (1988). "نظرية الموثوقية في أنظمة قواعد البيانات" . مجلة ACM . 35 (1): 121-145 . doi : 10.1145/42267.42272 . ISSN 0004-5411 . S2CID 7052304 .  
  4. 1 2 3 4 أتزيني، باولو، أد. (1999). أنظمة قواعد البيانات: المفاهيم واللغات والهندسة المعمارية نيويورك: ماكجرو هيل. ص 311 – 320. ISBN  978-0-07-709500-0.
  5. سفوبودوفا، ل. (1980). "إدارة سجلات الكائنات في مستودع سوالو" . Mit/LCS Tr-243 . الولايات المتحدة الأمريكية.
  6. بيتروف، أولكسندر (2019). أساسيات قواعد البيانات: نظرة معمقة على كيفية عمل أنظمة البيانات الموزعة ( الطبعة الأولى). بكين، بوسطن، فارنهام، سيباستوبول، طوكيو: أورايلي. الصفحات 40-42 . ISBN   978-1-4920-4034-7.
  7. أرولراج، جوي؛ بافلو، أندرو (9 مايو 2017). "كيفية بناء نظام إدارة قواعد بيانات بذاكرة غير متطايرة" . وقائع المؤتمر الدولي لإدارة البيانات لعام 2017 التابع لجمعية آلات الحوسبة (ACM) . SIGMOD '17. نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 1753-1758 . doi : 10.1145/3035918.3054780 . ISBN  978-1-4503-4197-4. S2CID 648876 . 
  8. 1 2 3 4 بيتروف، أولكسندر (2019). أساسيات قواعد البيانات: نظرة معمقة على كيفية عمل أنظمة البيانات الموزعة ( الطبعة الأولى). بكين، بوسطن، فارنهام، سيباستوبول، طوكيو: أورايلي. الصفحات 185-195 . ISBN   978-1-4920-4034-7.
  9. موهان، سي.؛ هادرلي، دون؛ ليندسي، بروس؛ بيرايش، حامد؛ شوارتز، بيتر (1992-03-01). "آريس: طريقة لاستعادة المعاملات تدعم التأمين الدقيق والتراجع الجزئي باستخدام تسجيل الكتابة المسبقة" . معاملات ACM لأنظمة قواعد البيانات . 17 (1): 94-162 . doi : 10.1145/128765.128770 . ISSN 0362-5915 . S2CID 8759704 .  
  10. إيتش، مارغريت هـ. (1987-02-01). "تصنيف ومقارنة تقنيات استعادة قواعد البيانات من الذاكرة الرئيسية". المؤتمر الدولي الثالث لهندسة البيانات لعام 1987، معهد مهندسي الكهرباء والإلكترونيات. الصفحات 332-339 . doi : 10.1109/ICDE.1987.7272398 . ISBN  978-0-8186-0762-2. S2CID 207773738 . 
  11. تشوي، مان هوي؛ ليونغ، هونغ فا؛ وونغ، مان هون (2000). "تقنيات استعادة البيانات في حالات الكوارث لأنظمة قواعد البيانات" . مجلة اتصالات رابطة مكائن ​​الحوسبة . 43 (11): 6. doi : 10.1145/352515.352521 . ISSN 0001-0782 . S2CID 14781378 .  
  12. فيرهوفستاد، جوست إس إم (1978-06-01). "تقنيات استعادة البيانات لأنظمة قواعد البيانات" . مجلة ACM Computing Surveys . 10 (2): 167–195 . doi : 10.1145/356725.356730 . S2CID 8847522 . 
  13. 1 2 موهان، سي.؛ هادرلي، دون؛ ليندسي، بروس؛ بيرايش، حامد؛ شوارتز، بيتر (1992-03-01). "آريس: طريقة لاستعادة المعاملات تدعم التأمين الدقيق والتراجع الجزئي باستخدام تسجيل الكتابة المسبقة" . معاملات ACM لأنظمة قواعد البيانات . 17 (1): 94-162 . doi : 10.1145/128765.128770 . ISSN 0362-5915 . S2CID 8759704 .  

للمزيد من القراءة