سجل الإجراءات

**سجل الإجراءات**  هو ملف يُستخدم ضمن أنظمة إدارة قواعد البيانات لتسجيل جميع العمليات التي تتم على قاعدة البيانات، مثل عمليات الإدخال، التحديث، والحذف. يُعد هذا السجل مكونًا أساسيًا لضمان سلامة البيانات، حيث يُستخدم في تنفيذ ميزات الاسترداد (Recovery) والتراجع (Rollback) في حالة فشل النظام أو حدوث خطأ أثناء تنفيذ المعاملات. يتم تحديث سجل الإجراءات بشكل متسلسل قبل تطبيق التغييرات فعليًا على قاعدة البيانات، وفق مبدأ الكتابة المسبقة (Write-Ahead Logging). وتُعد خصائص  (الذرّية، الاتساق، العزل، الديمومة) أساسًا لفهم أهمية سجل الإجراءات في الحفاظ على تكامل البيانات.

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

**أمثلة على استخدام سجل الإجراءات في قواعد البيانات:**
* في نظام **PostgreSQL**، يستخدم سجل الإجراءات عبر تقنية .
* في نظام **Microsoft SQL Server**، يتم استخدام ملف مخصص يُعرف بـ *Transaction Log*.

في مجال علوم الحاسب، يُعرف سجل الإجراءات أيضا بأسماء مثل **سجل قاعدة البيانات** أو **سجل الشفرة الثنائية**. وهو يمثل تسلسل زمني للعمليات التي تتم عبر نظام إدارة قواعد البيانات بهدف ضمان خصائص  والحفاظ على اتساق البيانات.
## خصائص ACID
**1- التلقائية (Atomicity)** و هي خاصية تسجيل قواعد البيانات التي تضمن إما تمام التسجيل والحدوث أو عدم التأثير «في حالة عدم التمام». وتشير إلى قدرة نظم إدارة قواعد البيانات لضمان إما كافة مهام عمليات التحويل انه قد تم تنفيذها أو لم يتم تنفيذ أحدا منها. فعلى سبيل المثال، لتحويل الأموال من حساب إلى آخر يمكن أن تكتمل أو يمكن أن تفشل للعديد من الأسباب، ولكن atomicity تضمن أن حساب واحد لن يكون مدين إذا كان الطرف الآخر لم يصل إليه التحويل.
Atomicity تنص على أن التعديلات على قواعد البيانات يجب أن تتبع قاعدة «كل شيء أو لا شيء». فكل عملية يمكن أن نقول انها
"atomic" إذا فشل جزء واحد من العملية فان العملية كلها تفشل. فمن الأهمية القصوى أن يحافظ نظام إدارة قواعد
البيانات على طبيعة عمليات التحويل على اختلاف من أي نظم إدارة قواعد البيانات هي، ونظام التشغيل أو فشل الأجهزة.

**2-العزل أو الإقصاء (Isolation):**
العزل: يشير إلى الشروط التي بموجبها لا تستطيع عمليات أخرى ان تصل إلى أو ترى البيانات وهي في الحالة أو المرحلة الوسطى خلال تنفيذ العملية. وهذا القيد هو مطلوب للحفاظ على الأداء بالإضافة إلى الثبات والتماسك بين العمليات في نظم إدارة قواعد البيانات. لذلك، كل عملية هي تجهل عن كل العمليات الأخرى التي تنفذ في الوقت نفسه في النظام.

**3-الثبات (Consistency):**
خاصية الثبات: يضمن أن قاعدة البيانات لا تزال في حالة متناسقة قبل البدء في العملية وبعد هذه انتهاء العملية (سواء كانت ناجحة أم لا).في حالة الثبات البيانات الصحيحة فقط سوف تم كتابتها في قاعدة البيانات. ولكن إذا، لسبب ما حدث أن العملية التي تم تنفيذها خالفت قواعد الثبات الموجودة في قاعدة البيانات، فان العملية باكملها سوف يتم التراجع عنها وقاعدة البيانات سوف تستعيد حالة الثبات التي كانت عليها قبل أن تنفذ العملية والتي تتوافق مع قواعد الثبات. من ناحية أخرى، إذا تم تنفيذ العملية بنجاح، سوف تأخذ قاعدة البيانات من الحالة الأولى التي تتفق مع القواعد إلى حالة أخرى وهي أيضا تتفق مع هذه القواعد.

**4- المتانة أو الدوام (Durability):**
المتانة: تشير إلى أنها تضمن انه لمجرد تم تنبيه للمستخدم بالنجاح، فإن العملية سوف تستمر، ولا يمكن التراجع عنها. وهذا يعني أنها سوف تبقى حتى في حالة فشل النظام، وان نظام قاعدة البيانات قد تحقق من قيود التكامل وانها لن تكون بحاجة إلى إلغاء العملية. الكثير من قواعد البيانات تنفذ المتانة أو الصمود بواسطة كتابة كل العمليات إلى سجل العمليات والتي يمكن أن تقوم بإعادة تشغيله إلى الخلف مرة أخرى لإعادة حالة النظام تماما قبل الفشل. والعملية فقط يمكن اعتبارها انها انتهت بعد أن يتم حفظها في السجل. فالمتانة، هي لا تعني حالة دائمة من قاعدة البيانات. فعملية أخرى يمكن أن تقوم بالكتابة فوق أي تغييرات تم أجراها بواسطة العملية الحالية دون أن تقوم بمنع المتانة.

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

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

## '''النظام البنائي لتسجيل قواعد البيانات العام (Anatomy of a general database log):'''
**•	تسجيل أرقام متتابعة (Log Sequence Number or LNS):** وهو نظام تعريفي فريد لسجل التسجيل. مع هذا النظام ملفات التسجيل يمكن استرجاعها في أوقات محددة. معظم ملفات التسجيل هذه تخصص في نظام متوافق الأرقام وتكون بترتيب تصاعدي، وهو ما يعد مفيدا في استرجاع اللوغارتميات مثل: ARIES.

**•	Prev LNS :** وهو يقوم بوصل آخر تسجيل للسجل. ويقوم على أساس تطبيق أن سجل قواعد البيانات يتم بنائه على هيئة قائمة متصلة «وهي نظام بنائي للبيانات تحتوي على تعاقب من تسجيل البيانات حيث يكون في كل سجل منها حقل يحتوي على مرجع للسجل التالي في تعقب السجلات».

**•	الرقم التعريفي للإجراء (Transaction ID number):** وهو مرجع لإجراءات قواعد البيانات التي قامت بإنشاء تسجيل السجل.

**•	النوع (Type):** يصف نوع تسجيل سجل قواعد البيانات.

**أنواع سجلات تسجيل قواعد البيانات (Types of database log records):**

**كل سجلات التسجيل تحتوي على الخصائص العامة السابقة الذكر وأيضا تحتوي على خصائص أخرى اعتمادا على نوعها:**

**1- تسجيل سجل التحديث (Update Log Record):** وهو يدون التحديث (التغيير) الذي حدث لقواعد البيانات.
كما أنها تحتوي على هذه المعلومات الإضافية:

**•	تعريف الصفحة (Page ID):** مرجع إلى تعريف الصفحة للصفحة التي تم تعديلها.

**•	الطول والموازنة (Length and Offset):** الطول بالبايت والتعويض أو الإزاحة من الصفحة غالبا يتم تضمينه.

**•	الصور قبل وبعد (Before and After Images):** تتضمن قيمة البايت للصفحة قبل وبعد التغيير للصفحة.و بعض قواعد البيانات تتضمن واحدة من الصور أو كليهما.

**2-	تعويض تسجيل السجل (Compensation Log Record):** يدون العدول عن تغيرات محددة لقواعد البيانات. كل تسجيل سجل يكون متطابقا بالتحديد مع تحديث تسجيل سجل آخر (برغم أن تعويض تسجيل سجل التحديث لا يكون نموذجيا حفظ في تسجيل سجل التعويض). وتحتوي على هذه المعلومات الإضافية:

**•	العدول التالي – سجل أرقام متتابعة (undoNextLSN):** هذا الحقل يحتوي على سجل أرقام متتابعة لتسجيل السجل التالي والذي يراد العدول عنه للإجراء الذي قام بكتابة آخر تحديث للسجل.

**3-	تسجيل التنفيذ (Commit Record):** يدون القرار ليقوم بالإجراء أو التنفيذ.

**4-	تسجيل الإلغاء (Abort Record):** يدون قرار الإلغاء ومن ثم يعيد الإجراء السابق.

**5-	تسجيل نقطة الفحص (Checkpoint Record):** يدون نقاط الفحص التي تم صنعها. وهي تستخدم لتسريع عملية الاسترجاع. تقوم بتسجيل المعلومات التي تم استبعادها والحاجة إلى قراءة طريق طويل إلى ماضي السجل. وهي تختلف بحسب خوارزمية نقطة الفحص.
فإذا تم إزالة كل الصفحات الغير صحيحة أثناء إنشاء نقطة الفحص (كما هي PostgreSQL)من الممكن أن تحتوي على:

**•	إعادة فعل تسجيل أرقام متتابعة (redoLSN):** وهي المرجع إلى أول تسجيل سجل يتعلق بالصفحة الملوثة (غير صحيحة).
بمعنى أول تحديث لم يزال خلال وقت نقطة الفحص. ومن هنا حيث تكون عمليه الإعادة يجب أن تبدأ بالاسترجاع.

**•	العدول عن فعل تسجيل الأرقام المتتابعة (undoLSN):** وهذا مرجع إلى أقدم تسجيل سجل لأقدم إجراء في العمل.

**القوائم (Tables):**

هذه القوائم تحفظ في الذاكرة ويمكن إعادة بنائها بفاعلية (إذا لم تكن بالتحديد، فستكون إلى حالة مقاربة) من السجل وقواعد البيانات.

**•	قوائم الإجراءات (Transaction Table):** هي القوائم المحتوية على مختلفة. ويمكن فصل هذه الأجهزة إلى أفراد مختلفين ثم يسمى النوع ديويسيوس، كما هو الحال عادة في الثدييات، أو وجدت في نفس الفرد، كما هو الحال في معظم النباتات الخضراء. في هذه الحالة، ويسمى هذا النوع أحادي. وتسمى الحيوانات من الأنواع مونويسيوس أيضا هيرمافروديتس.

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

بين الثدييات والطيور والعديد من الأنواع الأخرى، يتم تحديد الجنس من قبل الكروموسومات الجنسية، ودعا X و Y في الثدييات و Z و W في الطيور. عادة، الذكور تقدم واحدة من كل (زي)، في حين أن الإناث اثنين من الكروموسومات X (شكس). جميع الأفراد لديهم كروموسوم X واحد على الأقل، والكروموسوم Y عموما أقصر من كروموسوم اكس الذي يقترن به، وهو غائب في بعض الأنواع، والذي ينطوي على بعض التباين الكبير.

بالإضافة إلى التكاثر الجنسي، وهناك أيضا التكاثر الجنسي، والتي لا تنطوي على عملية التسميد. في الكائنات التي لا يوجد فيها تمييز بين الإناث والذكور، مدخل لكل إجراء نشط. ولذلك تشمل تعريف الإجراء (Transaction ID) وآخر تسجيل أرقام متتابعة (lastLSN) تصف تسجيل أرقام متتابعة لأغلب آخر تسجيل سجل للإجراء.

**•	قائمة الصفحات الملوثة (Dirty Page Table):** هذه القائمة تحتوي على مدخل واحد لكل صفحة ملوثة لم يتم كتابتها على القرص. وهذا المدخل يحتوي على (recLSN) حيث recLSN يكون تسجيل أرقام متتابعة LSN لأول سجل تسجيل والذي سبب التلوث للصفحة.

## مراجع

تصنيف:أنظمة معلومات
تصنيف:أنظمة ملفات الحاسوب
تصنيف:نظام معالجة المعاملات
تصنيف:نظم إدارة قواعد البيانات