تحديث عدة جداول لعملية واحدة قد يترك البيانات في حالة ناقصة إذا فشلت خطوة في المنتصف. المعاملة تجمع التغييرات المرتبطة بحيث تُعتمد معًا أو تُلغى معًا.
الفكرة الأساسية
حدّد حدود العملية التجارية قبل فتح المعاملة. احتفظ بها قصيرة، وافهم مستوى العزل وطريقة التعامل مع التضارب. الاتصال بخدمة خارجية لا يتراجع تلقائيًا مع تراجع قاعدة البيانات.
خطوات عملية
- اكتب الشروط التي يجب أن تبقى صحيحة بعد نجاح العملية.
- نفّذ التغييرات المحلية ضمن معاملة مع معالجة الاستثناءات.
- خطط للتنسيق مع الخدمات الخارجية باستخدام حالة وسيطة أو سجل أحداث.

مثال تطبيقي
في نقل رصيد داخلي، يجب ألا ينقص حساب دون زيادة الآخر. أما إرسال رسالة التأكيد فيمكن تأجيله إلى ما بعد اعتماد العملية.
خطأ شائع ينبغي تجنبه
معاملة طويلة تنتظر الشبكة قد تحتجز أقفالًا وتبطئ الطلبات الأخرى. لا تستخدمها كغلاف عشوائي لكل مسار التطبيق.
للتوسع في الموضوع
صور توضيحية: الغلاف من Unsplash، الصورة الداخلية من Unsplash. ترخيص الاستخدام.
