وسم: قواعد البيانات

مشكلة N+1 في الاستعلامات: كيف تكتشفها وتحلها في كل إطار عمل

مشكلة N+1 في الاستعلامات: كيف تكتشفها وتحلها في كل إطار عمل

·برمجة

شرح عملي لمشكلة N+1 في الاستعلامات: كيف تكتشفها بأدوات مثل Django Debug Toolbar، وتحلها في Laravel وRails وJPA وGraphQL بأقل تعقيد ممكن.

Cursor Pagination أم Offset: أيهما تختار لتصميم API؟

Cursor Pagination أم Offset: أيهما تختار لتصميم API؟

·برمجة

فرق جوهري بين cursor pagination وoffset pagination في API: أداء الاستعلامات وتكرار السجلات، مع أمثلة من Stripe وGitHub لاختيار الأنسب لمشروعك.

مستويات العزل في قواعد البيانات: متى ترفعها ومتى تقفل

مستويات العزل في قواعد البيانات: متى ترفعها ومتى تقفل

·برمجة

الافتراضي يختلف بين المحرّكات، وRepeatable Read يسمح بانحراف الكتابة، ورفع مستوى العزل ثمنه إعادة المعاملة كاملة، وقد يكفيك القفل الصريح.

مفتاح idempotency: منع تكرار الطلب في واجهات الدفع

مفتاح idempotency: منع تكرار الطلب في واجهات الدفع

·برمجة

كيف تمنع تكرار تنفيذ الطلب باستخدام مفتاح idempotency: ترتيب الإدخال قبل التنفيذ، وبصمة جسم الطلب، وفروق المزوّدين بين Stripe وTap وMoyasar.

UUID أم bigint: كيف تختار المفتاح الأساسي لجدولك

UUID أم bigint: كيف تختار المفتاح الأساسي لجدولك

·برمجة

مقارنة عملية بين UUID وbigint لاختيار المفتاح الأساسي في قاعدة البيانات، مع ما غيّره UUIDv7 وأخطاء شائعة في PostgreSQL وMySQL وقواعد قرار جاهزة.