- الموارد والمكتبة
- للمطورين والفرق التقنية
- تطوير Backend وقواعد البيانات
تجنب فقدان التحديثات في عمليات Read–Modify–Write
قراءة القيمة ثم تعديلها وحفظها في ثلاث خطوات قد تفقد أحد التحديثات المتزامنة؛ اجعل العملية ذرية أو احمها بمعاملة مناسبة.
عُمَر العلوي مقال
افترض أن رصيد النقاط يساوي 100، ووصل طلبان في اللحظة نفسها لإضافة 10 نقاط. إذا قرأ كل طلب القيمة 100 ثم حسب 110 وحفظها، فقد تصبح النتيجة النهائية 110 بدل 120 لأن آخر كتابة ألغت أثر الأولى.
عندما يكون التغيير بسيطًا، نفذه كتحديث ذري داخل قاعدة البيانات، مثل زيادة العمود بقيمة محددة بشرط واضح. بهذه الطريقة تتولى قاعدة البيانات تطبيق التحديثات المتزامنة دون فصل القراءة عن الكتابة في التطبيق.
أما العمليات التي تقرأ عدة سجلات أو تتحقق من شروط ثم تكتب، فضعها داخل معاملة واستخدم القفل أو مستوى العزل المناسب. أضف قيود قاعدة بيانات تحمي القواعد الأساسية، واختبر التزامن بطلبات متوازية؛ فالاختبار المتسلسل وحده لن يكشف هذا النوع من الأخطاء.
شاركني رأيك
يسعدني مشاركة وجهة نظرك من خلال ترك تعليق في المقالة الأصلية في مواقع التواصل