مدیریت کانفلیکت در گلدن گیت

تصادم یا کانفلیکت در گلدن گیت به عنوان یک امر عادی تلقی می شود چون هر لحظه ممکن است که دو نفر بر روی دو جدول مبدا و مقصد کاری را انجام دهند که در هنگام ثبت داده، بانک به مشکل برخورد کند.

  •  انوع conflict :

 uniqueness conflict: اگر دو نفر به طور همزمان رکورد یکسانی را با عملیات update و یا insert در ستون primary key و یا unique درون دو جدول مبدا و مقصد قرار دهند در این صورت به خطا خواهند خورد.

   update conflict: در صورتی که دو نفر به طور همزمان بخواهند یک سطر مشخص در درو جدول را update کنند، در این صورت به تصادم می خورند.

   delete conflict: در صورتی که فردی در یک بانک، رکوردی را حذف کند و در همان لحظه فرد دیگری بخواهد همان رکورد را در بانک دوم، اصلاح و یا حذف کند، نوع تصادم به وجود می آید.

  •  نکاتی برای حذف تصادم های احتمالی:

     تا جایی که ممکن است از تاخیر در یکسان سازی جلوگیری شود با این کار، دیگر امکان رخ دادن تصادم در سیستم به وجود نمی آید.

     تا جایی که ممکن است باید از درج اطلاعات تکراری در دو دو بانک توسط کاربران جلوگیری کرد. 

در صورتی که تصادم درگلدن گیت غیر قابل جلوگیری باشند، باید آنها را با استفاده از CDR شناسایی کرد و در نهایت آنها را با CDR حل کرد.

  •  CDR: که همان Oracle GoldenGate Conflict Detection and Resolution می باشد، امکان حل موارد زیر را برای ما به وجود می آورد:

·     حل مشکل uniqueness conflict که به خاطر INSERT رخ می دهد.

·     حل مشکل “no data found” به خاطر UPDATE بر روی سطری که الان موجود است اما به دلیل تغییر سریع مقدار آن سطر، دیگر مقدار جاری را  ندارد(مقداری که در شرط update آمده است).

·     حل مشکل “no data found” به خاطر update برای اینکه سطر اصلا موجود نیست.

·     حل مشکل “no data found” به خاطر DELETE، البته سطر موجود است اما در حین حذف، مقدار جاری تغییر کرده است.

·     حل مشکل “no data found” به خاطر اینکه سطر موجود نیست.

 

  • CDR برای انواع داده زیر قابل استفاده می باشد:

NUMERIC  – DATE  – TIMESTAMP  – CHAR/NCHAR  – VARCHAR/ NVARCHAR

  •  CDR برای انواع داده زیر کاربرد ندارد:

LOBs – ADT  –  UDT

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد.