وصف التسجيل المسبق للكتابة
عند إجراء تغييرات في قاعدة البيانات، مثل INSERTS أو DELETES، تتم كتابة هذه التغييرات أولا في سجل، ثم تتم كتابتها فقط إلى ملفات البيانات على القرص. تسمى هذه العملية سجل الكتابة المسبقة، لأنه تتم كتابة التغييرات على السجل، قبل تثبيتها في ملفات البيانات. إذا كانت هناك مشكلة، مثل فقدان الطاقة، فإن السجل يحتفظ دائما بأحدث البيانات ويمكن استخدامه للتأكد من أن قاعدة البيانات في حالة متناسقة.
الميزة الثانية هي أنه من خلال كتابة التغييرات على السجل أولا، يمكن كتابة التغييرات على الجداول والفهارس على دفعات، بدلا من كتابتها بشكل فردي. تقلل هذه العملية من عدد عمليات كتابة القرص المطلوبة لإبقاء الجداول والفهارس محدثة. عمليات الكتابة إلى السجل سريعة لأنها تتم بشكل تسلسلي. يمكن إجراء عمليات كتابة أبطأ للجداول والفهارس بأمان على دفعات، لأنه يمكن استرداد جميع البيانات من السجل. بالنسبة لأحمال العمل التي تتضمن عادة العديد من التحديثات الصغيرة، يتم تحسين الأداء.
ملاحظه
بالنسبة للتطبيقات المحلية ل PostgreSQL، يتم تخزين ملف السجل في دليل pg_wal. لا توفر قاعدة بيانات Azure ل PostgreSQL الوصول إلى نظام الملفات، لذلك لا داعي للقلق بشأن التخزين الفعلي لملف السجل.
هناك العديد من معلمات الخادم التي تسمح لك بالتحكم في كيفية عمل تسجيل الكتابة المسبقة وتحسينه لحمل العمل الخاص بك:
- commit_delay - التأخير بين تثبيت المعاملة ومسح السجل إلى القرص.
- wal_buffers - عدد المخازن المؤقتة لصفحة القرص في الذاكرة المشتركة لتسجيل الكتابة المسبقة (WAL).
- max_wal_size - الحد الأقصى للحجم للسماح ل WAL بالنمو قبل تشغيل نقطة التحقق التلقائية.
- wal_writer_delay - الفاصل الزمني بين عمليات مسح WAL التي يقوم بها كاتب WAL.
- wal_compression - ما إذا كانت عمليات الكتابة في صفحة كاملة في ملف WAL مضغوطة.
- wal_level - يحدد مقدار المعلومات التي تتم كتابتها إلى WAL. القيم المسموح بها هي REPLICA أو LOGICAL.
استعادة النقطة الزمنية
الغرض الأساسي من سجل الكتابة المسبقة (WAL) هو ضمان تناسق قاعدة البيانات والمتانة إذا كان هناك عطل. يسمح الإصدار المحلي من PostgreSQL باستخدام السجل كأرشيف، مما يسمح لك بالاستعادة إلى نقطة زمنية باستخدام إعدادات التكوين archive_modearchive_command.
قاعدة بيانات Azure ل PostgreSQL هي خدمة مدارة، والتي لا تسمح بالوصول إلى نظام الملفات الأساسي. ومع ذلك، فإنه يتضمن النسخ الاحتياطية الكاملة التلقائية للخادم بما في ذلك جميع قواعد البيانات. تسمح لك هذه النسخة الاحتياطية بإعادة إنشاء بياناتك إلى نقطة زمنية. تتم جدولة النسخ الاحتياطية تلقائيا ويتم إجراؤها مرة واحدة في اليوم. إذا كنت بحاجة إلى الاستعادة، يمكنك الاستعادة حتى عدد الأيام التي حددتها للاحتفاظ بالنسخ الاحتياطية، بحد أقصى 35 يوما. لتحديد المدة التي يجب الاحتفاظ بالنسخ الاحتياطية فيها:
- في مدخل Microsoft Azure، انتقل إلى خادم Azure Database for PostgreSQL المرن.
- من قسم نظرة عامة على، حدد تكوين.
- ضمن النسخ الاحتياطية، ابحث عن فترة الاحتفاظ بالنسخ الاحتياطي (بالأيام). يسمح لك شريط التمرير بتحديد عدد الأيام التي تريد الاحتفاظ بالنسخ الاحتياطية فيها.
- حدد Save للاحتفاظ بالتغييرات.