ویرگول
ورودثبت نام
میثم زندی
میثم زندیSoftware Engineer | Technical Lead | Engineering Manager
میثم زندی
میثم زندی
خواندن ۱ دقیقه·۲ ماه پیش

امسال PostgreSQL 18 یکی از بزرگ‌ترین بهبودهای خودش رو معرفی کرده: async I/O.

اما داستان فقط «سریع‌تر شدن» نیست — بلکه نحوه‌ی تعامل Postgres با سیستم‌عامل تغییر کرده.

در نسخه‌ی جدید، دو مدل پیاده‌سازی برای async I/O داریم:
1️⃣ برای سیستم‌هایی که هنوز از io_uring پشتیبانی نمی‌کنن
2️⃣ و مدل دوم برای لینوکس‌های مدرن با io_uring، جایی که عملیات I/O مستقیماً داخل کرنل صف‌بندی و تکمیل می‌شن — بدون رفت‌وبرگشت اضافه به فضای کاربر (user space).

نتیجه؟

  • کاهش latency

  • افزایش throughput

  • و کاهش context switch
    به‌خصوص در queryهای سنگین مثل sequential scan یا writeهای هم‌زمان روی WAL.

اما نکته‌ی ظریف اینجاست:
این ویژگی به‌صورت جادویی همه‌چیز رو سریع‌تر نمی‌کنه.
اجزایی مثل planner، buffer manager و حتی extensionها باید یاد بگیرن چطور ازش استفاده کنن.
یه قدم بزرگ به جلو — اما هنوز در مسیر بلوغ.

📹 ویدیوی توضیحی حسین نصر
🧵 توییت مرتبط
📘 مستند رسمی PostgreSQL 18

postgresqldatabaseperformancebackend
۰
۰
میثم زندی
میثم زندی
Software Engineer | Technical Lead | Engineering Manager
شاید از این پست‌ها خوشتان بیاید