سجل المعاملات
في مجال قواعد البيانات في علوم الحاسوب ، يُعد سجل المعاملات (ويُعرف أيضًا بدفتر المعاملات ، أو سجل قاعدة البيانات ، أو السجل الثنائي ، أو سجل التدقيق ) سجلًا تاريخيًا للإجراءات التي ينفذها نظام إدارة قواعد البيانات، ويُستخدم لضمان خصائص ACID في مواجهة الأعطال أو فشل الأجهزة. فيزيائيًا، السجل عبارة عن ملف يسرد التغييرات التي طرأت على قاعدة البيانات، ويُخزن بتنسيق تخزين ثابت.
إذا وُجدت قاعدة البيانات، بعد بدء التشغيل، في حالة غير متسقة أو لم يتم إيقاف تشغيلها بشكل صحيح، يقوم نظام إدارة قواعد البيانات بمراجعة سجلات قاعدة البيانات بحثًا عن المعاملات غير الملتزمة ، ثم يتراجع عن التغييرات التي أجرتها هذه المعاملات . بالإضافة إلى ذلك، تُعاد تطبيق جميع المعاملات الملتزمة بالفعل ولكن لم تُنفذ تغييراتها بعد في قاعدة البيانات. ويتم ذلك لضمان سلامة المعاملات واستمراريتها .
لا ينبغي الخلط بين هذا المصطلح والسجلات الأخرى التي يمكن قراءتها من قبل البشر والتي يوفرها نظام إدارة قواعد البيانات عادةً.
في أنظمة إدارة قواعد البيانات ، يُعدّ السجلّ سجلاً للبيانات التي تم تغييرها بواسطة عملية معينة. [ 1 ] [ 2 ] [ 3 ] [ 4 ]
تشريح سجل قاعدة بيانات عام
يتكون سجل قاعدة البيانات من:
- رقم تسلسل السجل (LSN): مُعرّف فريد لسجل البيانات. باستخدام أرقام تسلسل السجل، يُمكن استعادة السجلات في وقت ثابت. تُعيّن معظم أرقام تسلسل السجل بترتيب تصاعدي رتيب، وهو أمر مفيد في خوارزميات الاستعادة ، مثل ARIES .
- رقم السجل السابق : رابط إلى آخر سجل تم تسجيله. وهذا يعني أن سجلات قاعدة البيانات تُنشأ على شكل قائمة مرتبطة .
- رقم تعريف المعاملة : مرجع لمعاملة قاعدة البيانات التي أنشأت سجل السجل.
- النوع : يصف نوع سجل قاعدة البيانات.
- معلومات حول التغييرات الفعلية التي أدت إلى كتابة سجل الأحداث.
أنواع سجلات قاعدة البيانات
تتضمن جميع سجلات السجل سمات السجل العامة المذكورة أعلاه، بالإضافة إلى سمات أخرى تعتمد على نوعها (والتي يتم تسجيلها في سمة النوع ، كما هو مذكور أعلاه).
- يسجل سجل تحديث البيانات تحديثًا (تغييرًا) في قاعدة البيانات. ويتضمن هذه المعلومات الإضافية:
- PageID : مرجع إلى معرف الصفحة المعدلة.
- الطول والإزاحة : عادةً ما يتم تضمين الطول بالبايت وإزاحة الصفحة.
- صور قبل وبعد التغيير : تتضمن قيمة بايتات الصفحة قبل وبعد تغيير الصفحة. قد تحتوي بعض قواعد البيانات على سجلات تتضمن إحدى الصورتين أو كلتيهما.
- يُسجّل سجل التعويضات (CLR) عملية التراجع عن تغيير مُحدد في قاعدة البيانات. ويرتبط كل سجل تعويضات بسجل تحديثات واحد فقط (مع العلم أن سجل التحديثات المُقابل لا يُخزّن عادةً في سجل التعويضات). ويتضمن هذا السجل المعلومات الإضافية التالية:
- undoNextLSN : يحتوي هذا الحقل على رقم تسلسل السجل التالي الذي سيتم التراجع عنه للمعاملة التي كتبت سجل التحديث الأخير.
- يسجل سجل الالتزام قراراً بتنفيذ معاملة.
- يسجل سجل الإلغاء قرارًا بإلغاء المعاملة وبالتالي التراجع عنها.
- تُشير سجلات نقاط التفتيش إلى إنشاء نقطة تفتيش. تُستخدم هذه السجلات لتسريع عملية الاستعادة، حيث تُسجل معلومات تُغني عن الحاجة إلى قراءة سجلات النظام القديمة. يختلف هذا الأمر باختلاف خوارزمية نقاط التفتيش. إذا تم مسح جميع الصفحات المتغيرة أثناء إنشاء نقطة التفتيش (كما هو الحال في PostgreSQL )، فقد تحتوي على ما يلي:
- redoLSN : يشير هذا إلى أول سجل في سجل العمليات يتوافق مع صفحة غير محدثة، أي أول تحديث لم يتم حفظه عند نقطة التحقق. من هنا يجب أن تبدأ عملية إعادة التنفيذ عند الاستعادة.
- undoLSN : يشير هذا إلى أقدم سجل في سجل العمليات لأقدم عملية جارية. وهو أقدم سجل مطلوب لإلغاء جميع العمليات الجارية.
- تشير سجلات الإنجاز إلى أن جميع الأعمال قد أُنجزت لهذه المعاملة تحديداً. (تم الالتزام بها بالكامل أو إلغاؤها)
انظر أيضاً
مصادر
مراجع
- أنظمة إدارة قواعد البيانات
- معالجة المعاملات
- تسجيل الكمبيوتر
