Canja wuri tsakanin bayanan bayanai yana mutuwa lokacin da VPN ya fadi, kuma «sake gwada shi» ba shiri ne na dawo da aiki ba. Cirewar tushen na iya zama cikakke, maƙasudin na iya riga ya yi commit, ko kuma amsar ta yi asara a hanyar dawowa. Waɗannan yanayi uku na buƙatar matakai daban-daban, kuma abokin ciniki da ya san «kuskure» kawai ba zai iya bambanta su ba.

Magani na gine-gine ne: ba kowane gudu wani asalin rukuni mai dorewa, kuma bar bayanan bayanai su amsa tambayoyi maimakon barin abokin ciniki ya yi hasashe.

Abin da bayanan bayanai ke tabbatarwa da gaske

SQL Server da Oracle duka suna ba da atomically a cikin ma'amala. Babu ɗayansu da ke ba ka atomically tsakanin su biyu. Haɗin da ya ɓace ba ya lalata bayanan bayanai, kuma ba ya tilasta mayar da baya da hannu, domin uwar garken tana warware ma'amalarta ba tare da kai ba. Abin da ke karyewa shine sanin mai kira game da sakamakon.

Commit daban yana nufin commit daban. VPN da ke ɗaukar haɗin biyu ba ya haɗa commit biyu cikin rukunin aiki ɗaya.

Commit din da ba ka taɓa jin labarinsa ba

Wata hanyar gazawa tana hukunta tunanin sake gwadawa na butulci: uwar garken tana commit, kuma tabbacin ba ya taɓa isa ga mai kira. Oracle ya rubuta wannan a matsayin matsalar sakamakon da ba a sani ba kuma ya samar da Transaction Guard dominta a cikin takardun ma'amala. Kuskuren sadarwa ba hujja ba ce cewa commit da aka tura ya kasa, kuma ɗaukarsa a matsayin hujja ita ce hanyar da ake buga rukuni sau biyu. Bambancin ya fi muhimmanci a hanyar sake gwadawa, inda mai aiki ke da saƙon kuskure ba wata alama da zai yi aiki da ita ba.

Don haka matakin dawo da aiki dole ya karanta sakamakon daga maƙasudi maimakon ya kammala shi daga rubutun kuskure.

Ba da lodi asalin rukuni

Kowane gudu na samun ID na rukuni mara canzawa, kuma maƙasudin yana rubuta abin da ya yi da wannan ID. Zagayowar rayuwa tana da matakai huɗu, kuma tana kama da juna ko wanene mai sayarwa:

  1. Cire rukunin tushe da aka gano, mara canzawa tare da schema da iyaka da aka rubuta.
  2. Canja shi zuwa yankin shiri na maƙasudi kuma gano abun ciki mara cikawa ko mai cin karo kafin ayyana shi a shirye.
  3. Aiwatar da shi ƙarƙashin ka'idojin musamman ko kulle na maƙasudin kansa kuma rubuta kammalawa a cikin ma'amalar gida ɗaya.
  4. Daidaita sakamakon mai dorewa ta hanyar ka'idar da aka goyi baya kafin tabbatarwa ko sake gwadawa.

Sake gwadawa na sake amfani da ID ɗin. Sabon ID ga kowane ƙoƙari yana lalata hana kwafi da ka gina yanzu, abin da yake bayyana a fili har sai wani murfin sake gwadawa ya ƙirƙiri ɗaya kai tsaye.

ID ɗin kuma yana ba ka abin da za ka daidaita da shi daga baya, da daɗewa bayan aikin abokin ciniki ya tafi.

Nemi rukuni, sannan ka aiwatar

Matakin aiwatarwa dole ya nemi ID na rukuni, ya yi canje-canjen kasuwanci, kuma ya rubuta kammalawa a cikin ma'amalar gida ɗaya. Yin bincike da saka a matsayin kalmomi daban-daban yana dawo da tseren da kake ƙoƙarin cirewa. Idan ma'aikata biyu suna fafatawa, daidai ɗaya nema ce ke cin nasara kuma an gaya wa ɗayan.

Rashin rikodin kammalawa ba hujja ba ce cewa ma'amala da ke gudana ba za ta taɓa commit ba. Neman dole ya daidaita ƙoƙarin masu fafatawa, ko ka'idar dole ta karanta sakamakon mai dorewa kafin yanke wani shawara.

Yi amfani da hanyar da bayanan bayanai ke goyi bayan don wannan daidaitawa maimakon madauki na duba-sa'an-sake a cikin lambar aikace-aikacen.

Abin da ƙira ba za ta iya yi alkawari ba har yanzu

Shiri yana sa aikin sake farawa kuma yana rage dogaro da zama ɗaya mai tsawo. Ba ya ƙirƙirar commit atomically ɗaya a fadin SQL Server, Oracle da duk wani tasiri na waje da aikin ke yi. Idan kasuwancin yana buƙatar hakan da gaske, tsara kuma tabbatar da ma'amalar da aka rarraba da aka goyi baya ko tsarin daidaitawa, gami da wanda ya mallaki aikin da sakamakonsa ba shi da tabbas. Duk abin da ya fi rauni haka yana cikin littafin daidaitawa, ba a cikin lambar canja wuri ba.

Karɓi katsewa a wurare uku: yayin canja wuri, yayin aiwatarwa, da bayan commit amma kafin tabbatarwa. Sannan duba sakamakon kasuwanci maimakon saƙon abokin ciniki, kuma bar littafin rukuni ya faɗi ko aikin bai cika ba, an commit, ko har yanzu ba a warware ba.

Labarai masu alaƙa