ДБМС контрола паралелности: Тиместамп & амп; Протоколи засновани на закључавању

Преглед садржаја:

Anonim

Шта је контрола паралелности?

Контрола паралелности у систему управљања базама података је поступак управљања истовременим операцијама без међусобног сукоба. Осигурава да се трансакције базе података изводе истовремено и тачно како би се произвели тачни резултати без нарушавања интегритета података одговарајуће базе података.

Истовремени приступ је прилично једноставан ако сви корисници само читају податке. Нема шансе да се међусобно ометају. Иако би било која практична база података имала комбинацију РЕАД и ВРИТЕ операција, а самим тим и истодобност представља изазов.

ДБМС контрола паралелности користи се за решавање таквих сукоба, који се углавном јављају код вишекорисничког система. Стога је контрола паралелности најважнији елемент за правилно функционисање система управљања базом података где се истовремено извршавају две или више трансакција базе података, које захтевају приступ истим подацима.

У овом упутству ћете научити

  • Шта је контрола паралелности?
  • Потенцијални проблеми паралелности
  • Зашто користити Цонцурренци метод?
  • Протоколи за контролу паралелности
  • Протоколи засновани на закључавању
  • Двофазни протокол закључавања (2ПЛ)
  • Протоколи засновани на временској ознаци
  • Протокол заснован на валидацији
  • Карактеристике протокола добре истовремености

Потенцијални проблеми паралелности

Ево неколико проблема са којима ћете се вероватно суочити током употребе ДБМС методе контроле паралелности:

  • Изгубљена ажурирања се јављају када више трансакција бира исти ред и ажурира ред на основу изабране вредности
  • Проблеми са независношћу настају када друга трансакција изабере ред који се ажурира другом трансакцијом ( прљаво читање )
  • Непоновљиво читање се дешава када друга трансакција покушава да приступи истом реду неколико пута и сваки пут чита различите податке.
  • До неисправног сажетка долази када једна трансакција преузме сажетак вредности свих инстанци поновљене ставке података, а друга трансакција ажурира неколико инстанци те специфичне ставке података. У тој ситуацији резултујући резиме не одражава тачан резултат.

Зашто користити Цонцурренци метод?

Разлози за употребу методе контроле паралелности су ДБМС:

  • Применити изолацију кроз међусобно искључивање између неусаглашених трансакција
  • Да би се решио проблем сукоба при писању и писању и писању
  • Да би се очувала доследност базе података непрекидним очувањем препрека извршавању
  • Систем треба да контролише интеракцију између истовремених трансакција. Ова контрола се постиже коришћењем шема истовремене контроле.
  • Контрола паралелности помаже у обезбеђивању сериализације

Пример

Претпоставимо да двоје људи који истовремено одлазе на електронске киоске да би купили карту за филм за исти филм и исто време приказивања.

Међутим, остало је само једно место за филмску представу у том одређеном позоришту. Без контроле паралелности у ДБМС-у, могуће је да ће обоје гледалаца на крају купити карту. Међутим, метода контроле паралелности не дозвољава да се то догоди. Обоје гледалаца филмова и даље могу приступити информацијама записаним у бази података о седиштима за филмове. Али контрола паралелности пружа само карту купцу који је први завршио процес трансакције.

Протоколи за контролу паралелности

Различити протоколи за контролу паралелности нуде различите погодности између количине симултаности коју дозвољавају и количине режијских трошкова коју намећу. Следе технике контроле истовремености у ДБМС-у:

  • Протоколи засновани на закључавању
  • Двофазни протокол закључавања
  • Протоколи засновани на временској ознаци
  • Протоколи засновани на валидацији

Протоколи засновани на закључавању

Закључани протоколи у ДБМС-у су механизам у којем трансакција не може читати или писати податке док не добије одговарајућу блокаду. Лоцк протоколи помажу у уклањању проблема истовремености у ДБМС-у за истовремене трансакције закључавањем или изоловањем одређене трансакције за једног корисника.

Брава је променљива података која је повезана са ставком података. Ово закључавање значи да се могу извршити радње на ставци података. Браве у ДБМС-у помажу у синхронизацији приступа ставкама базе података истовременим трансакцијама.

Сви захтеви за закључавање упућују се менаџеру за контролу паралелности. Трансакције се настављају само када се одобри захтев за закључавање.

Бинарне браве: Бинарна брава на ставци података може бити закључана или откључана.

Дељено / ексклузивно: Ова врста механизма закључавања раздваја браве у ДБМС-у на основу њихове употребе. Ако се на ставци података добије закључавање да би се извршила операција уписивања, то се назива ексклузивна брава.

1. Заједничка брава:

Заједничка брава се назива и брава само за читање. Помоћу дељене браве ставка података може се делити између трансакција. То је зато што никада нећете имати дозволу за ажурирање података о ставци података.

На пример, размотрите случај када две трансакције очитавају стање на рачуну особе. База података ће им омогућити да читају постављањем заједничке браве. Међутим, ако друга трансакција жели да ажурира стање на том рачуну, дељено закључавање спречава то док се процес читања не заврши.

2. Ексклузивна брава (Кс):

Уз Екцлусиве Лоцк, и податак се може читати као и писати. Ово је ексклузивно и не може се истовремено држати на истој ставци података. Кс-лоцк се захтева помоћу инструкција лоцк-к. Трансакције могу откључати ставку података након завршетка операције „писања“.

На пример, када трансакција треба да ажурира стање на рачуну особе. Ову трансакцију можете дозволити постављањем Кс браве на њу. Стога, када друга трансакција жели да чита или пише, ексклузивно закључавање спречава ову операцију.

3. Поједностављени протокол закључавања

Ова врста протокола заснованих на закључавању омогућава трансакцијама добијање закључавања сваког објекта пре почетка рада. Трансакције могу откључати ставку података након завршетка операције „писања“.

4. Закључавање пре полагања права

Протокол закључавања пре полагања права помаже у процени операција и стварању листе потребних ставки података које су потребне за покретање поступка извршења. У ситуацији када су одобрена сва закључавања, трансакција се извршава. Након тога се све браве отпуштају када се све његове операције заврше.

Изгладњивање

Изгладњивање је ситуација када трансакција треба да сачека неограничено време да би стекла браву.

Следе разлози за изгладњивање:

  • Када се шемом чекања закључаних предмета не управља правилно
  • У случају цурења ресурса
  • Иста трансакција се више пута бира као жртва

Застој

Застој се односи на одређену ситуацију у којој два или више процеса чекају једни друге да би ослободили ресурс или их више од два процеса чекају у кружном ланцу.

Двофазни протокол закључавања

Двофазни протокол закључавања такође познат као 2ПЛ протокол је метода контроле паралелности у ДБМС-у која осигурава сериализацију применом закључавања на податке о трансакцији која блокира друге трансакције за истовремени приступ истим подацима. Двофазни протокол закључавања помаже у уклањању проблема са истовременошћу у ДБМС-у.

Овај протокол закључавања дели фазу извршења трансакције на три различита дела.

  • У првој фази, када трансакција почиње да се извршава, потребна јој је дозвола за браве које су јој потребне.
  • Други део је где трансакција добија све браве. Када трансакција отпусти своје прво закључавање, започиње трећа фаза.
  • У овој трећој фази трансакција не може захтевати нове браве. Уместо тога, ослобађа само стечене браве.

Двофазни протокол закључавања омогућава свакој трансакцији да изврши захтев за закључавање или откључавање у два корака:

  • Фаза раста : У овој фази трансакција може добити браве, али не може отпустити ниједну браву.
  • Фаза смањења : У овој фази трансакција може ослободити браве, али неће добити нову браву

Тачно је да 2ПЛ протокол нуди сериализацију. Међутим, то не осигурава да се застоји не догоде.

На горе датом дијаграму можете видети да локални и глобални детектори застоја траже застоје и решавају их настављањем трансакција у њихова почетна стања.

Строга метода двофазног закључавања

Строго двофазни систем закључавања готово је сличан 2ПЛ. Једина разлика је у томе што Стрицт-2ПЛ никада не ослобађа браву након употребе. Држи све браве до тачке урезивања и отпушта све браве одједном када је процес завршен.

Централизовано 2ПЛ

У Централизед 2 ПЛ, једна локација је одговорна за процес управљања закључавањем. Има само један менаџер закључавања за цео ДБМС.

Примарна копија 2ПЛ

Примарни механизам копирања 2ПЛ, многи менаџери закључавања дистрибуирају се на различите веб локације. Након тога, одређени менаџер браве одговоран је за управљање закључавањем скупа података. Када се примарна копија ажурира, промена се преноси на подређене.

Дистрибуирани 2ПЛ

У овој врсти двофазног механизма закључавања, менаџери браве дистрибуирају се на свим локацијама. Они су одговорни за управљање закључавањима података на тој локацији. Ако се не реплицирају ниједан податак, еквивалентан је примарној копији 2ПЛ. Трошкови комуникације Дистрибутед 2ПЛ су прилично већи од примарне копије 2ПЛ

Протоколи засновани на временској ознаци

Протокол заснован на временској ознаци у ДБМС-у је алгоритам који користи системско време или логички бројач као временску ознаку за сериализацију извршавања истовремених трансакција. Протокол заснован на Тиместамп-у осигурава да се све сукобљене операције читања и писања извршавају по редоследу временских жигова.

У овом методу се увек даје предност старијој трансакцији. Системско време користи за одређивање временског жига трансакције. Ово је најчешће коришћени протокол паралелности.

Протоколи засновани на закључавању помажу вам да управљате редоследом између неусаглашених трансакција када ће се извршити. Протоколи засновани на временској ознаци управљају сукобима чим се креира операција.

Пример:

Suppose there are there transactions T1, T2, and T3.T1 has entered the system at time 0010T2 has entered the system at 0020T3 has entered the system at 0030Priority will be given to transaction T1, then transaction T2 and lastly Transaction T3.

Предности :

  • Распоред се може серирати, баш као и 2ПЛ протоколи
  • Без чекања на трансакцију, што елиминише могућност застоја!

Мане:

Изгладњивање је могуће ако се иста трансакција поново покреће и непрекидно прекида

Протокол заснован на валидацији

Протокол заснован на валидацији у ДБМС-у такође познат као Оптимистична техника контроле паралелности је метода за избегавање паралелности у трансакцијама. У овом протоколу се ажурирају локалне копије података о трансакцији, а не сами подаци, што резултира мањим сметњама током извршавања трансакције.

Протокол заснован на валидацији врши се у следеће три фазе:

  1. Читај фазу
  2. Фаза валидације
  3. Напишите фазу

Читај фазу

У фази читања, вредности података из базе података могу се прочитати трансакцијом, али се операција уписа или ажурирања примењују само на локалне копије података, а не на стварну базу података.

Фаза валидације

У фази провере ваљаности подаци се проверавају како би се осигурало да нема кршења сериализабилности током примене ажурирања трансакција на базу података.

Напишите фазу

У фази писања, ажурирања се примењују на базу података ако је валидација успешна, иначе; ажурирања се не примењују и трансакција се враћа.

Карактеристике протокола добре истовремености

Идеалан ДБМС механизам за контролу паралелности има следеће циљеве:

  • Мора бити отпорна на грешке на локацији и комуникацији.
  • Омогућава паралелно извршавање трансакција да би се постигла максимална истовременост.
  • Њени механизми складиштења и рачунске методе требало би да буду скромни како би се смањили режијски трошкови.
  • Мора применити нека ограничења на структуру атомских акција трансакција.

Резиме

  • Контрола паралелности је поступак у ДБМС-у за управљање истовременим операцијама без међусобног сукоба.
  • Изгубљена ажурирања, прљаво читање, непоновљиво читање и нетачан сажетак су проблеми са којима се суочава недостатак контроле паралелности.
  • Закључани, двофазни, засновани на временским ознакама и засновани на провери ваљаности су врсте протокола за управљање истовременошћу
  • Брава може бити Схаред (С) или Екцлусиве (Кс)
  • Двофазни протокол закључавања, који је познат и као протокол 2ПЛ, треба да добије закључавање након што отпусти једну од својих брава. Има 2 фазе раста и смањења.
  • Алгоритам заснован на временској ознаци користи временску ознаку за сериализацију извршавања истовремених трансакција. Протокол користи системско време или логичко бројање као временску ознаку.