Okulotshiweyo kwenkulumo kaBruce Momjian ka-2020 ethi "Ukuvula Isiphathi Se-Postgres Lock".
(Qaphela: Yonke imibuzo ye-SQL evela kumaslayidi ingatholakala kulesi sixhumanisi:
Sawubona! Kumnandi ukuba lapha eRussia futhi. Ngiyaxolisa ukuthi angikwazanga ukuza ngonyaka odlule, kodwa kulo nyaka mina no-Ivan sinezinhlelo ezinkulu. Ngethemba ukuthi ngizoba lapha kaningi. Ngiyakuthanda ukuza eRussia. Ngizovakashela eTyumen, Tver. Ngijabule kakhulu ngokuthi ngizokwazi ukuvakashela la madolobha.
Igama lami nginguBruce Momjian. Ngisebenza kwa-EnterpriseDB futhi ngisebenze ne-Postgres iminyaka engaphezu kwengu-23. Ngihlala ePhiladelphia, e-USA. Ngihamba izinsuku ezingaba ngu-90 ngonyaka. Futhi ngihambela izingqungquthela ezingaba ngu-40. Eyami
Ngangiwuthisha, uprofesa ngaphambi kokuba ngiqale ukusebenza nePostgres. Futhi ngijabula kakhulu ngokuthi manje ngizokwazi ukukutshela lokho engizokutshela kona. Lena enye yezethulo zami ezithakazelisa kakhulu. Futhi le phrezentheshini iqukethe amaslayidi ayi-110. Sizoqala ukukhuluma ngezinto ezilula, futhi ekugcineni umbiko uzokuba nzima nakakhulu, futhi uzoba nzima kakhulu.
Lena ingxoxo engathandeki. Ukuvimba akusona isihloko esidume kakhulu. Sifuna ukuthi lokhu kunyamalale ndawana thize. Kufana nokuya kudokotela wamazinyo.
- Ukukhiya kuyinkinga kubantu abaningi abasebenza kusizindalwazi futhi banezinqubo eziningi ezisebenza ngesikhathi esisodwa. Badinga ukuvinjwa. Okungukuthi, namuhla ngizokunikeza ulwazi oluyisisekelo ekuvimbeni.
- Ama-ID okwenziwayo. Lena ingxenye eyisicefe yesethulo, kodwa idinga ukuqondwa.
- Okulandelayo sizokhuluma ngezinhlobo zokuvimba. Lena ingxenye esebenza kahle.
- Futhi ngezansi sizonikeza izibonelo ezithile zokuvimba. Futhi kuyoba nzima kakhulu ukuyiqonda.
Ake sikhulume ngokuvimba.
Amagama ethu ayinkimbinkimbi impela. Bangaki kini abaziyo ukuthi lesi siqephu sivelaphi? Abantu ababili. Lokhu kuvela kumdlalo obizwa nge-Colossal Cave Adventure. Kwakuwumdlalo wekhompiyutha osuselwe embhalweni ngeminyaka yama-80s, ngicabanga. Lapho kwakufanele ungene emhumeni, ungene ku-labyrinth, futhi umbhalo washintsha, kodwa okuqukethwe kwakucishe kufane ngaso sonke isikhathi. Ngiwukhumbula kanjalo lo mdlalo.
Futhi lapha sibona igama lezingidi eza kithi zivela e-Oracle. Siyawasebenzisa.
Lapha sibona amatemu angididayo. Isibonelo, YABELANA UKUBUYEKEZWA EXXLUSIVE. Okulandelayo YABELANA OKUHLAZIYWAYO. Uma sikhuluma iqiniso, la magama awacaci kahle. Sizozama ukuzicabangela kabanzi. Ezinye ziqukethe igama elithi βshareβ, elisho ukwehlukana. Ezinye ziqukethe igama elithi βokukhethekileβ. Amanye aqukethe womabili la magama. Ngingathanda ukuqala ngokuthi lezi zikhiye zisebenza kanjani.
Futhi igama elithi "ukufinyelela" libaluleke kakhulu. Futhi amagama athi βumugqaβ awuchungechunge. Okungukuthi, ukusatshalaliswa kokufinyelela, ukusatshalaliswa komugqa.
Olunye udaba okufanele luqondwe ku-Postgres, engingeke ngikwazi ukulikhuluma enkulumweni yami, yi-MVCC. Nginesethulo esihlukile ngalesi sihloko kuwebhusayithi yami. Futhi uma ucabanga ukuthi le phrezentheshini inzima, i-MVCC cishe inzima kakhulu kimi. Futhi uma unentshisekelo, ungayibuka kuwebhusayithi. Ungakwazi ukubukela ividiyo.
Okunye okumele sikuqonde ama-ID okwenziwayo. Imisebenzi eminingi ayikwazi ukusebenza ngaphandle kwezihlonzi ezihlukile. Futhi lapha sinencazelo yokuthi kuyini ukuthengiselana. I-Postgres inezinhlelo ezimbili zokubala izinombolo. Ngiyazi ukuthi lesi akusona isixazululo esihle kakhulu.
Futhi khumbula ukuthi amaslayidi azoba nzima kakhulu ukuwaqonda, ngakho-ke okugqanyiswe ngokubomvu yilokho okudingeka ukunake.
Asibone. Inombolo yokwenziwayo igqanyiswe ngokubomvu. Umsebenzi othi KHETHA pg_back uboniswa lapha. Ibuyisela umsebenzi wami kanye ne-ID yokwenziwe.
Okunye futhi, uma uthanda le phrezentheshini futhi ufuna ukuyisebenzisa kusizindalwazi sakho, ungaya kulesi sixhumanisi ngombala opinki bese ulanda i-SQL yalesi sethulo. Futhi ungamane uyiqalise ku-PSQL yakho futhi sonke isethulo sizoba sesikrinini sakho ngokushesha. Ngeke ibe nezimbali, kodwa okungenani singayibona.
Kulokhu sibona i-ID yokwenziwe. Lena inombolo esimnike yona. Futhi kunolunye uhlobo lwe-ID yokwenziwayo ku-Postgres, ebizwa nge-virtual transaction ID
Futhi kufanele sikuqonde lokhu. Lokhu kubaluleke kakhulu, ngaphandle kwalokho ngeke sikwazi ukuqonda ukukhiya ku-Postgres.
I-ID yokwenziwe eyi-virtual i-ID yokwenziwe enganawo amanani aqhubekayo. Isibonelo, uma ngisebenzisa umyalo KHETHA, khona-ke cishe ngeke ngishintshe isizindalwazi, ngeke ngikhiye lutho. Ngakho-ke uma sisebenzisa UKUKHETHA okulula, asikuniki lokho kuthenga i-ID eqhubekayo. Simnika kuphela umazisi obonakalayo lapho.
Futhi lokhu kuthuthukisa ukusebenza kwe-Postgres, kuthuthukisa amandla okuhlanza, ngakho-ke i-ID yokuthengiselana ebonakalayo iqukethe izinombolo ezimbili. Inombolo yokuqala ngaphambi kwe-slash i-ID yasemuva. Futhi ngakwesokudla sibona ikhawunta nje.
Ngakho-ke, uma ngiqhuba isicelo, ithi i-ID ye-backend ingu-2.
Futhi uma ngisebenzisa uchungechunge lwemisebenzi enjalo, khona-ke siyabona ukuthi ikhawunta iyanda ngaso sonke isikhathi uma ngisebenzisa umbuzo. Isibonelo, uma ngisebenzisa umbuzo 2/10, 2/11, 2/12, njll.
Khumbula ukuthi kukhona amakholomu amabili lapha. Ngakwesokunxele sibona i-ID yokwenziwayo ebonakalayo - 2/12. Futhi kwesokudla sine-ID yokwenziwe engunaphakade. Futhi le nkambu ayinalutho. Futhi lokhu okwenziwayo akuguquli isizindalwazi. Ngakho-ke angiyiniki i-ID yokwenziwe engunaphakade.
Lapho nje ngisebenzisa umyalo wokuhlaziya ((HLAZIYA)), umbuzo ofanayo unginika i-ID yokwenziwe unomphela. Bheka ukuthi lokhu kushintshe kanjani kithi. Bengingenayo le ID ngaphambilini, kodwa manje senginayo.
Ngakho nasi esinye isicelo, okunye ukuthengiselana. Inombolo ye-virtual transaction ngu-2/13. Futhi uma ngicela i-ID yokwenziwe eqhubekayo, lapho-ke ngisebenzisa umbuzo, ngizoyithola.
Ngakho, kanye futhi. Sine-ID yokwenziwayo ebonakalayo kanye ne-ID yokwenziwe eqhubekayo. Vele uqonde leli phuzu ukuze uqonde ukuziphatha kwe-Postgres.
Siqhubekela esigabeni sesithathu. Lapha sizomane sihambe ngezinhlobo ezahlukene zezingidi ku-Postgres. Akuthakazelisi kakhulu. Ingxenye yokugcina izothakazelisa kakhulu. Kodwa kufanele sicabangele izinto eziyisisekelo, ngoba uma kungenjalo ngeke siqonde ukuthi yini ezokwenzeka ngokulandelayo.
Sizodlula kulesi sigaba, sizobheka uhlobo ngalunye lwesikhiya. Futhi ngizokukhombisa izibonelo zokuthi zifakwa kanjani, zisebenza kanjani, ngizokukhombisa imibuzo ongayisebenzisa ukuze ubone ukuthi ukukhiya kusebenza kanjani ku-Postgres.
Ukuze udale umbuzo futhi ubone ukuthi kwenzakalani ku-Postgres, sidinga ukukhipha umbuzo ekubukeni kwesistimu. Kulokhu, pg_lock igqanyiswe ngokubomvu. I-Pg_lock yithebula lesistimu elisitshela ukuthi yiziphi izingidi ezisetshenziswayo njengamanje ku-Postgres.
Kodwa-ke, kunzima kakhulu kimi ukuthi ngikubonise i-pg_lock ngokwayo ngoba iyinkimbinkimbi. Ngakho-ke ngidale ukubuka okubonisa i-pg_locks. Futhi ingenzela umsebenzi othile ongivumela ukuthi ngiqonde kangcono. Okusho ukuthi, ayifaki izingidi zami, iseshini yami, njll. Imane iyi-SQL ejwayelekile futhi ikuvumela ukuthi ukubonise kangcono ukuthi kwenzakalani.
Enye inkinga ukuthi lo mbono ubanzi kakhulu, ngakho-ke kufanele ngidale owesibili - lockview2.
Futhi ingibonisa amakholomu engeziwe avela etafuleni. Futhi enye engibonisa amanye amakholomu. Lokhu kuyinkimbinkimbi impela, ngakho ngizamile ukukwethula ngendlela elula ngangokunokwenzeka.
Ngakho-ke sidale itafula elibizwa nge-Lockdemo. Futhi sidale umugqa owodwa lapho. Leli yithebula lethu eliyisampula. Futhi sizobe sidala izigaba ukuze sikubonise izibonelo zokukhiya.
Ngakho, umugqa owodwa, ikholomu eyodwa. Uhlobo lokuqala lokukhiya lubizwa ngokuthi ACCESS SHARE. Lokhu ukuvimbela okuncane kakhulu. Lokhu kusho ukuthi empeleni ayingqubuzani nezinye izingidi.
Futhi uma sifuna ukuchaza ngokucacile ukukhiya, sisebenzisa umyalo "wetafula lokukhiya". Futhi ngokusobala izovimba, i.e. kumodi ethi ACCESS SHARE sivula ithebula lokukhiya. Futhi uma ngisebenzisa i-PSQL ngemuva, bese ngiqala iseshini yesibili kusuka kuseshini yami yokuqala ngale ndlela. Okungukuthi, ngizokwenzenjani lapha? Ngiya kwenye iseshini futhi ngiyitshele ukuthi "ngibonise i-lockview yalesi sicelo." Futhi lapha ngine-AccessShareLock kuleli thebula. Yilokhu kanye engikucelile. Futhi uthi i-block inikezwe. Kulula kakhulu.
Ngaphezu kwalokho, uma sibheka ikholomu yesibili, akukho lutho lapho. Azinalutho.
Futhi uma ngisebenzisa umyalo othi "KHETHA", khona-ke lena indlela esobala (esobala) yokucela i-AccessShareLock. Ngakho-ke ngikhulula ithebula lami bese ngisebenzisa umbuzo futhi umbuzo ubuyisela imigqa eminingi. Futhi komunye wemigqa sibona i-AccessShareLock. Ngakho, KHETHA ubiza i-AccessShareLock etafuleni. Futhi ayingqubuzani nanoma yini ngoba iwukhiye wezinga eliphansi.
Kuthiwani uma ngisebenzisa KHETHA futhi nginamathebula amathathu ahlukene? Ngaphambilini bengisebenzisa ithebula elilodwa kuphela, manje sengisebenzisa okuthathu: pg_class, pg_namespace kanye ne-pg_attribute.
Futhi manje uma ngibheka umbuzo, ngibona 9 AccessShareLocks kumathebula amathathu. Kungani? Amathebula amathathu agqanyiswe ngokuluhlaza okwesibhakabhaka: pg_attribute, pg_class, pg_namespace. Kodwa futhi ungabona ukuthi zonke izinkomba ezichazwe ngalawa mathebula nazo zine-AccessShareLock.
Futhi lokhu kuwukhiye ongangqubuzani nabanye. Futhi konke ekwenzayo ukumane kusivimbele ekusetheni kabusha ithebula ngenkathi silikhetha. Kunengqondo. Okusho ukuthi, uma sikhetha itafula, liyanyamalala ngaleso sikhathi, khona-ke lokhu akulungile, ngakho I-AccessShare iwukhiye wezinga eliphansi elisitshela ukuthi "ungawisi leli thebula ngenkathi ngisebenza". Empeleni, yilokho kuphela akwenzayo.
UKWABELANA KOMQWELO - Lo khiye uhluke kancane.
Ake sithathe isibonelo. KHETHA indlela yokwabelana ngomugqa wokukhiya umugqa ngamunye ngawodwana. Ngale ndlela akekho ongazisusa noma aziguqule ngenkathi sizibhekile.
Wenzani-ke SHARE LOCK? Siyabona ukuthi i-ID yomsebenzi ingu-681 yokuthi KHETHA. Futhi lokhu kuyathakazelisa. Kwenzekeni lapha? Isikhathi sokuqala lapho sibona inombolo isenkambu ethi "Khiya". Sithatha i-ID yokwenziwe futhi ithi iyivimba ngemodi ekhethekile. Ekwenzayo nje ithi nginomugqa okhiyelwe ndawana thize etafuleni. Kodwa akasho ukuthi kuphi ngempela. Sizobheka lokhu ngokuningiliziwe ngokuhamba kwesikhathi.
Lapha sithi ingidi isetshenziswa yithi.
Ngakho-ke, isikhiya esikhethekile sisho ngokucacile ukuthi sikhethekile. Futhi futhi uma ususa umugqa kuleli thebula, khona-ke yilokhu okuzokwenzeka, njengoba ubona.
SHARE EXCLUSIVE iyingidi ende.
Lona umyalo (HLAZIYA) wokuhlaziya ozosetshenziswa.
YABELANA NGEKHISHI - ungakwazi ukukhiya ngokusobala kwimodi yokwabelana.
Ungakha futhi inkomba eyingqayizivele. Futhi lapho ungabona i-SHARE LOCK, okuyingxenye yazo. Bese ikhiya itafula bese ifaka i-SHARE LOCK.
Ngokuzenzakalelayo, YABELANA NGEKHIYE etafuleni kusho ukuthi abanye abantu bangakwazi ukufunda ithebula, kodwa akekho ongalishintsha. Futhi yilokhu okwenzekayo lapho udala inkomba eyingqayizivele.
Uma ngidala inkomba eyingqayizivele ngesikhathi esisodwa, ngizoba nohlobo oluhlukile lokukhiya ngoba, njengoba ukhumbula, ukusebenzisa ama-index kanyekanye kunciphisa imfuneko yokukhiya. Futhi uma ngisebenzisa ukukhiya okuvamile, inkomba evamile, ngakho-ke ngizovimbela kanjalo ukubhala kunkomba yetafula ngenkathi kwakhiwa. Uma ngisebenzisa inkomba ngesikhathi esisodwa, kufanele ngisebenzise uhlobo oluhlukile lokukhiya.
YABELANA UROWU OKUKHETHEKILE - futhi ungasethwa kucace (ngokusobala).
Noma singakha umthetho, okungukuthi, sithathe icala elithile lapho lizosetshenziswa khona.
UKUKHIWA KUPHELA kusho ukuthi akekho omunye ongashintsha itafula.
Lapha sibona izinhlobo ezahlukene zokukhiya.
I-ACESS EXCLUSIVE, isibonelo, iwumyalo ovimbayo. Isibonelo, uma wenza CLUSTER table
, khona-ke lokhu kuyosho ukuthi akekho ozokwazi ukubhala lapho. Futhi ayikhiyi kuphela itafula ngokwayo, kodwa futhi izinkomba.
Leli yikhasi lesibili lokuvinjwa kwe-ACESS EXCLUSIVE, lapho sibona khona ukuthi ivimba ini etafuleni. Ikhiya imigqa yetafula ngayinye, okuyinto ethakazelisa kakhulu.
Yilokho lonke ulwazi oluyisisekelo engangifuna ukukunikeza. Sikhulume ngamalokhi, mayelana nama-ID okwenziwayo, sakhuluma ngama-ID okwenziwayo okubonakalayo, mayelana nama-ID okwenziwayo unomphela.
Futhi manje sizodlula kwezinye izibonelo zokuvimba. Lena ingxenye ethakazelisa kakhulu. Sizobheka amacala athakazelisa kakhulu. Futhi umgomo wami kulesi sethulo ukukunikeza ukuqonda okungcono kwalokho okwenziwa yi-Postgres uma izama ukuvimba izinto ezithile. Ngicabanga ukuthi muhle kakhulu ekuvimbeni izingxenye.
Ake sibheke izibonelo ezithile.
Sizoqala ngamathebula nomugqa owodwa etafuleni. Uma ngifaka okuthile ngine-ExclusiveLock, Transaction ID ne-ExclusiveLock eboniswa etafuleni.
Kwenzekani uma ngifaka eminye imigqa emibili? Futhi manje itafula lethu linemigqa emithathu. Futhi ngifake umugqa owodwa futhi ngathola lokhu njengokuphumayo. Futhi uma ngifaka eminye imigqa emibili, yini eyinqaba ngalokho? Kunento eyinqaba lapha ngoba ngengeze imigqa emithathu kuleli tafula, kodwa ngisenemigqa emibili kutafula lokukhiya. Futhi lokhu empeleni ukuziphatha okuyisisekelo kwe-Postgres.
Abantu abaningi bacabanga ukuthi uma kusizindalwazi ukhiya imigqa eyi-100, uzodinga ukudala okufakiwe kokukhiya okungu-100. Uma ngivimba imigqa engu-1 ngesikhathi esisodwa, ngizodinga imibuzo enjalo engu-000. Futhi uma ngidinga isigidi noma ibhiliyoni ukuze ngivimbe. Kodwa uma senza lokhu, ngeke kusebenze kahle kakhulu. Uma usebenzise isistimu edala okufakiwe okuvimbayo kumugqa ngamunye, ungabona ukuthi lokhu kuyinkimbinkimbi. Ngoba udinga ukuchaza ngokushesha itafula lokukhiya elingachichima, kodwa i-Postgres ayikwenzi lokho.
Futhi okubaluleke ngempela ngalesi silayidi ukuthi sibonisa ngokusobala ukuthi kukhona enye isistimu esebenza ngaphakathi kwe-MVCC ekhiya imigqa ngayinye. Ngakho-ke uma ukhiya izigidigidi zemigqa, i-Postgres ayidali imiyalo yokukhiya ehlukene eyibhiliyoni. Futhi lokhu kunomphumela omuhle kakhulu ekukhiqizeni.
Kuthiwani ngesibuyekezo? Ngibuyekeza irowu manje, futhi uyabona ukuthi lenze imisebenzi emibili ehlukene ngesikhathi esisodwa. Yakhiya itafula ngesikhathi esifanayo, kodwa futhi yakhiya inkomba. Futhi ubedinga ukukhiya inkomba ngoba kunezingqinamba ezihlukile kuleli thebula. Futhi sifuna ukwenza isiqiniseko sokuthi akekho oyishintshayo, ngakho siyayivimba.
Kwenzekani uma ngifuna ukubuyekeza imigqa emibili? Futhi siyabona ukuthi uziphatha ngendlela efanayo. Senza izibuyekezo eziphindwe kabili, kodwa inani elifanayo ncamashi lemigqa yokukhiya.
Uma uzibuza ukuthi i-Postgres ikwenza kanjani lokhu, uzodinga ukulalela izinkulumo zami ku-MVCC ukuze ufunde ukuthi i-Postgres imaka kanjani ngaphakathi le migqa eyishintshayo. Futhi i-Postgres inendlela ekwenza ngayo lokhu, kodwa ayikwenzi ezingeni lokukhiya itafula, ikwenza ezingeni eliphansi nelisebenza kahle kakhulu.
Kuthiwani uma ngifuna ukususa okuthile? Uma ngisusa, ngokwesibonelo, umugqa owodwa futhi ngisenakho okokufaka kwami ββokubili okuvimbelayo, futhi noma ngifuna ukukususa konke, kusekhona.
Futhi, isibonelo, ngifuna ukufaka imigqa eyi-1, bese ngisusa noma ngengeza imigqa eyi-000, bese leyo migqa ngayinye engiyengezayo noma engishintshayo, ayirekhodwa lapha. Abhalwe ezingeni eliphansi ngaphakathi kochungechunge ngokwalo. Futhi phakathi nenkulumo ye-MVCC ngakhuluma ngalokhu ngokuningiliziwe. Kodwa kubaluleke kakhulu lapho uhlaziya okhiye ukuze wenze isiqiniseko sokuthi ukhiya ezingeni lethebula nokuthi awuboni ukuthi imigqa ngayinye irekhodwa kanjani lapha.
Kuthiwani ngokuvimbela okusobala?
Uma ngichofoza ukuvuselela, nginemigqa emibili ekhiyiwe. Futhi uma ngiwakhetha wonke bese ngichofoza okuthi βbuyekeza yonke indawo,β khona-ke ngisenawo amarekhodi amabili okuvimbela.
Asiwadali amarekhodi ahlukene omugqa ngamunye. Ngenxa yokuthi ukukhiqiza kuyehla, kungase kube kuningi kakhulu. Futhi singase sizithole sisesimweni esingemnandi.
Futhi into efanayo, uma sabelana, singakwenza konke izikhathi ezingama-30.
Sibuyisela ithebula lethu, sisusa yonke into, bese sifaka umugqa owodwa futhi.
Okunye ukuziphatha okubona ku-Postgres okwaziwayo kakhulu nokuziphatha okufiswayo ukuthi ungenza isibuyekezo noma ukhethe. Futhi ungakwenza lokhu ngesikhathi esifanayo. Futhi ukukhetha akuvimbi isibuyekezo kanye nento efanayo ngakolunye uhlangothi. Sitshela umfundi ukuthi angamvimbi umbhali, nombhali akazange amvimbe umfundi.
Ngizokukhombisa isibonelo salokhu. Ngizokhetha manje. Sizokwenza-ke i-INSERT. Bese ungabona - 694. Ungabona i-ID yomsebenzi owenze lokhu kufakwa. Futhi kusebenza kanjalo.
Futhi uma ngibheka i-ID yami yasemuva manje, manje isiyi-695.
Futhi ngibona angu-695 evela etafuleni lami.
Futhi uma ngibuyekeza lapha kanje, khona-ke ngithola icala elihlukile. Kulokhu, i-695 iyikhikhi ekhethekile, futhi isibuyekezo sinokuziphatha okufanayo, kodwa akukho ukungqubuzana phakathi kwabo, okuyinto engavamile.
Futhi ungabona ukuthi phezulu yi-ShareLock, futhi ngezansi yi-ExclusiveLock. Futhi kokubili ukuthengiselana kwaphumelela.
Futhi udinga ukulalela inkulumo yami e-MVCC ukuze uqonde ukuthi lokhu kwenzeka kanjani. Kodwa lokhu kungumfanekiso ongakwenza ngesikhathi esisodwa, okungukuthi wenze KHETHA kanye NOBUYEKEZO ngesikhathi esisodwa.
Masisethe kabusha futhi senze okunye ukusebenza okukodwa.
Uma uzama ukuqalisa izibuyekezo ezimbili ngesikhathi esisodwa kumugqa ofanayo, izovinjelwa. Futhi khumbula, ngithe umfundi akamvimbeli umbhali, nombhali akamvimbi ofundayo, kepha umbhali uvimba omunye umbhali. Okusho ukuthi, asikwazi ukuthi abantu ababili babuyekeze umugqa ofanayo ngesikhathi esisodwa. Kufanele ulinde kuze kuqede eyodwa yazo.
Futhi ukuze sifanekise lokhu, ngizobheka ithebula le-Lockdemo. Futhi sizobheka umugqa owodwa. Ngokuthengiselana ngakunye 698.
Sibuyekeze lokhu kwaba ngu-2. 699 isibuyekezo sokuqala. Futhi ibe yimpumelelo noma isekwenziweni okulindile futhi isilinde ukuthi siqinisekise noma sikhansele.
Kodwa bheka enye into - 2/51 umsebenzi wethu wokuqala, iseshini yethu yokuqala. U-3/112 uyisicelo sesibili esivele phezulu esishintshe lelo nani laba ngu-3. Futhi uma uqaphela, engaphezulu izikhiyele yona, engu-699. Kodwa u-3/112 akazange anikeze ingidi. Ikholomu yemodi yokukhiya isho ukuthi ilindeleni. Ilindele u-699. Futhi uma ubheka lapho u-699 ekhona, ingaphezulu. Futhi senzani iseshini yokuqala? Udale ukukhiya okukhethekile ku-ID yakhe yokwenziwe. Le yindlela i-Postgres ekwenza ngayo. Ivimba i-ID yayo yokwenziwayo. Futhi uma ufuna ukulinda othile ukuthi aqinisekise noma akhansele, kuzomele ulinde ngenkathi kusalindelwe umsebenzi. Futhi yingakho singabona umugqa ongaziwa.
Ake sibheke futhi. Kwesokunxele sibona i-ID yethu yokucubungula. Kukholomu yesibili sibona i-ID yethu yokwenziwayo ebonakalayo, futhi kweyesithathu sibona lock_type. Kusho ukuthini lokhu? Empeleni elikushoyo ukuthi livimba i-ID yomsebenzi. Kodwa qaphela ukuthi yonke imigqa engezansi ithi ukuhlobana. Futhi ngakho unezinhlobo ezimbili zokukhiya etafuleni. Kukhona ukhiye wobudlelwano. Bese kuba khona ukuvinjwa kwe-transactionid, lapho uzivimba khona uwedwa, okuyikhona kanye okwenzeka kumugqa wokuqala noma phansi impela, lapho i-transactionid ikhona, lapho silinda khona i-699 ukuthi iqedele ukusebenza kwayo.
Ngizobona ukuthi kwenzekani lapha. Futhi lapha izinto ezimbili zenzeka ngesikhathi esisodwa. Ubheke ukukhiya kwe-ID yokwenziwe kumugqa wokuqala ezikhiyayo. Futhi uyazivimba ukuze enze abantu balinde.
Uma ubheka umugqa wesi-6, ufana nowokuqala. Ngakho-ke ukuthengiselana 699 kuvinjiwe. I-700 nayo iyazikhiya. Bese kuthi emgqeni ongezansi uzobona ukuthi silinde i-699 ukuthi iqedele ukusebenza kwayo.
Futhi ohlotsheni_ lokukhiya, i-tuple ubona izinombolo.
Ungabona ukuthi ngu-0/10. Futhi lena inombolo yekhasi, kanye ne-offset yalo mugqa othile.
Futhi uyabona kuba ngu-0/11 uma sibuyekeza.
Kodwa empeleni ngu-0/10, ngoba kukhona ukulinda lokhu kusebenza. Sinethuba lokubona ukuthi lolu wuchungechunge engilinde ukuluqinisekisa.
Uma sesikuqinisekisile futhi sacindezela ukuzibophezela, futhi lapho isibuyekezo sesiqediwe, yilokhu esikutholayo futhi. I-Transaction 700 iyona kuphela ingidi, ayilindi muntu ngoba ibizibophezele. Imane ilinde ukuthi okwenziwayo kuqedwe. Uma i-699 isiphelile, asisalindi lutho. Futhi manje i-transaction 700 ithi konke kuhamba kahle, ukuthi inabo bonke okhiye abayidingayo kuwo wonke amatafula avunyelwe.
Futhi ukwenza yonke le nto ibe nzima nakakhulu, sakha omunye umbono, kulokhu ozosinikeza ubuholi. Angilindele ukuthi uzosiqonda lesi sicelo. Kodwa lokhu kuzosinika umbono ocacile walokho okwenzekayo.
Lokhu ukubuka okuphindaphindayo futhi okunesinye isigaba. Bese-ke ibuyisela yonke into ndawonye futhi. Masisebenzise lokhu.
Kuthiwani uma senza izibuyekezo ezintathu ngasikhathi sinye futhi sithi umugqa manje sezintathu. Futhi sizoshintsha 3 ukuze 4.
Futhi lapha sibona 4. Futhi transaction ID 702.
Bese ngizoshintsha u-4 ngiye ku-5. No-5 ngiye ku-6, futhi 6 ngiye ku-7. Futhi ngizoklelisa abantu abaningi abazobe belinde ukuthi lokhu kuqedwa kuphele.
Futhi konke kuba sobala. Uthini umugqa wokuqala? Lena yi-702. Lena i-ID yokwenziwe eye yamisa leli nani ekuqaleni. Kubhalweni kukholamu yami enginikezwe yona? Nginamamaki f
. Lezi yizibuyekezo zami (5, 6, 7) azikwazi ukugunyazwa ngoba silinde ukuthi kuphele i-ID 702 yomsebenzi. Lapho sinokuvinjwa kwe-ID yokwenziwe. Futhi lokhu kubangela ukukhiya kwe-ID yezentengiselwano okungu-5.
Futhi uma ubheka ku-704, ku-705, akukho lutho olubhaliwe lapho okwamanje, ngoba abazi ukuthi kwenzekani okwamanje. Bavele babhale ukuthi abazi ukuthi kwenzakalani. Futhi bazolala nje ngoba balinde ukuthi kuqedwe umuntu bese bevuswa uma sekuvela ithuba lokushintsha imigqa.
Lokhu kubukeka kanjani. Kuyacaca ukuthi bonke sebelinde ulayini weshumi nambili.
Yilokhu esikubonile lapha. Nakhu u-0/12.
Ngakho-ke uma umsebenzi wokuqala usuvunyiwe, ungabona lapha ukuthi i-hierarchy isebenza kanjani. Futhi manje konke kuba sobala. Bonke bahlanzekile. Nangempela basalindile.
Nakhu okwenzekayo. 702 wenza. Futhi manje u-703 uthola lokhu kukhiya komugqa, bese u-704 eqala ukulinda u-703 ukuthi azibophezele. Futhi i-705 ilindele lokhu futhi. Futhi lapho konke lokhu sekuqediwe, bayazihlanza. Futhi ngithanda ukuveza ukuthi wonke umuntu uyafola. Futhi lokhu kufana kakhulu nesimo esigcwele isiminyaminya lapho wonke umuntu elinde imoto yokuqala. Imoto yokuqala ima futhi wonke umuntu umugqa omude. Bese ihamba, bese imoto elandelayo ingashayela phambili futhi ithole ibhulokhi yayo, njll.
Futhi uma lokhu kungabonakali kuyinkimbinkimbi ngokwanele kuwe, sizobe sesikhuluma nawe mayelana ne-deadlocks. Angazi ukuthi ubani kini oke wahlangana nazo. Lena inkinga evamile ezinhlelweni zesizindalwazi. Kodwa i-deadlocks yilapho iseshini eyodwa ilinde enye iseshini ukwenza okuthile. Futhi kulo mzuzu enye iseshini ilinde iseshini yokuqala ukwenza okuthile.
Ngokwesibonelo, uma u-Ivan ethi: βNginike okuthile,β bese ngithi: βCha, ngizokunikeza kuphela uma unginika okunye.β Futhi uthi, "Cha, ngeke ngikunike uma unganginiki." Futhi sigcina sisesimweni esingaqondile. Nginesiqiniseko sokuthi u-Ivan ngeke akwenze lokhu, kodwa uyakuqonda okushiwo ukuthi sinabantu ababili abafuna ukuthola okuthile futhi abakulungele ukukunikeza kuze kube yilapho omunye umuntu ebanikeza abakufunayo. Futhi asikho isixazululo.
Futhi empeleni, isizindalwazi sakho sidinga ukuthola lokhu. Futhi-ke udinga ukususa noma ukuvala enye yezikhathi, ngoba ngaphandle kwalokho zizohlala lapho phakade. Futhi siyibona kuma-database, siyibona ezinhlelweni zokusebenza. Futhi kuzo zonke izindawo lapho sinezinqubo ezifanayo, lokhu kungenzeka.
Futhi manje sizofaka ama-deadlocks amabili. Sizobeka u-50 no-80. Emgqeni wokuqala, ngizobuyekeza ukusuka ku-50 kuye ku-50. Ngizothola inombolo yokwenziwayo 710.
Bese ngizoshintsha 80 ngiye ku-81, futhi 50 ngiye ku-51.
Futhi lokhu kuzobukeka kanjani. Futhi ngakho-ke u-710 unomugqa ovinjiwe, futhi u-711 ulinde ukuqinisekiswa. Sikubonile lokhu ngesikhathi sibuyekeza. I-710 ingumnikazi wochungechunge lwethu. Futhi i-711 ilinda i-710 ukuze iqedele ukuthengiselana.
Futhi isho nokuthi i-deadlock yenzeka kuluphi umugqa. Futhi lapha iqala ukuxaka.
Manje sibuyekeza 80 kuya 80.
Futhi lapha kulapho ama-deadlocks aqala khona. I-710 ilinde impendulo evela ku-711, futhi i-711 ilinde i-710. Futhi lokhu ngeke kuphele kahle. Futhi ayikho indlela yokuphuma kulokhu. Futhi bayolindela impendulo komunye nomunye.
Futhi izoqala nje ukubambezela yonke into. Futhi asikufuni lokho.
Futhi i-Postgres inezindlela zokuqaphela uma lokhu kwenzeka. Futhi uma lokhu kwenzeka, uthola leli phutha. Futhi kusukela kulokhu kuyacaca ukuthi inqubo enjalo naleyo ilindele UKUKHIWA KWE-SHARE kusuka kwenye inqubo, okungukuthi, evinjwe inqubo ye-711. Futhi leyo nqubo yayilinde ukuthi kunikezwe UKUKHIWA KWESHARE ku-ID yokwenziwayo ethi naleyo futhi yavinjwa inqubo enjalo naleyo. Ngakho-ke, kunesimo esiqinile lapha.
Ingabe kukhona izindlela ezintathu zokuvala? Kungenzeka yini? Yebo.
Sifaka lezi zinombolo etafuleni. Sishintsha u-40 kuya ku-40, senza ukuvimba.
Sishintsha 60 kuya 61, 80 ukuze 81.
Bese sishintsha ama-80 bese siyakhuphuka!
Futhi i-714 manje ilinde i-715. I-716 ilindele i-715. Futhi akukho okungenziwa ngakho.
Abasekho abantu ababili lapha, sekunabantu abathathu lapha. Kukhona engikufuna kuwe, lo ufuna okuthile kumuntu wesithathu, kanti owesithathu ufuna okuthile kimi. Futhi sigcina sesilinde kathathu ngoba sonke silinde omunye umuntu ukuthi aqedele okufanele akwenze.
Futhi uPostgres uyazi ukuthi lokhu kwenzeka kuluphi umugqa. Futhi ngakho izokunikeza umlayezo olandelayo, okhombisa ukuthi unenkinga lapho okokufaka okuthathu kuvimbene. Futhi akukho mingcele lapha. Lokhu kungaba njalo lapho okufakiwe okungu-20 kuvimbene.
Inkinga elandelayo ingabuyekezwa.
Uma ilokhi ekhethekile ye-serialisable.
Futhi sibuyela ku-719. Okukhiphayo kujwayelekile.
Futhi ungachofoza ukuze wenze ukuthenga kusuka ku-serialization.
Futhi uyabona ukuthi manje usunohlobo oluhlukile lwesikhiya sase-SA - kusho ukuthi ungaphinda ulandelelaniswe.
Ngakho-ke sinohlobo olusha lokukhiya olubizwa nge-SARiadLock, okuwukhiye we-serial futhi okuvumela ukuthi ufake ama-serial.
Futhi ungakwazi ukufaka izinkomba eziyingqayizivele.
Kuleli thebula sinezinkomba ezihlukile.
Ngakho-ke uma ngifaka inombolo u-2 lapha, ngakho ngino-2. Kodwa phezulu impela, ngifaka omunye u-2 phakathi. Futhi uyabona ukuthi u-721 unokhiye okhethekile. Kodwa manje i-722 ilinde ukuthi i-721 iqede ukusebenza kwayo ngoba ayikwazi ukufaka u-2 kuze kube yazi ukuthi kuzokwenzekani ku-721.
Futhi uma senza i-subtransaction.
Lapha sina 723.
Futhi uma silondoloza iphuzu bese silibuyekeza, bese sithola i-ID entsha yokwenziwe. Lena enye indlela yokuziphatha okudingeka uyiqaphele. Uma sibuyisela lokhu, i-ID yokwenziwe iyahamba. 724 uyahamba. Kodwa manje sinabangu-725.
Pho ngizama ukwenzani lapha? Ngizama ukukubonisa izibonelo zokukhiya okungajwayelekile ongase uwathole: noma ngabe izikhiya ezihlukanisekayo noma i-SAVEPOINT, lezi izinhlobo ezihlukene zokukhiya ezizovela kuthebula lokukhiya.
Lokhu ukudalwa kwezingidi ezisobala (ezisobala), ezino-pg_advisory_lock.
Futhi uyabona ukuthi uhlobo lokuvimbela lufakwe kuhlu njengolululekayo. Futhi lapha ithi "advisory" ngokubomvu. Futhi ungakwazi ukuvimba ngesikhathi esifanayo nge-pg_advisory_unlock.
Futhi ekugcineni, ngithanda ukukubonisa enye into ehlaba umxhwele. Ngizodala okunye ukubuka. Kodwa ngizojoyina ithebula le-pg_locks nethebula le-pg_stat_activity. Futhi kungani ngifuna ukwenza lokhu? Ngoba lokhu kuzongivumela ukuthi ngibheke futhi ngibone zonke izikhathi zamanje futhi ngibone kahle ukuthi hlobo luni lokukhiya abalulindile. Futhi lokhu kuyathakazelisa impela lapho sihlanganisa itafula lokukhiya kanye netafula lemibuzo.
Futhi lapha sakha pg_stat_view.
Futhi sibuyekeza irowu ngayinye. Futhi lapha sibona 724. Bese sibuyekeza irowu yethu ibe kweyesithathu. Futhi ubonani lapha manje? Lezi yizicelo, i.e. ubona lonke uhlu lwezicelo ezisohlwini lwekholomu engakwesokunxele. Futhi-ke ngakwesokudla ungabona ama-blockages nokuthi badala ini. Futhi kungaba sobala kakhulu kuwena ukuze ungaphindi ubuyele kuseshini ngayinye njalo ubone ukuthi udinga ukuyijoyina noma cha. Bayasenzela thina.
Esinye isici esiwusizo kakhulu pg_blocking_pids
. Cishe awukaze uzwe ngaye. Wenzani? Kusivumela ukuthi sitshele ukuthi kule seshini 11740 yimaphi ama-ID enqubo ethile ewalindile. Futhi uyabona ukuthi u-11740 ulinde u-724. Futhi u-724 uphezulu kakhulu. Futhi i-11306 iyi-ID yakho yenqubo. Empeleni, lo msebenzi udlula etafuleni lakho lokukhiya. Futhi ngiyazi ukuthi kuyinkimbinkimbi, kodwa uyakwazi ukukuqonda. Empeleni lo msebenzi udlula kuleli thebula lokukhiya futhi uzama ukuthola lapho le-ID yenqubo inikezwa izingidi elindile. Futhi izama ukuthola ukuthi iyiphi inqubo ye-ID inqubo elinde isikhiya enayo. Ngakho ungaqalisa lo msebenzi pg_blocking_pids
.
Futhi lokhu kungaba usizo kakhulu. Sengeze lokhu kuphela enguqulweni engu-9.6, ngakho-ke lesi sici sineminyaka engu-5 kuphela ubudala, kodwa siwusizo kakhulu. Futhi okufanayo kuyasebenza esicelweni sesibili. Ibonisa ngqo lokho okudingeka sikubone.
Yilokhu ebengifuna ukukhuluma ngakho nawe. Futhi njengoba ngangilindele, sasisebenzisa sonke isikhathi sethu ngoba kwakunama-slides amaningi. Futhi amaslayidi ayatholakala ukuze alandwe. Ngithanda ukukubonga ngokuba lapha kwakho. Ngiyaqiniseka ukuthi uzoyijabulela yonke ingqungquthela, ngiyabonga kakhulu!
Imibuzo:
Isibonelo, uma ngizama ukubuyekeza imigqa, futhi iseshini yesibili izama ukususa lonke ithebula. Ngokuqonda kwami, kufanele kube khona into efana nelokhi yenhloso. Ingabe ikhona into enjalo ePostgres?
Ake sibuyele emuva ekuqaleni. Ungase ukhumbule ukuthi uma wenza noma yini, isibonelo uma wenza KHETHA, sikhipha i-AccessShareLock. Futhi lokhu kuvimbela itafula ukuthi lingawi. Ngakho-ke uma, ngokwesibonelo, ufuna ukubuyekeza umugqa kuthebula noma ususe umugqa, khona-ke othile ngeke akwazi ukususa lonke ithebula ngesikhathi esifanayo ngoba ubambe le AccessShareLock phezu kwetafula lonke naphezu komugqa. Futhi uma usuqedile, bangakwazi ukukususa. Kodwa ngenkathi ushintsha ngokuqondile okuthile lapho, ngeke bakwazi ukukwenza.
Asikwenze futhi. Asiqhubekele esibonelweni sokususa. Futhi uyabona ukuthi kukhona ukukhiya okukhethekile kumugqa ongenhla kwetafula lonke.
Lokhu kuzobukeka njengokukhethekile, akunjalo?
Yebo, kubukeka sengathi. Ngiyakuqonda okhuluma ngakho. Uthi uma ngenza IKHETHA ngibe neShareExclusive bese ngiyenza ibe Row Exclusive, ingabe lokho kuba inkinga? Kodwa ngokumangalisayo lokhu akudali nkinga. Lokhu kubukeka njengokukhulisa idigri yokukhiya, kodwa empeleni nginokhiye ovimbela ukususwa. Futhi manje, uma ngenza lo khiye ube namandla kakhulu, usavimbela ukususwa. Ngakho-ke akufani nokuthi ngiyakhuphuka. Okusho ukuthi ivimbe ukuthi ingenzeki isezingeni eliphansi nayo, ngakho uma ngiphakamisa izinga layo isavimba ukuthi itafula lisuswe.
Ngiyakuqonda okhuluma ngakho. Alikho icala lokwenyuka kwesikhiya lapha, lapho uzama khona ukuyeka ilokhi eyodwa ukuze wethule eqinile. Lapha kuvele kukhuphule lokhu kuvikela kulo lonke ibhodi, ngakho-ke akubangeli ukungqubuzana. Kodwa umbuzo omuhle. Ngiyabonga kakhulu ngokubuza lokhu!
Yini okudingeka siyenze ukuze sigweme isimo esiqinile lapho sinezikhathi eziningi, inani elikhulu labasebenzisi?
I-Postgres ibona ngokuzenzakalelayo izimo ze-deadlock. Futhi izosusa ngokuzenzakalela eyodwa yamaseshini. Okuwukuphela kwendlela yokugwema ukuvinjwa okufile ukuvimba abantu ngokulandelana okufanayo. Ngakho-ke uma ubheka isicelo sakho, ngokuvamile isizathu se-deadlocks... Ake sicabange ukuthi ngifuna ukuvimba izinto ezimbili ezihlukene. Uhlelo lokusebenza olulodwa lukhiya ithebula 1, kanti olunye uhlelo lukhiya u-2, bese kuba nethebula 1. Futhi indlela elula yokugwema izikhiya iwukubheka uhlelo lwakho lokusebenza bese uzama ukwenza isiqiniseko sokuthi ukukhiya kwenzeka ngendlela efanayo kuzo zonke izinhlelo zokusebenza. Futhi lokhu kuvame ukuqeda i-80% yezinkinga, ngoba zonke izinhlobo zabantu zibhala lezi zicelo. Futhi uma uwavimba ngokulandelana okufanayo, awuhlangabezani nesimo sokungafiki.
Siyabonga kakhulu ngokusebenza kwakho! Ukhulume nge-vacuum egcwele futhi, uma ngiqonda kahle, i-vacuum ngokugcwele ihlanekezela ukuhleleka kwamarekhodi kusitoreji esihlukile, ngakho agcina amarekhodi amanje engashintshiwe. Kungani i-vacuum egcwele ithatha ukufinyelela kokukhiya okukhethekile futhi kungani ingqubuzana nemisebenzi yokubhala?
Umbuzo omuhle lowo. Isizathu ukuthi i-vacuum igcwele itafula. Futhi empeleni sakha inguqulo entsha yethebula. Futhi itafula lizoba lisha. Kuvela ukuthi lokhu kuzoba inguqulo entsha ngokuphelele yethebula. Futhi inkinga ukuthi uma senza lokhu, asifuni ukuthi abantu bafunde ngoba sidinga ukuthi babone itafula elisha. Futhi ngakho lokhu kuxhuma embuzweni odlule. Uma singafunda ngesikhathi esifanayo, besingeke sikwazi ukulihambisa futhi siqondise abantu etafuleni elisha. Kuzodingeka silinde ukuthi wonke umuntu aqedele ukufunda leli thebula, ngakho-ke kuyisimo esikhethekile sokukhiya.
Sisho nje ukuthi sikhiya kwasekuqaleni ngoba siyazi ukuthi ekugcineni sizodinga ingidi ekhethekile ukuze sihambise wonke umuntu ekhophi entsha. Ngakho singakwazi ukuxazulula lokhu. Futhi sikwenza ngale ndlela nge-indexing kanyekanye. Kodwa lokhu kunzima kakhulu ukukwenza. Futhi lokhu kuhlobene kakhulu nombuzo wakho wangaphambilini mayelana nokukhiya okukhethekile.
Kungenzeka yini ukwengeza isikhathi sokuvala sokuvala kuma-Postgres? Ku-Oracle, ngokwesibonelo, ngingakwazi ukubhala "khetha ukuze ubuyekeze" futhi ngilinde imizuzwana engu-50 ngaphambi kokubuyekeza. Bekukuhle kuhlelo lokusebenza. Kepha kuma-Postgres, ngidinga ukukwenza ngaso leso sikhathi futhi ngingalindi nhlobo, noma ngilinde kuze kube isikhathi esithile.
Yebo, ungakhetha ukuphela kwesikhathi kuzikhiya zakho, kuzikhiyi zakho. Ungaphinda ukhiphe umyalo othi akukho ndlela, ozo... uma ungakwazi ukuthola isikhiya ngokushesha. Ngakho-ke, kungaba ukuvala isikhathi sokukhiya noma enye into ezokuvumela ukuthi wenze lokhu. Lokhu akwenziwa ezingeni le-syntactic. Lokhu kwenziwa njengokuguquguquka kuseva. Ngezinye izikhathi lokhu akukwazi ukusetshenziswa.
Ungakwazi yini ukuvula isilayidi 75?
Yebo.
Futhi umbuzo wami uthi. Kungani zombili izinqubo zokuvuselela zilindele i-703?
Futhi lo ngumbuzo omkhulu. Angiqondi, ukuthi kungani uPostgres enza lokhu. Kodwa ngenkathi kwakhiwa i-703, yayilindele u-702. Futhi lapho u-704 no-705 bevela, kubonakala sengathi abazi ukuthi balindeleni ngoba akukho lutho okwamanje. Futhi i-Postgres yenza ngale ndlela: uma ungakwazi ukuthola ukukhiya, ibhala ukuthi "Yini iphuzu ekucubunguleni?", Ngoba usuvele ulinde othile. Ngakho-ke sizovele siyiyeke ilenge emoyeni, ngeke siyibuyekeze nhlobo. Kodwa kwenzekani lapha? Ngokushesha nje lapho i-702 iqeda inqubo futhi i-703 ithola ukukhiya kwayo, uhlelo lwabuyela emuva. Wathi manje sesinabantu ababili abalindile. Bese-ke masizibuyekeze ndawonye. Futhi ake sibonise ukuthi bobabili balindele.
Angazi ukuthi kungani uPostgres enza lokhu. Kodwa kukhona inkinga ebizwa fβ¦. Kubonakala kimi ukuthi leli akulona igama ngesiRashiya. Yilapho wonke umuntu elinde isigodlo esisodwa, noma ngabe kuneziphathimandla ezingama-20 ezilinde le nqaba. Futhi ngokuzumayo bonke bavuka kanyekanye. Futhi wonke umuntu uqala ukuzama ukusabela. Kodwa uhlelo lwenza ukuthi wonke umuntu alinde u-703. Ngoba bonke balindile, futhi sizobafaka ngokushesha umugqa bonke. Futhi uma kuvela noma yisiphi esinye isicelo esisha esenziwe ngemva kwalokhu, isibonelo, 707, khona-ke kuzoba nobuze futhi.
Futhi kimina kubukeka sengathi lokhu kwenziwa ukuze sithi kulesi sigaba i-702 ilinde i-703, futhi bonke abaza ngemuva kwalokho ngeke babe nokungena kulo mkhakha. Kodwa ngokushesha nje lapho isikhonzi sokuqala sihamba, bonke labo ababelindile ngaleso sikhathi ngaphambi kokuvuselelwa bathola ithokheni efanayo. Ngakho-ke ngicabanga ukuthi lokhu kwenziwa ukuze sikwazi ukucubungula ngokulandelana ukuze zi-odwe kahle.
Ngangihlale ngibheka lokhu njengento engavamile. Ngoba lapha, ngokwesibonelo, asizifaki nhlobo ohlwini. Kodwa kimi kubonakala sengathi njalo lapho sinikeza ingidi entsha, sibheka bonke labo abaphezu kwenqubo yokulinda. Bese sibalandela bonke. Futhi-ke noma yimaphi amasha angenayo angena kuphela kulayini lapho umuntu olandelayo eseqedile ukucutshungulwa. Umbuzo omuhle kakhulu. Ngiyabonga kakhulu ngombuzo wakho!
Kimi kubonakala sengathi kunengqondo kakhulu lapho i-705 ilindele i-704.
Kodwa inkinga lapha yilokhu okulandelayo. Ngobuchwepheshe, ungavusa eyodwa noma enye. Futhi ngakho sizovuka omunye noma omunye. Kodwa kwenzekani ohlelweni? Ungabona ukuthi u-703 phezulu uvimbe kanjani eyakhe i-ID yokwenziwayo. Le yindlela i-Postgres esebenza ngayo. Futhi i-703 ivinjwe i-ID yayo yokwenziwayo, ngakho-ke uma umuntu efuna ukulinda, uzolinda u-703. Futhi, empeleni, i-703 iqeda. Futhi kuphela ngemva kokuphothulwa kwayo lapho enye yezinqubo ivuka. Futhi asazi ukuthi le nqubo izoba yini ngempela. Bese sicubungula yonke into kancane kancane. Kodwa akucaci ukuthi iyiphi inqubo evuswa kuqala, ngoba kungaba noma iyiphi yalezi zinqubo. Empeleni, besinomhleli owathi manje singavusa noma yiziphi zalezi zinqubo. Sivele sikhethe eyodwa ngokungahleliwe. Ngakho bobabili badinga ukuqashelwa ngoba singabavusa bobabili.
Futhi inkinga ukuthi sine-CP-infinity. Ngakho-ke, maningi amathuba okuthi singavuka kamuva. Futhi uma, ngokwesibonelo, sivusa owakamuva, sizolinda lowo osanda kuthola i-block, ngakho-ke asinqumi ukuthi ubani ozovuswa kuqala. Simane sidale isimo esinjalo, futhi isistimu izobavusa ngokungahleliwe.
Zikhona
Source: www.habr.com