تحويل التحكم في المعاملات في المعلوماتية (مثال)

⚡ ملخص ذكي

يُعد تحويل التحكم في المعاملات في Informatica كائنًا نشطًا ومتصلًا يقوم بتثبيت الصفوف أو التراجع عنها أثناء عملية الخريطة.ping يتم تشغيلها باستخدام خمسة متغيرات مضمنة داخل شرط يتم تقييمه مرة واحدة لكل صف.

  • 🔄 خمسة متغيرات مدمجة: تحدد TC_CONTINUE_TRANSACTION و TC_COMMIT_BEFORE و TC_COMMIT_AFTER و TC_ROLLBACK_BEFORE و TC_ROLLBACK_AFTER ما يحدث في كل صف.
  • ⚙️ الشرط موجود في العقارات: يحتوي حقل "شرط التحكم في المعاملة" في علامة التبويب "الخصائص" على تعبير IIF الذي تقوم خدمة التكامل بتقييمه.
  • 🧪 مثال عملي: خريطة سبعةping تقوم خطوات المصمم بتثبيت بيانات EMP في EMP_TARGET كلما تم العثور على رقم القسم 20.
  • ✅ فعال أم غير فعال: أي تحويل يقوم بإسقاط حدود المعاملات بعد ذلك يجعل الكائن غير فعال بالنسبة للهدف الذي يقف وراءه.
  • 🔧 نوع الالتزام بالجلسة: خريطةping مع تشغيل تحويل فعال للتحكم في المعاملات ضمن نوع الالتزام المحدد من قبل المستخدم.
  • ⚠️ قيمة الإرجاع الصارمة: إن الشرط الذي يُرجع أي شيء آخر غير commit أو roll back أو continue يجعل خدمة التكامل تفشل في إنهاء الجلسة.

تحويل التحكم في المعاملات في المعلوماتية

ما هو تحويل التحكم في المعاملات؟

تُعدّ إدارة المعاملات عملية تحويل نشطة ومتصلة تسمح لنا بتنفيذ المعاملات أو التراجع عنها أثناء تنفيذ الخريطة.pingتُعد عمليات الالتزام والتراجع ذات أهمية كبيرة لأنها تضمن توافر البيانات.

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

لذا، ولتوفير المرونة، يتم توفير تحويل التحكم في المعاملات. وبدلاً من ترك نقطة الالتزام على الإعداد الافتراضي للجلسة، فإنه يسمح بتطبيق شرط داخلها. رسم خريطةping قرر، صفًا صفًا، أين تنتهي معاملة وتبدأ المعاملة التالية.

أوامر الالتزام والتراجع في لغة TCL

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

TC_CONTINUE_TRANSACTION

في حالة TC_CONTINUE_TRANSACTION، لا تُجرى أي عمليات، وتستمر عملية تحميل البيانات كما هي. هذه هي القيمة الافتراضية للتعبير.

TC_COMMIT_BEFORE

في حالة TC_COMMIT_BEFORE، عند ضبط هذا العلم، يتم تنفيذ عملية الالتزام قبل معالجة الصف الحالي. ثم تبدأ معاملة جديدة ويتم كتابة الصف الحالي إلى الوجهة.

TC_COMMIT_AFTER

في TC_COMMIT_AFTER تتم معالجة الصف الحالي، ثم يتم تنفيذ عملية الالتزام وتبدأ المعاملة التالية.

TC_ROLLBACK_BEFORE

في TC_ROLLBACK_BEFORE، يتم تنفيذ التراجع أولاً، ثم تتم معالجة البيانات للكتابة.

TC_ROLLBACK_AFTER

في TC_ROLLBACK_AFTER تتم معالجة البيانات، ثم يتم تنفيذ التراجع.

خصائص تحويل التحكم في المعاملات

يتم تكوين العنصر من نافذة "تحرير التحويلات"، التي تحتوي على نفس علامات التبويب الأربع الموجودة في تحويلات PowerCenter الأخرى. معرفة علامة التبويب المسؤولة عن كل إعداد يوفر الكثير من البحث أثناء الشرح الموضح أدناه.

علامة التبويب ما الذي تم تكوينه هناك؟
تحول اسم التحويل، ووصفه، وما إذا كان الكائن قابلاً لإعادة الاستخدام.
الموانئ منافذ الإدخال والإخراج، والتي يتم إنشاؤها عادةً عن طريق سحب الأعمدة من عملية التحويل السابقة.
عقارات شرط التحكم في المعاملة، الذي يُفتح بالسهم الصغير بجانب الحقل، و Tracتم تسجيل مستوى التسجيل في سجل الجلسة.
ملحقات بيانات مينا يتم الاحتفاظ بالبيانات الوصفية التي يحددها المستخدم مع عملية التحويل في المستودع.

هناك إعدادان يقومان بالعمل الحقيقي. شرط التحكم في المعاملة يحتوي على التعبير، والذي يكون عادةً اختبار IIF() الذي يُرجع أحد المتغيرات الخمسة. Tracمستوى ing يحدد مقدار التفاصيل المتعلقة بالتحويل التي تظهر في سجل الجلسة عند التحقيق في عملية التشغيل.

يوجد إعداد واحد خارج نطاق التحويل. عندما تكون الخريطةping تتضمن عملية تحويل فعالة للتحكم في المعاملات، وتعمل الجلسة مع نوع الالتزام قم بتعيينه إلى "معرّف من قبل المستخدم" في علامة تبويب "الخصائص" الخاصة بـ الجلسة، بدلا من ال Target أو أنواع الالتزام المصدرية التي تستخدم فاصل التزام ثابت.

كيفية استخدام تحويل التحكم في المعاملات في إنفورماتيكا

في هذا المثال، سنقوم بتثبيت البيانات في الهدف عندما يتم العثور على الشرط رقم القسم = 20 صحيحًا.

الخطوة 1) أنشئ خريطةping مع اعتبار EMP مصدرًا وEMP_TARGET هدفًا. الخريطةping ثم تحتوي لوحة التصميم على المصدر، ومؤهل المصدر الخاص به، وتعريف الهدف.

خريطةping لوحة تصميم تحتوي على مصدر EMP، ومؤهل المصدر الخاص به، وتعريف هدف EMP_TARGET

الخطوة 2) أنشئ تحويلاً جديداً باستخدام قائمة التحويل، ثم في نافذة إنشاء التحويل:

  1. حدد عنصر تحكم المعاملات كتحويل جديد
  2. أدخل اسم التحويل "tc_commit_dept20"
  3. حدد خيار الإنشاء

أنشئ نافذة تحويل مع تحديد عنصر التحكم في المعاملات وإدخال الاسم tc_commit_dept20

الخطوة 3) سيتم إنشاء تحويل التحكم في المعاملات، حدد زر "تم". سيظهر الكائن الجديد الآن على اللوحة بجانب مُؤهِّل المصدر.

تم إنشاء تحويل التحكم في المعاملات tc_commit_dept20 بجوار مُؤهِّل المصدر

الخطوة 4) اسحب جميع الأعمدة من مُؤهِّل المصدر وأفلتها في تحويل التحكم في المعاملات، ثم اربط جميع الأعمدة من تحويل التحكم في المعاملات بالجدول الهدف. الآن، يعمل مسار البيانات كالتالي: المصدر ← مُؤهِّل المصدر ← tc_commit_dept20 ← EMP_TARGET.

أعمدة مؤهل المصدر المرتبطة عبر tc_commit_dept20 في جدول EMP_TARGET

الخطوة 5) Double انقر على تحويل التحكم في المعاملات، ثم في نافذة تحرير الخصائص:

  1. حدد علامة التبويب الملكية
  2. انقر على أيقونة محرر التحكم في المعاملات

علامة تبويب الخصائص في نافذة تحرير التحويلات التي تعرض أيقونة محرر التحكم في المعاملات

الخطوة 6) أدخل التعبير التالي في محرر التعبيرات:

iif(deptno=20,tc_commit_before,tc_continue_transaction)

ثم اختر "موافق". هذا يعني أنه إذا تم العثور على القسم رقم 20، فسيتم تنفيذ المعاملة في الوجهة، وإلا فسيتم متابعة المعالجة الحالية.

محرر التعبيرات الذي يحتوي على شرط IIF الذي يتم تنفيذه قبل صف يحمل رقم القسم 20

الخطوة 7) انقر على "موافق" في النافذة السابقة. سيتم الآن حفظ الشرط في علامة تبويب "الخصائص" الخاصة بالتحويل.

علامة تبويب الخصائص في نافذة تحرير التحويلات بعد حفظ شرط التحكم في المعاملة

الآن احفظ الخريطةping ثم قم بتنفيذها بعد إنشاء الجلسة وسير العمل. هذه الخريطةping سيتم إرسال البيانات إلى الهدف كلما تم العثور على رقم القسم 20 في البيانات.

التحولات الفعالة وغير الفعالة في إدارة المعاملات

يُعد التحويل مولدًا للمعاملات. فهو يتجاهل أي حدود للمعاملات تصل من المصدر ويحدد حدودًا جديدة خاصة به لكل شيء في اتجاه المصب، ولهذا السبب فإن موقعه في خط الأنابيب مهم بقدر حالته.

يطلق عليه ستارفيل بالنسبة لهدف ما، عندما تصل الحدود التي ينشئها إلى ذلك الهدف، و غير فعالة عندما تتخلص عملية تحويل لاحقة من تلك الحدود. وفقًا لدليل تحويل Informatica PowerCenter، فإن الكائنات التالية تتخلص من حدود المعاملات الواردة:

  • مُجمِّع البيانات، نجار, الترتيب، الفرز أو التحويل المخصص الذي يكون نطاق تحويله هو جميع المدخلات
  • تحويل مخصص مُهيأ لإنشاء المعاملات
  • تحول آخر في التحكم بالمعاملات
  • تحويل مجموعة إدخال متعددة متصل بأكثر من نقطة تحكم في المعاملات في المنبع

لا يعني عدم فعالية التحويل بالنسبة للهدف أن الكائن عديم الفائدة. فالتحويل اللاحق الذي يكون نطاق تحويله "معاملة" لا يزال يستخدم الحدود المحددة في التحويل السابق، لذا قد يكون التحويل نفسه فعالاً بالنسبة لفرز البيانات وغير فعال بالنسبة للجدول الذي يليه.

في الخريطةping مع وجود عدة أهداف، يمكن أن يكون الهدف فعالاً لأحدها وغير فعال لآخر. الخريطةping يظل صالحًا طالما أن كل هدف متصل بتحويل فعال للتحكم في المعاملات، ويصبح غير صالح بمجرد عدم اتصال أحد الأهداف. يُبلغ المصمم عن التحويلات غير الفعالة للأهداف عند تطبيق الخريطةping يتم حفظها أو التحقق من صحتها.

قواعد وإرشادات تحويل نظام التحكم في المعاملات

تظهر معظم المشاكل المتعلقة بهذا التحويل في وقت التشغيل بدلاً من وقت التصميم، لذا فإن النقاط التالية تستحق التحقق قبل إنشاء الجلسة.

  • القيمة المُعادة صارمة. إذا تم تقييم الشرط إلى أي شيء آخر غير الالتزام أو التراجع أو المتابعة، فإن خدمة التكامل تفشل الجلسة.
  • TC_CONTINUE_TRANSACTION هو الخيار الاحتياطي. يجب أن ينتهي كل فرع من فروع دالة IIF() في مكان ما، و continue هي القيمة التي تترك المعاملة الحالية دون تغيير.
  • نوع الهدف مهم. إن تحويل التحكم في المعاملات المتصل بأي هدف آخر غير هدف علائقي أو XML أو هدف MQSeries ديناميكي يكون غير فعال لهذا الهدف.
  • لا يمكن للشرط أن يستخدم إلا ما يصل إليه. لا تتوفر داخل محرر التحكم في المعاملات إلا المنافذ المرتبطة بالتحويل، ومنافذه المتغيرة، والمتغيرات المضمنة.
  • يُعدّ تكرار الالتزام أمراً ذا مفاضلة. إن الشرط الذي يتم تنفيذه على كل صف تقريبًا يزيل فائدة التخزين المؤقت، بينما الشرط الذي لا يتم تنفيذه تقريبًا يعيد إدخال نافذة فقدان البيانات التي تمت إضافة التحويل لإغلاقها.
  • تحقق من سجل الجلسة. يسجل السجل نقاط الالتزام التي تم اتخاذها بالفعل، وهي أسرع طريقة للتأكد من أن الحالة قد سارت على النحو المقصود أثناء ضبط الأداء.

الأسئلة الشائعة

يتم الالتزام بفترة زمنية محددة بعد عدد ثابت من الصفوف يتم تحديده في الجلسة. أما الالتزام بشرط التحكم في المعاملات فيتم على البيانات نفسها، لذا فإن نقطة الالتزام تتبع قاعدة عمل وليس عدد الصفوف.

ينص دليل تحويل Informatica PowerCenter على أن تحويل التحكم في المعاملات المتصل بأي هدف بخلاف هدف علائقي أو XML أو MQSeries ديناميكي يكون غير فعال لهذا الهدف.

نعم. قم بإنشائه في مطوّر التحويلات، أو فعّل خيار "جعله قابلاً لإعادة الاستخدام" في علامة تبويب التحويلات الخاصة بتحويل موجود. كل خريطةping ثم يشتركون في نفس الشرط، لذا فإن أي تغيير في القاعدة يصل إليهم جميعًا في وقت واحد.

يمكن لتقنيات التعلم الآلي التي تستخدم سجلات الجلسات السابقة تحديد عمليات التحميل التي يرتبط فيها معدل الالتزام بفترات تشغيل طويلة أو عمليات تراجع متكررة. هذا الاقتراح لا يزال مجرد فرضية، لذا يُنصح بالتحقق منه من خلال تجربة عملية قبل تغيير الشرط.

يستطيع برنامج Copilot رسم شكل IIF() وتذكيرك بأسماء المتغيرات الخمسة، لكنه لا يعرف أسماء المنافذ أو قواعد العمل. اعتبر الناتج نقطة انطلاق وتحقق من صحته في محرر التعبيرات.

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

تُوفر خدمة تكامل البيانات السحابية تحويلًا خاصًا بها للتحكم في المعاملات، مع نفس متغيرات الالتزام والتراجع والمتابعة. يستمر استخدام نفس فكرة التصميم، ولكن يتم إنشاء الكائن في خريطة السحابة.ping المصمم بدلاً من عميل PowerCenter.

يتم تجاهل الصفوف التي كُتبت منذ آخر عملية تثبيت في تلك المعاملة. أما أي شيء تم تثبيته سابقًا في الهدف، ولهذا السبب يحدد موضع نقاط التثبيت مقدار العمل الذي يمكن أن يكلفه الفشل.

تلخيص هذه التدوينة بـ: