زيادة إنتاجية قاعدة البيانات بمقدار 10 أضعاف باستخدام io_uring وسجلات WAL المزدوجة
2025-07-20

أثناء بناء قاعدة بيانات معقدة، قام المؤلف بتجربة io_uring وتصميم سجلات WAL المزدوجة لتعزيز الأداء. تقنيات WAL التقليدية (الكتابة ثم التطبيق) تُسبب اختناقات في الأداء. من خلال فصل "نية الكتابة" و "إكمال الكتابة" في سجلين WAL، واستخدام مدخلات/مخرجات io_uring غير المتزامنة، تم تحقيق تحسن في الإنتاجية بمقدار 10 أضعاف. يُكتب هذا التصميم النية بشكل غير متزامن، ثم سجلات الإكمال؛ لا تُطبق عملية الاسترداد إلا العمليات التي تحتوي على كل من النية وسجلات الإكمال، مما يضمن اتساق البيانات. استخدم المؤلف لغة Zig ومشروع Poro (قاعدة بيانات تجريبية مفتاح-قيمة) للتحقق من صحة هذا النهج، مشدداً على أهمية التوازي في الأجهزة، والمعالجة بالدُفعات، ونماذج الاتساق المرنة.
اقرأ المزيد
التطوير