دیتابیس Postgres در نسخه ۱۸، بهبودهای قابل توجهی رو ارائه کرده، مخصوصا برای async io که به دو مدل پیادهسازی شده یکی برای سیستم هایی که هنوز از io_uring استفاده نمیکنن و یکی هم io_uring برای لینوکسهای مدرن، جایی که عملیات I/O مستقیماً داخل کرنل صفبندی و تکمیل میشن بدون رفتوبرگشت اضافه به user space.
در نتیجه دست Postgres بازتره برای اجرای queryهای همزمان، مخصوصاً اونهایی که I/O سنگین دارن مثل sequential scan یا writeهای موازی روی WAL.
بهبودهای قابل انتظار latency کمتر، میزان throughput بالاتر و context-switch کمتر هست.
البته یک نکتهی ظریف هم داره این قضیه، قرار نیست بصورت جادویی هر کوئری رو سریعتر کنه.
باید planner، buffer manager و حتی extensionها یاد بگیرن چطور ازش استفاده کنن.
یعنی یه قدم بزرگ به جلو، اما هنوز بلوغ کامل رو نداره.
https://youtu.be/yGjGc21mmoU
https://x.com/hnasr/status/1974110942439911645
@gocasts
Post #733
8.35K