در جلسه دوم از دوره راهبری و مدیریت PostgreSQL (DBA)، به عمق معماری ذخیرهسازی این پایگاه داده قدرتمند نفوذ میکنیم. در این جلسه که به صورت عملی طراحی شده، شما با سازوکارهای داخلی پستگرس آشنا خواهید شد و درک میکنید که دادهها چگونه روی دیسک و در حافظه سازماندهی میشوند. سرفصلهای این جلسه شامل موارد زیر است:
- نگاهی به فرآیندهای اصلی، معماری حافظه و ساختار فضای فیزیکی در پستگرس
با پردازههای پسزمینه، نحوه مدیریت حافظه و چیدمان دایرکتوری داده (Data Directory) آشنا میشوید تا تصویر شفافی از اجزای یک سرور PostgreSQL داشته باشید.
- معماری صفحات و ذخیرهسازی فیزیکی در PostgreSQL: نگاهی عمیق به Heap و Page
در این بخش به ساختار صفحه (Page) و هیپ (Heap) میپردازیم – جایی که رکوردها به صورت فیزیکی ذخیره میشوند – و یاد میگیریم که هر صفحه چگونه از هدر، آیتمها و فضای خالی تشکیل شده است.
- پشت صحنه MVCC: همروندی بدون قفل و مدیریت نسخههای یک رکورد در PostgreSQL
مکانیزم کنترل همروندی چندنسخهای (MVCC) را بررسی میکنیم؛ اینکه چگونه پستگرس بدون قفلگذاری سنگین، تراکنشهای همزمان را مدیریت میکند و نسخههای مختلف یک رکورد را تا زمان پاکسازی (VACUUM) نگهداری میکند.
- آشنایی با جداول TOAST – رکوردهای با طول زیاد چگونه در پستگرس ذخیره میشوند؟
خواهیم دید که وقتی رکوردی از اندازه یک صفحه فراتر میرود، پستگرس چگونه با استفاده از جدولهای TOAST آن را به صورت بهینه در بخشی جداگانه ذخیره میکند تا کارایی واکشی افزایش یابد.
- فایلهای FSM و VM در کنار فایل اصلی داده هر جدول، دقیقا چه نقشی را بر عهده دارند؟
به بررسی فایلهای کمکی مانند Free Space Map (نقشه فضای خالی) و Visibility Map (نقشه دیدپذیری) میپردازیم؛ اینکه چگونه این فایلها به عملیاتهایی مانند درج و VACUUM سرعت میبخشند.
- از OID تا RelFileNode – چگونه PostgreSQL فایل فیزیکی جداول را جایگزین میکند؟
در انتها، فرآیند نگاشت اشیای پایگاه داده (مثل جدول) به فایلهای فیزیکی روی دیسک را بررسی میکنیم و با مفاهیمی مثل OID و RelFileNode آشنا میشویم – کلیدی برای درک عملیات بازیابی و مهاجرت داده.
این جلسه شما را برای درک عمیقتر رفتار PostgreSQL و عیبیابی مسائل عملکردی آماده میکند. هر بخش به صورت ویدیویی و با مثالهای عملی ارائه شده است تا مفاهیم به خوبی فراگرفته شوند.