عمليات القراءة في Postgres التي تسبب عمليات الكتابة: MVCC وتقليم الصفحات وبتات التلميح

2024-12-25

تتناول هذه المقالة السلوك المتناقض على ما يبدو في PostgreSQL حيث يمكن أن تؤدي استعلامات SELECT البسيطة إلى كتابة البيانات. بدءًا من آلية التحكم في التزامن متعدد الإصدارات (MVCC)، تشرح المقالة مفاهيم مثل إصدارات الصفوف، والصفحات، والمتواليات. من خلال أمثلة الشفرة، تحلل المقالة كيف تؤدي تحديثات بتات التلميح وتقليم الصفحات إلى تعديل عمليات القراءة للصفحات، مما يؤدي في النهاية إلى عمليات الكتابة على القرص. تناقش المقالة أيضًا إستراتيجية تحسين التحديث السريع (HOT) وتستخدم أدوات فحص الصفحات لتوضيح كيفية تخزين البيانات وتحديثها داخل الصفحات.