Nga whakawhitinga me o raatau tikanga whakahaere

Nga mahi

Ko te tauwhitinga he raupapa o nga mahi i runga i nga raraunga he timatanga me te mutunga.

Ko te tauwhitinga he mahinga raupapa o nga mahi panui me te tuhi. Ko te mutunga o te tauwhitinga ka taea te tiaki i nga huringa (whakaae) te whakakore ranei i nga huringa (whakahoki). E pa ana ki te patengi raraunga, he maha nga tono e kiia ana he tono kotahi.

Ko nga tauwhitinga me tutuki nga ahuatanga ACID

Atomicity. Ko te whakawhitinga kua oti katoa, kaore ranei.

Te riterite. I te whakaotinga o te tauwhitinga, me kaua e takahia nga here i utaina ki runga i nga raraunga (hei tauira, nga herenga i roto i te putunga raraunga). Ko te riterite te tikanga ka whakawhitia te punaha mai i tetahi ahuatanga tika ki tetahi atu ahua tika.

Wehenga. Ko nga whakawhitinga e rere whakarara ana kia kaua e whakaawe tetahi ki tetahi, hei tauira, huri i nga raraunga e whakamahia ana e tetahi atu tauwhitinga. Ko te hua o te whakahaere i nga tauwhitinga whakarara kia rite ki te mea i mahia nga tauwhitinga.

Te oranga tonutanga. Kia mahia, kaua e ngaro nga huringa.

Rangitaki tauwhitinga

Ka penapenahia e te raarangi nga huringa i mahia e nga whakawhitiwhitinga, ka whakarite i te ngota me te pumau o nga raraunga mena ka rahua te punaha

Kei roto i te raarangi nga uara o nga raraunga i mua me muri i muri i te whakarereketanga e te tauwhitinga. Ko te rautaki rangitaki tuhi-i mua me taapiri he urunga rangitaki mo nga uara o mua i mua i te tiimata, me nga uara whakamutunga i muri i te otinga o te tauwhitinga. Mena ka mutu ohorere te punaha, ka panuihia e te papaarangi te raarangi te raupapa whakamuri me te whakakore i nga huringa i mahia e nga whakawhitinga. I te tupono ki tetahi tauwhitinga haukotia, ka mahia e te paataka korero ka whakarereke i te raarangi. I te noho i roto i te kawanatanga i te wa o te korenga, ka panuihia e te papaaarangi te raarangi i roto i te raupapa whakamua me te whakahoki i nga huringa i mahia e nga whakawhitinga. Ma tenei ara, ka tiakina te pumau o nga tauwhitinga kua oti kee me te ngota o te tauwhitinga kua haukotia.

Ko te mahi ano i nga whakawhitinga rahua kaore e ranea mo te whakaora.

Tauira. Kei te kaiwhakamahi te $500 i roto i tana kaute ka whakatau te kaiwhakamahi ki te tango mai i te ATM. E rua nga whakawhitinga kei te haere tonu. Ko te mea tuatahi ka panui i te uara toenga me te mea he nui nga moni kei runga i te toenga, ka tukuna he moni ki te kaiwhakamahi. Ko te tuarua ka tango i te moni e hiahiatia ana mai i te toenga. Me kii i pakaru te punaha ka rahua te mahi tuatahi, engari i tutuki te tuarua. I tenei keehi, kaore e taea e taatau te tuku moni ki te kaiwhakamahi me te kore e whakahoki i te punaha ki tona ahuatanga taketake me te toenga pai.

Nga taumata whakamarumaru

Panui Whakapumautia

Ko te raru o te Dirty Read ka taea e tetahi tauwhitinga te panui i te hua takawaenga o tetahi atu tauwhitinga.

Tauira. Ko te uara toenga tuatahi he $0. Ka taapirihia e T1 te $50 ki to toenga. Ka panuitia e T2 te uara toenga ($50). Ka whakakorehia e T1 nga huringa ka puta. Ka haere tonu te mahi a T2 me nga raraunga toenga hē.

Ko te otinga ko te panui i nga raraunga pumau (Panui Whakaaetia), e aukati ana i te panui raraunga i whakarerekehia e te tauwhitinga. Mena kua whakarerekehia e te tauwhitinga A tetahi huinga raraunga, katahi ka pehia te tauwhitinga B, ina uru ana ki enei raraunga, me tatari kia oti te tauwhitinga A.

Panui Tukurua

Raruraru Whakahōu Ngaro. Ka tiakina e T1 nga huringa ki runga ake o nga huringa a T2.

Tauira. Ko te uara toenga tuatahi ko te $0 ka rua nga whakawhitinga ka whakakiia te toenga i te wa kotahi. I panuitia e T1 me T2 he toenga $0. Ka tāpirihia e T2 te $200 ki te $0 ka tiakina te hua. Ka taapirihia e T1 te $100 ki te $0 ka tiakina te hua. Ko te hua whakamutunga he $100 hei utu mo te $300.

He raruraru panui kore e taea te whakahoki. Ko te panui i nga raraunga kotahi ka whakahoki mai i nga uara rereke.

Tauira. Ka panuitia e T1 te uara toenga $0. Ka tāpirihia e T2 te $50 ki te toenga ka mutu. Ka panui ano a T1 i nga raraunga ka kitea he rereketanga ki te hua o mua.

Ko te Panui Tukurua ka whakarite kia rite te hua o te panui tuarua. Ko nga raraunga ka panuihia e tetahi tauwhitinga kaore e taea te whakarereke i etahi atu kia oti ra ano te tauwhitinga. Mena kua panuihia e te tauwhitinga A etahi huinga raraunga, katahi ka pehia te tauwhitinga B, ina uru ana ki enei raraunga, me tatari kia oti te tauwhitinga A.

Panui panui (Ka taea te raupapa)

Phantom Reads raruraru. E rua nga patai ka kowhiri i nga raraunga i runga i tetahi ahuatanga ka whakahoki i nga uara rereke.

Tauira. Ka tono a T1 i te maha o nga kaiwhakamahi katoa he nui ake te toenga i te $0 engari iti iho i te $100. Ka tangohia e T2 te $1 mai i te kaiwhakamahi me te $101 te toenga. Ka tukuna ano e T1 te tono.

Kua whakahauhia te panui (Serializable). Ka mahia nga tauwhitinga hei raupapatanga katoa. Kaore e taea te whakahou, te taapiri ranei i nga rekoata ka taka ki roto i nga tikanga o te tono. Mena kua tono raraunga te tauwhitinga A mai i te ripanga katoa, ka whakatotoka te ripanga katoa mo etahi atu tauwhitinga kia oti ra ano te tauwhitinga A.

Kaihōtaka

Ka tautuhi i te raupapa e tika ana kia mahia nga mahi i nga tauwhitinga whakarara.

Ka whakarato i te taumata motuhake. Mena karekau te hua o nga mahi e whakawhirinaki ana ki ta raatau ota, katahi ka rerekee nga mahi (Permutable). Ko nga mahi panui me nga mahi i runga i nga raraunga rereke he rereke. Ko nga mahi panui-tuhi me te tuhi-tuhi kaore i te rereke. Ko te mahi a te kaihōtaka he whakawhanaunga i nga mahi e mahia ana e nga tauwhitinga whakarara kia rite ai te hua o te mahi ki te mahi raupapa o nga whakawhitinga.

Nga tikanga mo te whakahaere i nga mahi whakarara (Concurrency Control)

Ko te arotau kei runga i te rapu me te whakatau i nga tautohetohe, ko te pessimistic i runga i te aukati i nga raruraru ka puta ake.

I roto i te huarahi pai, he maha nga kaiwhakamahi he kape o nga raraunga kei a raatau. Ko te tangata tuatahi ki te whakaoti i te whakatika ka tiakina nga huringa, ko etahi atu me hanumi nga huringa. Ma te algorithm pai e taea ai te taupatupatu, engari me whakaora te punaha mai i te pakanga.

Ma te ahua pessimistic, ko te kaiwhakamahi tuatahi ki te hopu i nga raraunga ka aukati i etahi atu ki te whiwhi raraunga. Mena he onge nga tautohetohe, he mea whakaaro nui ki te whiriwhiri i te rautaki tino pai, na te mea ka nui ake te ahua o te whakakotahitanga.

Maukati

Mena kua maukatihia e tetahi tauwhitinga nga raraunga, me tatari etahi atu whakawhitinga kia wetekina i te wa e uru ana ki nga raraunga.

Ka taea te whakakikorua i tetahi paraka ki runga i te papaunga raraunga, te ripanga, te rarangi, te huanga ranei. Ka taea te utaina te Raka Tiri ki runga i nga raraunga kotahi e te maha o nga whakawhitinga, ka taea e nga tauwhitinga katoa (tae atu ki te mea nana i utaina) te panui, te aukati i te whakarereke me te hopu motuhake. Ko te Maukati Motuhake ka taea e te tauwhitinga kotahi anake, ka whakaaehia nga mahi o te tauwhitinga whakahirahira, ka aukati i nga mahi a etahi atu.

Ko te aukati he ahuatanga ka mutu nga tauwhitinga ki roto i te ahua e tatari ana ka mau tonu.

Tauira. Ko te tauwhitinga tuatahi e tatari ana mo nga raraunga i mauhia e te tuarua kia tukuna, ko te tuarua e tatari ana kia tukuna nga raraunga i mauhia e te tuatahi.

Ko te otinga tino pai ki te raru kati ka taea te kati, engari ka whakaora i te punaha ma te huri whakamuri i tetahi o nga whakawhitinga e uru ana ki te kati.

Ka rapua nga kati mo etahi wa. Ko tetahi o nga tikanga rapu ko te wa, ara, whakaaro kua puta he mate ki te roa rawa te mahi o te tauwhitinga. Ka kitea he kati, ka hurihia tetahi o nga whakawhitinga, ka taea e etahi atu whakawhitinga e uru ana ki te kati ki te whakaoti. Ko te kowhiringa o te patunga ka taea te whakatau i runga i te uara o nga whakawhitiwhitinga, i to ratau pakeketanga ranei (Tatari-Ka mate me te Wound-wait kaupapa).

Ia tauwhitinga T kua tautapahia he tohu waahi TS kei roto te wa timata o te tauwhitinga.

Tatari-Ka mate.

ki te TS(Ti) < TS(Tj), ka Ti tatari, ki te kore Ti ka hoki whakamuri ka timata ano me te tohu wa ano.

Mena kua riro i te tauwhitinga rangatahi he rauemi ka tono tetahi tauwhitinga tawhito ki taua rauemi ano, ka whakaaetia te tauwhitinga tawhito kia tatari. Mena kua whiwhi rauemi i tetahi tauwhitinga tawhito, ka hoki te tauwhitinga teina e tono ana i taua rauemi.

Tatari-tatari.

ki te TS(Ti) < TS(Tj), ka Tj ka huri whakamuri ka timata ano me te tohu tohu kotahi, ki te kore Ti tatari ana.

Mena kua riro i te tauwhitinga teina he rauemi ka tono tetahi tauwhitinga tawhito ki taua rauemi ano, ka hoki whakamuri te tauwhitinga teina. Mena kua riro mai i tetahi tauwhitinga tawhito he rauemi, ka whakaaetia te tauwhitinga teina e tono ana i taua rauemi ki te tatari. Ko te kowhiringa pärurenga o mua ka aukati i nga kati, engari ka hoki whakamuri i nga tauwhitinga kaore i te kati. Ko te raruraru ka taea te hoki whakamuri i nga tauwhitinga maha na te mea... ka taea e te tauwhitinga tawhito te pupuri i te rauemi mo te wa roa.

Ko te otinga peha ki te raru kati karekau e whakaae kia timata te mahi ki te mahi mena ka tupono he kati.

Hei kite i te kati, ka hangaia he kauwhata (kauwhata tatari, kauwhata tatari), he tauwhitinga nga pooti, ​​a ko nga taha ka ahu mai i nga tauwhitinga e tatari ana mo te tukunga o nga raraunga ki te tauwhitinga kua mau i enei raraunga. Ki te whakaaro kua puta he kati mena he koropiko te kauwhata. He mahi utu nui te hanga kauwhata tatari, ina koa i roto i nga putunga korero.

Maukati-waahanga-rua - ka aukati i nga kati ma te hopu i nga rauemi katoa e whakamahia ana e tetahi tauwhitinga i te timatanga o te tauwhitinga me te tuku i te mutunga.

Ko nga mahi aukati katoa me mua i te whakatuwheratanga tuatahi. E rua nga wahanga - Te Waa Whakatipu, i te wa e whakaemi ai nga pu, me te Wāhanga Whakaheke, i te wa ka tukuna nga pu. Mena kaore e taea te hopu i tetahi o nga rauemi, ka timata ano te hokohoko. Kare pea e taea e tetahi tauwhitinga te whiwhi i nga rauemi e hiahiatia ana, hei tauira, mena he maha nga tauwhitinga e whakataetae ana mo nga rauemi kotahi.

Ko te mahi rua-waahanga ka whakarite kia mahia te mahi ki runga i nga tauira raraunga katoa

Ka uru atu ia patengi raraunga ki nga korero mo nga raraunga ka huri ki te raarangi ka whakautu ki te kairuruku OK (Wahanga Pooti). I muri i te whakahokinga pai o te katoa, ka tukuna e te kairuruku he tohu hei whakahau i nga tangata katoa ki te whakaae. I muri i te mahi, ka whakautu pai nga kaitoro; ki te kore tetahi e whakautu OK, ka tukuna e te kairuruku he tohu hei whakakore i nga huringa ki nga tūmau katoa (Wāhanga Whakaoti).

Tikanga Waima

Ka hoki whakamuri tetahi tauwhitinga tawhito i te wa e ngana ana ki te uru ki nga raraunga e uru ana ki tetahi tauwhitinga teina

Ka whakawhiwhia ki ia tauwhitinga he tohu waahi TS e rite ana ki te wa tiimata o te mahi. Mehemea Ti runga i Tj, ka TS(Ti) < TS(Tj).

Ina whakatakahia he tauwhitinga, ka tohua he tohu wa hou. Ia ahanoa raraunga Q whai wāhi i roto i te tauwhitinga kua tohua ki te rua tapanga. W-TS(Q) — waitohuwā o te tauwhitinga iti rawa i tutuki pai te rekoata Q. R-TS(Q) — tohuwā o te tauwhitinga iti rawa i mahia he rekoata panui Q.

A, no te tauwhitinga T tono ki te panui raraunga Q E rua nga whiringa.

ki te TS(T) < W-TS(Q), ara, i whakahoutia nga raraunga e te tauwhitinga teina, katahi ko te tauwhitinga T ka huri whakamuri.

ki te TS(T) >= W-TS(Q), katahi ka mahia te panui me te R-TS(Q) kei te haere MAX(R-TS(Q), TS(T)).

A, no te tauwhitinga T tono huringa raraunga Q E rua nga whiringa.

ki te TS(T) < R-TS(Q), ara, kua panuihia nga raraunga e tetahi tauwhitinga teina, a, ki te whakarereketia, ka puta he raruraru. Tauwhitinga T ka huri whakamuri.

ki te TS(T) < W-TS(Q), ara, ka ngana te tauwhitinga ki te tuhirua i te uara hou ake, ka huri whakamuri te tauwhitinga T. I etahi atu take, ka whakahaerehia te huringa me te W-TS(Q) ka rite TS(T).

Kaore e hiahiatia te hanga kauwhata tatari utu nui. Ko nga tauwhitinga tawhito e whakawhirinaki ana ki nga mea hou, na reira kaore he huringa i roto i te kauwhata tatari. Karekau he kati na te mea kaore e tatarihia nga whakawhitiwhitinga engari ka hoki tonu. Ka taea te huri whakamuri. Mehemea Ti hurihia atu a Tj I panui ahau i nga raraunga i hurihia e ahau Ti, ka Tj me huri hoki ki muri. Mena i te wa ano Tj kua oti kee, katahi ka takahia te kaupapa o te pumau.

Ko tetahi o nga otinga ki te huri whakamuri. Ka oti i te tauwhitinga nga mahi tuhi katoa i te mutunga, me tatari etahi atu tauwhitinga kia oti taua mahi. Ka tatari nga tauwhitinga kia mahia i mua i te panuitanga.

Tuhi ture a Tamati - he rerekeetanga o te aratuka tohu wa e aukatia ai nga raraunga whakahōuhia e te tauwhitinga rangatahi kia kore e tuhiruatia e tetahi tawhito

tauwhitinga T tono huringa raraunga Q. Mena TS(T) < W-TS(Q), ara, ka ngana te tauwhitinga ki te tuhirua i tetahi uara hou ake, karekau te tauwhitinga T e hoki whakamuri pera i te tikanga tohu wa.

Source: will.com

Tāpiri i te kōrero