Ìgbékalẹ̀ láàárín àwọn ibi ìpamọ́ kú nígbà tí VPN bá ṣubu, «tún ṣe é» kì í sì í ṣe ètò ìmúpadà. Ìyọkúrò láti orísun lè ti parí, ibi àfojúsùn lè ti ṣe commit tẹ́lẹ̀, tàbí ìdáhùn náà lè ti sọnù lórí ọ̀nà àpadà. Àwọn ipò mẹ́ta wọ̀nyí nílò àwọn ìgbésẹ̀ ọ̀tọ̀ọ̀tọ̀, àti pé alágbàṣe tí ó mọ̀ «àṣìṣe» nìkan kò lè ṣe ìyàtọ̀ wọn.

Òjútòó náà jẹ́ ti ìkọ́lé: fún gbogbo ìṣiṣẹ́ ní ìdánimọ̀ ẹgbẹ́ tí ó dúró pẹ́, kí àwọn ibi ìpamọ́ ó dáhùn àwọn ìbéèrè dípò jẹ́ kí alágbàṣe ṣe àfojúsùn.

Kí ni ibi ìpamọ́ ń gbèjàǹtì lóòótọ́

SQL Server àti Oracle méjèèjì ń pèsè atomiki nínú ìdúnàádúrà kan. Kò sí ọ̀kan tí ó ń pèsè atomiki láàárín àwọn méjèèjì. Àsopọ̀ tí ó sọnù kò ba ibi ìpamọ́ jẹ́, kò sì fipá mú ìpadàsẹ́yìn ní ọwọ́, nítorí pé olùpèsè náà ń yanjú ìdúnàádúrà tirẹ̀ láìsí ìwọ. Ohun tí ó fọ́ ni ìmọ̀ olupè nípa àbájáde.

Commit lọ́tọ̀ọ̀tọ̀ túmọ̀ sí commit lọ́tọ̀ọ̀tọ̀. VPN tí ó ń gbé àwọn àsopọ̀ méjèèjì kò darapọ̀ commit méjì sí ẹyọ iṣẹ́ kan.

Commit tí ìwọ kò gbọ́ rí

Ọ̀nà ìkùnà kan ń fìyà jẹ ẹ̀kọ́ ìgbìyànjú àtúnṣe aláìlẹ́gbẹ́: olùpèsè ń ṣe commit, ìjẹ́rìí kò sì dé ọ̀dọ̀ olupè. Oracle ń kọ èyí sílẹ̀ gẹ́gẹ́ bí ìṣòro àbájáde aláìmọ̀, ó sì ń pèsè Transaction Guard fún un nínú àwọn àkọsílẹ̀ ìdúnàádúrà. Àṣìṣe ìbáraẹnisọ̀rọ̀ kì í ṣe ẹ̀rí pé commit tí a fi ránṣẹ́ kùnà, àti lílo rẹ̀ gẹ́gẹ́ bí ẹ̀rí ni ọ̀nà tí a fi ń tẹ ẹgbẹ́ jáde lẹ́ẹ̀mejì. Ìyàtọ̀ náà ṣe pàtàkì jùlọ ní ọ̀nà ìgbìyànjú àtúnṣe, níbi tí olùṣiṣẹ́ ní ìfiránṣẹ́ àṣìṣe kan ṣoṣo tí kò sì ní àmì mìíràn láti ṣiṣẹ́ lórí.

Nítorí náà ìgbésẹ̀ ìmúpadà gbọ́dọ̀ ka àbájáde láti ibi àfojúsùn dípò kí ó yọ̀ǹda rẹ̀ láti inú àkọsílẹ̀ àṣìṣe.

Fún gbígbé ní ìdánimọ̀ ẹgbẹ́

Gbogbo ìṣiṣẹ́ ń gba ID ẹgbẹ́ tí kò yí padà, ibi àfojúsùn sì ń ṣàkọsílẹ̀ ohun tí ó ṣe pẹ̀lú ID yẹn. Ìyípo ìgbésí ayé ni ìgbésẹ̀ mẹ́rin, ó sì dàbí ohun kan náà láìka olùtà sí:

  1. Yọkúrò ẹgbẹ́ orísun tí a dánimọ̀ àti tí kò yí padà pẹ̀lú àwòrán àti ààlà tí a kọ sílẹ̀.
  2. Gbé lọ sí agbègbè ìmúrasílẹ̀ ibi àfojúsùn kí o sì ṣàwárí àkóónú aláìpé tàbí alátakò kí o tó kéde rẹ̀ ní ṣetán.
  3. Lò ó lábẹ́ àwọn òfin àkànṣe tàbí títìpa ti ibi àfojúsùn fúnra rẹ̀ kí o sì ṣàkọsílẹ̀ ìparí nínú ìdúnàádúrà àdúgbò kan náà.
  4. Bámu àbájáde tí ó dúró pẹ́ nípasẹ̀ ìlànà tí a ṣètìlẹ́yìn kí o tó jẹ́rìí tàbí tún gbìyànjú.

Àwọn ìgbìyànjú àtúnṣe ń lo ID kan náà. ID tuntun fún gbogbo ìgbìyànjú ń ba ìdènà àtúnṣe ẹlẹ́ẹ̀mejì tí o ṣẹ̀ṣẹ̀ kọ́ jẹ́, èyí tí ó dàbí kedere títí tí ìbòrí ìgbìyànjú àtúnṣe yóò fi ṣe ọ̀kan fúnra rẹ̀.

ID náà tún fún ọ ní ohun tí wàá fi bámu nígbà tí ó yá, pẹ̀lú àkókò púpọ̀ lẹ́yìn tí ìlànà alágbàṣe ti parẹ́.

Gba ẹgbẹ́ náà, lẹ́yìn náà lò ó

Ìgbésẹ̀ ìlò gbọ́dọ̀ gba ID ẹgbẹ́, ṣe àwọn ìyípadà ìṣòwò, kí ó sì ṣàkọsílẹ̀ ìparí nínú ìdúnàádúrà àdúgbò kan. Ṣíṣe àyẹ̀wò àti ìfiwọlé gẹ́gẹ́ bí àwọn gbólóhùn ọ̀tọ̀ọ̀tọ̀ ń mú eré-ìje tí o ń gbìyànjú láti yọ kúrò padà. Bí àwọn òṣìṣẹ́ méjì bá ń díje, ìbéèrè kan gbágede ni yóò borí, a ó sì sọ fún ẹlòmíràn.

Àìsí àkọsílẹ̀ ìparí kì í ṣe ẹ̀rí pé ìdúnàádúrà tí ń lọ kò ní ṣe commit láé. Ìbéèrè náà gbọ́dọ̀ tò àwọn ìgbìyànjú alátakò lẹ́sẹẹsẹ, tàbí ìlànà gbọ́dọ̀ ka àbájáde tí ó dúró pẹ́ kí ó tó pinnu ohunkóhun.

Fún ìtòlẹ́sẹẹsẹ yẹn, lo ọ̀nà tí ibi ìpamọ́ ṣètìlẹ́yìn dípò ìyípo àyẹ̀wò-àtúnṣe nínú kóòdù ètò.

Ohun tí àpẹẹrẹ kò tíì lè ṣèlérí

Ìmúrasílẹ̀ ń jẹ́ kí iṣẹ́ tún bẹ̀rẹ̀, ó sì dín ìgbẹ́kẹ̀lé lórí ìpàdé gigun kan kù. Kò dá commit atomiki kan sílẹ̀ káàkiri SQL Server, Oracle àti àwọn ipa ẹ̀gbẹ́ òde tí iṣẹ́ náà ń ṣe. Bí ìṣòwò bá nílò rẹ̀ gan-an, ṣe àpẹẹrẹ àti ṣe ìdánilójú ìdúnàádúrà pínpín tí a ṣètìlẹ́yìn tàbí ìlànà ìbámu, pẹ̀lú ẹni tí ó ni iṣẹ́ tí àbájáde rẹ̀ kò dá ni. Ohunkóhun tí ó rẹ̀wẹ̀sì ju ìyẹn lọ wà nínú ìwé ìmúrasílẹ̀ ìbámu, kì í ṣe nínú kóòdù gbígbé.

Gba ìdádúró ní ibi mẹ́ta: nígbà gbígbé, nígbà ìlò, àti lẹ́yìn commit ṣùgbọ́n kí ó tó jẹ́rìí. Lẹ́yìn náà ṣàyẹ̀wò àbájáde ìṣòwò dípò ìfiránṣẹ́ alágbàṣe, kí o sì jẹ́ kí ìwé ẹgbẹ́ sọ bóyá iṣẹ́ kò pé, a ti ṣe commit, tàbí a kò tíì yanjú.

Àwọn àpilẹ̀kọ tó jọra