Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Salaamu calaykum Vladislav Rodin ayaa la xiriira. Hadda waxaan ahay hogaamiyaha koorsada ee koorsada naqshadaynta shaqada sare ee OTUS waxaanan sidoo kale baraa koorsooyinka naqshadaynta software.

Marka lagu daro waxbaridda, sida laga yaabo inaad dareentay, waxaan ku qorayaa walxo asal ah oo loogu talagalay blog-ka OTUS ee HabrΓ© waxaanan rabaa in aan ku beego maqaalka maanta si uu ugu beego bilawga koorsada "PostgreSQL", taas oo u furan isdiiwaan gelinta hadda.

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Horudhac

Π’ markii ugu dambeysay Waxaan ka hadalnay xaqiiqda ah in wax kala iibsiga xogta macluumaadka ay u adeegaan si ay u xalliyaan laba dhibaato: hubinta dulqaadka qaladka iyo helitaanka xogta jawi tartan ah. Si aad si buuxda u qabato hawlahan, wax kala iibsigu waa inuu lahaadaa guryaha ACID. Maanta waxaan si faahfaahsan uga hadli doonaa warqadda aniga (karantiil) marka la soo gaabiyo.

Dahaarka

Go'doomintu waxay xallisaa dhibaatada helitaanka xogta jawi tartan ah, iyada oo asal ahaan bixisa ilaalinta xaaladaha jinsiyadda. Fikrad ahaan, go'doomintu waxay ka dhigan tahay taxane, taas oo ah hanti hubinaysa in natiijada fulinta macaamilada isbarbardhigga ay la mid tahay haddii si isdaba-joog ah loo fuliyay. Dhibaatada ugu weyn ee hantidani waa in ay aad u adag tahay in la bixiyo farsamo ahaan, natiijada, waxay saameyn weyn ku leedahay waxqabadka nidaamka. Taasi waa sababta go'doominta inta badan la wiiqo, iyada oo la aqbalayo khataraha cilladaha qaarkood, kuwaas oo hoos looga hadli doono. Suurtagalnimada in ay dhacaan cillado gaar ah ayaa si sax ah u tilmaamaya heerka go'doominta wax kala iibsiga.

Calaamadaha ugu caansan waxaa ka mid ah: akhrinta wasakhda ah, akhrinta aan lagu celcelin karin, akhriska phantom, laakiin dhab ahaantii waxaa jira 5 kale: qoraal wasakh ah, cursor lumay update, lumay update, reading skew, write skew.

Wasakh qor

Nuxurka cillad la'aanta ayaa ah in wax kala iibsiga ay dib u qori karaan xogta aan la go'aamin.

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Khatartaani waa khatar ma aha oo kaliya sababtoo ah xogtu way isku dhici kartaa ka dib marka la sameeyo labadaba macaamil ganacsi (sida sawirka), laakiin sidoo kale sababtoo ah atomity waa lagu xadgudbay: maadaama aan u oggolaanno xogta aan la isku halleyn karin in la qoro, ma cadda sida dib loogu celiyo hal macaamil ganacsi iyada oo aan saameyn ku yeelanayn mid kale .

Caqli-xumada si fudud ayaa loo daweyn karaa: waxaan ku dhejineynaa quful diiwaanka ka hor inta aan la bilaabin duubista, anagoo ka mamnuucnay wax kala beddelashada diiwaanka ilaa qufulka laga saaro.

Wasakh akhris

Akhriska wasakhaysan macnaheedu waa akhrinta xogta aan la go'aamin.

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Dhibaatooyinku waxay soo baxaan marka ficillo ama go'aamo loo baahan yahay in lagu sameeyo muunadda.

Si loo saxo cilladda, waxaad ku dhejin kartaa quful wax-akhris, laakiin tani waxay si weyn u saameyn doontaa waxqabadka. Aad bay u sahlan tahay in la yiraahdo macaamilka dib-u-celinta, xaaladda bilowga ah ee xogta (kahor bilowga duubista) waa in lagu keydiyaa nidaamka. Maxaa halkaas looga akhrin waayay? Waa raqiis ku filan in inta badan xog-ururinta ay meesha ka saarto akhrinta wasakhaysan.

Cusbooneysii lumay

Cusboonaysiinta luntay macnaheedu waa cusboonaysiinta luntay, turjumaduna waxay si sax ah u muujinaysaa nuxurka dhibaatada:

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Dhab ahaantii, natiijada macaamilka T2 ayaa dib loo rogay. Xaaladdan waxaa lagu sixi karaa qufulo cad ama si daah oo cad. Taasi waa, si fudud ayaanu u cusboonaysiinaynaa diiwaanka, ka dibna quful aan toos ahayn ayaa dhacaya, ama waxaanu samaynaa dooro update, taasoo keenaysa in wax akhris iyo qoris dhaco. Fadlan ogow in qalliinka noocaas ahi uu aad khatar u yahay: akhrintayada "aan waxba galabsan", waxaanu xannibnaa akhrinta kale. Qaar ka mid ah xog-ururinta waxay bixiyaan ammaan badan dooro in la wadaago, Ogolaanshaha in xogta la akhriyo laakiin aan wax laga beddelin.

Cursor lumay update

Si loo xakameeyo, saldhigyadu waxay ku siin karaan qalab kale, sida cursor. Cursorku waa qaab dhismeed ka kooban safaf badan oo kuu ogolaanaya inaad dulmarto. ku dhawaaq cursor_name si loo xusho. Waxa ku jira cursorka waxa lagu sifeeyaa door.

Maxaad ugu baahan tahay cursor? Xaqiiqdu waxay tahay in xog-ururinta qaarkood ay bixiyaan quful dhammaan diiwaannada ay doorteen (akhri xasilloonida), ama kaliya diiwaanka uu hadda ku yaal calaamaduhu (xasiloonida cursor). Marka la eego xasilloonida cursor, quful gaaban ayaa la hirgeliyaa, taas oo noo ogolaanaysa inaan dhimno tirada qufulka haddii aan ku celcelino muunad weyn oo xog ah. Sidaa darteed, cilladda cusboonaysiinta luntay waxay gaar u tahay cursorka.

Akhris aan lagu soo noqnoqon karin

Akhrinta aan lagu soo celin karin ayaa ah in inta lagu jiro fulinta macaamilkayaga, 2 akhrin oo isku xigta oo isku mid ah ayaa keeni doona natiijooyin kala duwan, sababtoo ah macaamil kale ayaa soo dhexgalay labadan akhrin, bedelay xogtayada oo la sameeyay.

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Maxay tani xitaa dhibaato u tahay? Bal qiyaas in yoolka ganacsiga T2 ee sawirka uu yahay in la doorto dhammaan badeecooyinka qiimahoodu ka yar yahay 150 USD. Qof kale ayaa cusboonaysiiyay qiimihii ilaa $200. Sidaa darteed, filtarka lagu rakibay ma shaqayn.

Cilad-xumadaani waxay joogsanaysaa inay dhacaan marka laba waji oo is-dhexgal ah lagu daro ama marka habka MVCC la isticmaalo, taas oo aan jeclaan lahaa inaan si gaar ah uga hadlo.

Phantom akhriyay

Phantom waa akhrinta xogta lagu daray macaamil kale.

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Tusaale ahaan, waxaan ilaalin karnaa xulashada khaldan ee alaabta ugu jaban marka cilladani dhacdo.

Ka takhalusidda akhrinta khiyaanada ah ayaa durba aad u adag. Joojinta joogtada ah kuma filna, sababtoo ah ma xannibi karno wax aan weli jirin. Nidaamyada 2PL waxay adeegsadaan quful saadaalin ah, halka nidaamyada MVCC ay leeyihiin jadwal wax kala beddelasho oo dib u soo celiya wax kala iibsiga oo laga yaabo inay carqaladeyso gelin. Farsamaynta koowaad iyo labaadba aad bay u culus yihiin.

Akhri skew

Akhriska skew wuxuu yimaadaa marka aan la shaqeyno dhowr miis, kuwaas oo waxa ku jira ay tahay inay si joogto ah u beddelaan.

Aynu nidhaahno waxaanu haynaa jaantusyo matalaya qoraalada iyo xogtooda badan:

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Mid ka mid ah wax kala iibsiga ayaa ka akhriya shaxanka, kan kalena wax ka beddelaa iyaga:

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Natiijada macaamil ganacsi ee T1, boostadu waxay leedahay cinwaan = Wanaagsan, iyo updated_by = T2, taas oo ah nooc ka mid ah iswaafaqla'aan.

Dhab ahaantii, tani waa akhrin aan lagu soo noqnoqon karin, laakiin qayb ka mid ah miisas badan.

Si tan loo hagaajiyo, T1 waxay ku dhejin kartaa dhammaan safafka ay akhrin doonto, taas oo ka ilaalin doonta macaamilka T2 inuu beddelo macluumaadka. Haddii ay dhacdo MVCC, wax kala iibsiga T2 waa la burin doonaa. Ka-hortagga cilladaan waxay noqon kartaa muhiim haddii aan isticmaalno cursors.

Qor qallafsanaan

Caqli-xumadaani sidoo kale way fududahay in lagu sharaxo tusaale: ka soo qaad in nidaamkayaga ugu yaraan hal dhakhtar uu ku jiro shaqada, laakiin labaduba waxay go'aansadeen inay joojiyaan waajibaadkooda:

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Dhibaatadu waxay ka dhigan tahay in mid ka mid ah dhakhaatiirta uusan joogi doonin shaqada. Maxay tani u dhacday? Sababtoo ah wax kala iibsigu waxa uu hubinayey xaalad lagu xad-gudbi karo wax kala iibsi kale, go'doon awgeed maanu arag isbeddelkan.

Tani waa isla akhrin aan lagu soo noqnoqon karin. Haddii kale, doorashadu waxay gelin karaan quful diiwaannadan.

Qor qalfoofka oo akhri qalloocadu waa isku-darka cilladihii hore. Waxaad ka fikiri kartaa inaad qorto skew, taas oo asal ahaan ah wax akhrin ah. Tixgeli miis ay ku jiraan magacyada shaqaalaha, mushaharkooda, iyo mashruuca ay ka shaqeeyaan:

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Maxaa ka dhalan kara daciifinta heerka go'doominta wax kala iibsiga ee xogta macluumaadka?

Natiijo ahaan, waxaanu helnaa sawirkan soo socda: maamule kastaa wuxuu u maleeyay in isbeddelkoodu aanu u horseedi doonin in la dhaafo miisaaniyad, sidaas darteed waxay sameeyeen isbeddel shaqaale taas oo keentay in kharashka la kordhiyo.

Sababta dhibaatadu waxay la mid tahay sida wax loo akhriyo.

natiijooyinka

Dejinta heerka go'doominta wax kala iibsiga ee kaydka xogta waa is dhaafsi ka dhexeeya amniga iyo waxqabadka; doorashada heerkan waa in lagu wajaho iyadoo lagu salaynayo khataraha ka iman kara ganacsiga haddii cillado gaar ah dhacaan.

Wax badan ka baro koorsada.

Source: www.habr.com

Add a comment