ПредишенСледващото

Заключване - в релационна база данни е да се създаде марка на запис, който е заключен за промени. Има два вида на брави - оптимистичен и песимистичен.

оптимистично заключване

Ако не настъпи оптимистично заключване на базата на блок недвижими данни. Вместо това, се използва следния подход - ако в момента на сделката, тя се променя на данните, които са били променени след това започна, сделката е прекратено с изключение. Използвайки оптимистично заключване, за да се избегне мъртвите зони (безизходица). За изпълнение оптимистично заключване често използвани версии на данни - се добавя към колона на таблицата, която съхранява текущата версия. Когато актуализацията в искането в секцията, където данните се прехвърлят към версията, която беше отменено на промяната. Ако актуализацията се завърна променените редове 0, след като данните вече са се променили и сделката трябва да се кандидатира отново. Вместо версия може да се съхранява за последен път данните се променят.

песимистично заключване

Когато песимистично заключване за запис поставя изключително заключване на ниво база данни, като така се забранява достъп до данни от други сделки. Съществуват няколко вида на песимистично заключване:
  1. заключване четене
  2. блокиране на записа
Ако блокирате при четене на записа се заключва, когато това се изисква от базата данни. Недостатъкът е, че по този начин дори можете да заключите, че данните не се променят в рамките на текущата транзакция. Когато заключен при запис danyh блокиране настъпва, когато те се актуализират в базата данни до края на текущата транзакция. Lock данни се отстранява, когато някой или отхвърлянето на сделката с.

Сравнение на оптимистичен и песимистичен заключване

При разработването на софтуер, трябва да се избере стратегия на блокиране на данни. Трябва да се има предвид следното:
  1. Ако ситуацията е актуализиране на едни и същи данни във всеки един момент е сравнително рядко, не е изгодно да се използва оптимистично заключване. В този случай няма да е скъпа операция за заключване на ресурси.
  2. Ако възможността за ситуация, актуализиране на едни и същи данни е достатъчно високо, най-добре е да използвате песимистично заключване, това ще намали броя на абортирани сделки.
  3. Също така трябва да се има предвид, че когато оптимистично заключване в случай на сделка, то прекъсва трябва да стартирате отново.
Подкрепете проекта - споделете линка, благодаря!