Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Hayi Habr!

Igama lam ndinguMaxim Ponomarenko kwaye ndingumphuhlisi kwi-Sportmaster. Ndineminyaka eyi-10 yamava kwintsimi ye-IT. Waqala umsebenzi wakhe wokuvavanya ngesandla, emva koko watshintshela kuphuhliso lwedatha. Kwiminyaka yokugqibela ye-4, ukuqokelela ulwazi olufunyenweyo ekuvavanyeni nasekuphuhliseni, ndiye ndivavanya ngokuzenzekelayo kwinqanaba le-DBMS.

Ndibe kwiqela le-Sportmaster ngaphezu konyaka kwaye ndiphuhlisa uvavanyo oluzenzekelayo kwenye yeeprojekthi ezinkulu. Ngo-Apreli, abafana be-Sportmaster Lab kunye nam ndathetha kwinkomfa yaseKrasnodar, ingxelo yam ibizwa ngokuba "Iiyunithi zovavanyo kwi-DBMS," kwaye ngoku ndifuna ukwabelana nawe. Kuya kubakho itekisi eninzi, ngoko ndagqiba ekubeni ndihlukanise ingxelo ibe yizithuba ezimbini. Kweyokuqala, siza kuthetha nge-autotests kunye novavanyo ngokubanzi, kwaye okwesibini, ndiya kuhlala ngokuthe chatha kwinkqubo yethu yovavanyo lweyunithi kunye neziphumo zokusetyenziswa kwayo.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Okokuqala, ithiyori encinci ekruqulayo. Yintoni uvavanyo oluzenzekelayo? Olu luvavanyo olwenziwa kusetyenziswa isoftware, kwaye kwi-IT yanamhlanje isetyenziswa kakhulu kuphuhliso lwesoftware. Oku kungenxa yokuba iinkampani zikhula, iinkqubo zabo zolwazi ziyakhula kwaye, ngokufanelekileyo, inani lemisebenzi ekufuneka ivavanywe iyakhula. Ukuqhuba uvavanyo lwezandla kuya kuba kubiza kakhulu.

Ndasebenza kwinkampani enkulu ekhutshwa rhoqo emva kweenyanga ezimbini. Kwangaxeshanye, inyanga yonke yachithwa ekubeni neshumi elinesibini labavavanyi bajonge ngesandla ukusebenza. Siyabulela ekuphunyezweni kwe-automation liqela elincinci labaphuhlisi, sakwazi ukunciphisa ixesha lokuvavanya kwiiveki ze-2 ngonyaka kunye nesiqingatha. Asikhulisanga nje isantya sovavanyo, kodwa siphucule umgangatho walo. Iimvavanyo ezizenzekelayo ziqaliswa rhoqo kwaye zihlala ziqhuba yonke inkqubo yokuhlola ebandakanyiweyo kuzo, oko kukuthi, asibandakanyi into yomntu.

I-IT yanamhlanje ibonakaliswe yinto yokuba umphuhlisi unokufunwa ukuba angabhali ikhowudi yemveliso kuphela, kodwa abhale iimvavanyo zeeyunithi ezijonga le khowudi.

Kodwa kuthekani ukuba inkqubo yakho isekelwe ikakhulu kwingqiqo yeseva? Akukho sicombululo jikelele okanye izenzo ezingcono kwimarike. Njengomthetho, iinkampani zixazulula le ngxaki ngokudala inkqubo yazo yokuvavanya. Le yinkqubo yethu yokuvavanya ngokuzenzekelayo eyenziwe kwiprojekthi yethu kwaye ndiya kuthetha ngayo kwingxelo yam.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Ukuvavanya ukunyaniseka

Okokuqala, makhe sithethe ngeprojekthi apho siye sasebenzisa inkqubo yovavanyo oluzenzekelayo. Iprojekthi yethu yinkqubo yokunyaniseka kweSportmaster (ngendlela, sele sibhale ngayo kuyo esi sithuba).

Ukuba inkampani yakho inkulu ngokwaneleyo, ke inkqubo yakho yokuthembeka iya kuba neepropati ezintathu eziqhelekileyo:

  • Inkqubo yakho iya kulayishwa kakhulu
  • Isixokelelwano sakho siya kuqulatha iinkqubo zekhompyutha ezintsonkothileyo
  • Inkqubo yakho iya kuphuculwa ngokusebenzayo.

Masihambe ngokulandelelana ... Ngokubanzi, ukuba siqwalasela zonke iimpawu ze-Sportmaster, ngoko sineevenkile ezingaphezu kwe-1000 eRashiya, e-Ukraine, eChina, eKazakhstan naseBelarus. Malunga nama-300 okuthengwayo kwenziwa kwezi venkile yonke imihla. Oko kukuthi, nganye yesibini i-000-3 itshekhi ingena kwinkqubo yethu. Ngokwemvelo, inkqubo yethu yokunyaniseka ilayishwe kakhulu. Kwaye ekubeni isetyenziswa ngokusebenzayo, kufuneka sinikeze imigangatho ephezulu yomgangatho wayo, kuba nayiphi na impazamo kwisoftware ithetha ilahleko enkulu yemali, idumela kunye nezinye.

Ngexesha elifanayo, i-Sportmaster iqhuba ngaphezu kwekhulu leentengiso ezahlukeneyo. Kukho iintlobo ezahlukeneyo zokukhushulwa: kukho ukukhushulwa kwemveliso, kukho abo bazinikele kwimini yeveki, kukho abo baboshwe kwivenkile ethile, kukho ukukhushulwa kwexabiso lerisithi, kukho inani lempahla. Ngokubanzi, hayi kakubi. Abathengi banebhonasi kunye neekhowudi zokuthengisa ezisetyenziswa xa kuthengwa. Konke oku kukhokelela kwinto yokuba ukubala nayiphi na iodolo ngumsebenzi ongeyomfuneko kakhulu.

I-algorithm eyenza ukusetyenzwa kweodolo yoyikeka ngokwenene kwaye intsonkothile. Kwaye naluphi na utshintsho kule algorithm luyingozi kakhulu. Kwakubonakala ngathi olona tshintsho lubonakala lungabalulekanga lunokukhokelela kwiziphumo ezingalindelekanga. Kodwa ziinkqubo zekhompuyutha ezintsonkothileyo, ngakumbi ezo ziphumeza ukusebenza okubalulekileyo, abona bagqatswa babalaseleyo bokwenza izinto ezizenzekelayo. Ukujonga amatyala amaninzi afanayo ngesandla kuthatha ixesha elininzi. Kwaye ekubeni indawo yokungena kwinkqubo ingatshintshi, emva kokuchaza kanye, unokudala ngokukhawuleza iimvavanyo ezizenzekelayo kwaye uqiniseke ukuba ukusebenza kuya kusebenza.

Kuba inkqubo yethu isetyenziswa ngokusebenzayo, ishishini liya kufuna into entsha kuwe, phila namaxesha kwaye ujolise kubathengi. Kwinkqubo yethu yokunyaniseka, ukukhutshwa kuphuma rhoqo emva kweenyanga ezimbini. Oku kuthetha ukuba rhoqo emva kweenyanga ezimbini kufuneka senze ukuhlehliswa ngokupheleleyo kwenkqubo yonke. Kwangaxeshanye, ngokwemvelo, njengakuyo nayiphi na i-IT yanamhlanje, uphuhliso aluhambi ngoko nangoko ukusuka kumphuhlisi ukuya kwimveliso. Isuka kwisekethe yomphuhlisi, emva koko idlule ngokulandelelana kwibhentshi yovavanyo, ukukhululwa, ukwamkelwa, kwaye emva koko iphele kwimveliso. Ubuncinci, kwiisekethe zokuvavanya kunye nokukhulula, kufuneka siqhube ukubuyisela ngokupheleleyo inkqubo yonke.

Iipropati ezichazwe zisemgangathweni phantse nayiphi na inkqubo yokunyaniseka. Makhe sithethe ngeempawu zeprojekthi yethu.

Itekhnoloji, i-90% yengqiqo yenkqubo yethu yokunyaniseka isekwe kwiseva kwaye iphunyezwe kwi-Oracle. Kukho umxhasi oveziweyo eDelphi, owenza umsebenzi wolawulo oluzenzekelayo kwindawo yokusebenza. Kukho iinkonzo zewebhu eziveziweyo zezicelo zangaphandle (umzekelo iwebhusayithi). Ke ngoko, kunengqiqo ukuba ukuba sihambisa inkqubo yovavanyo oluzenzekelayo, siya kuyenza kwi-Oracle.

Inkqubo yokunyaniseka kwi-Sportmaster ikhona iminyaka engaphezu kwe-7 kwaye yenziwe ngabaphuhlisi abangatshatanga ... Umyinge wenani labaphuhlisi kwiprojekthi yethu kule minyaka eyi-7 yayingabantu abayi-3-4. Kodwa kulo nyaka uphelileyo, iqela lethu likhule kakhulu, kwaye ngoku kukho abantu abali-10 abasebenza kule projekthi. Oko kukuthi, abantu beza kwiprojekthi abangaqhelananga nemisebenzi eqhelekileyo, iinkqubo kunye noyilo. Kwaye kukho ingozi eyongeziweyo yokuba siya kuphoswa ziimpazamo.

Le projekthi iphawulwa kukungabikho kwabavavanyi abazinikeleyo njengeeyunithi zabasebenzi. Kukho, ngokuqinisekileyo, uvavanyo, kodwa uvavanyo lwenziwa ngabahlalutyi, ngaphezu kwezinye iimbopheleleko zabo eziphambili: ukunxibelelana nabathengi bezoshishino, abasebenzisi, ukuphuhlisa iimfuno zenkqubo, njl. njl ... Nangona uvavanyo lwenziwa umgangatho ophezulu kakhulu (oku kufanelekileyo ukukhankanya, ekubeni abanye abahlalutyi banokubamba iliso lale ngxelo), ukuphumelela kobungcali kunye nokugxininiswa kwinto enye akuzange kucinywe. .

Ukuqwalasela konke oku kungasentla, ukuphucula umgangatho wemveliso ezizisiweyo kunye nokunciphisa ixesha lophuhliso, umbono wokuzivavanya ngokuzenzekelayo kwiprojekthi ibonakala isengqiqweni. Kwaye kwizigaba ezahlukeneyo zobukho benkqubo yokunyaniseka, abaphuhlisi ngabanye benza iinzame zokugubungela ikhowudi yabo ngovavanyo lweeyunithi. Lilonke yayiyinkqubo engadibaniyo, wonke umntu esebenzisa ulwakhiwo kunye neendlela zakhe. Iziphumo zokugqibela zaziqhelekile kwiimvavanyo zeyunithi: iimvavanyo zaphuhliswa, zisetyenziswe ixesha elithile, zigcinwe kwifayile yefayile eguqulelweyo, kodwa ngexesha elithile bayeka ukusebenza kwaye balityalwa. Okokuqala, oku kwakungenxa yokuba iimvavanyo zibotshelelwe ngakumbi kumdlali othile, kungekhona kwiprojekthi.

i-utPLSQL iza kuhlangula

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Ngaba uyazi into ngoStephen Feuerstein?

Lo ngumfo okrelekrele ozinikele ixesha elide lomsebenzi wakhe ekusebenzeni ne-Oracle kunye ne-PL/SQL, kwaye ubhale inani elikhulu lemisebenzi ngalo mba. Enye yeencwadi zakhe ezidumileyo ibizwa ngokuba: “Oracle PL/SQL. Yeengcali." NguStefano owaphuhlisa isisombululo se-utPLSQL, okanye, njengoko imele, isakhelo soVavanyo lweYunithi ye-Oracle PL/SQL. Isisombululo se-utPLSQL senziwe ngo-2016, kodwa siyaqhubeka sisebenza ngenkuthalo kwaye iinguqulelo ezintsha zikhululwa. Ngexesha lokunika ingxelo, inguqulelo yamva nje iqale ngoMatshi 24, 2019.
Ingaba yin. Le yiprojekthi yomthombo ovulekileyo eyahlukileyo. Inobunzima beemegabytes ezimbalwa, kuquka imizekelo kunye namaxwebhu. Ngokwasemzimbeni, sischema esahlukileyo kwiziko ledatha le-ORACLE kunye neeseti zeepakethe kunye neetafile zokulungiselela uvavanyo lweeyunithi. Ukufakela kuthatha imizuzwana embalwa. Uphawu olwahlukileyo lwe-utPLSQL kukulula kwayo ukusetyenziswa.
Ehlabathini lonke, i-utPLSQL yindlela yokuqhuba iimvavanyo zeyunithi, apho uvavanyo lweyunithi luqondwa njengeenkqubo eziqhelekileyo zebhetshi ye-Oracle, umbutho olandela imigaqo ethile. Ukongeza ekuqaliseni, i-utPLSQL igcina i-log yazo zonke iimvavanyo zakho zovavanyo, kwaye inenkqubo yokunika ingxelo yangaphakathi.

Makhe sijonge umzekelo wendlela ikhowudi yovavanyo lweyunithi ijongeka ngayo, iphunyezwe ngokusebenzisa obu buchule.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Ke, isikrini sibonisa ikhowudi yenkcazo yephakheji eqhelekileyo kunye novavanyo lweyunithi. Ziziphi iimfuno ezisisinyanzelo? Ipakethi mayibe nesimaphambili ngo-"utp_". Zonke iinkqubo ezineemvavanyo mazibe nesimaphambili esifanayo. Iphakheji kufuneka iqulathe iinkqubo ezimbini eziqhelekileyo: "utp_setup" kunye "utp_teardown". Inkqubo yokuqala ibizwa ngokuqalisa kwakhona uvavanyo lweyunithi nganye, okwesibini - emva kokuqaliswa.

"Utp_setup", njengomthetho, ilungiselela inkqubo yethu ukuqhuba uvavanyo lweyunithi, umzekelo, ukudala idatha yovavanyo. "Utp_teardown" - ngokuchaseneyo, yonke into ibuyela kwisetingi sokuqala kwaye iphinda imisele iziphumo zokuqaliswa.

Nanku umzekelo wolona vavanyo lulula lweyunithi olujonga ukuqheleka kwenombolo yefowuni yomthengi engenisiweyo kwifomu eqhelekileyo yenkqubo yethu yokunyaniseka. Akukho migangatho isisinyanzelo malunga nendlela yokubhala iinkqubo kunye novavanyo lweeyunithi. Njengomthetho, umnxeba wenziwa kwindlela yenkqubo ephantsi kovavanyo, kwaye umphumo obuyiselwe ngale ndlela uthelekiswa nereferensi enye. Kubalulekile ukuba ukuthelekiswa kwesiphumo sereferensi kunye nefunyenweyo kwenzeka ngeendlela eziqhelekileyo ze-utPLSQL.

Uvavanyo lweyunithi lunokuba naliphi na inani leetshekhi. Njengoko kunokubonwa kumzekelo, senza iifowuni ezine ezilandelelanayo kwindlela evavanyiweyo yokumisela inombolo yefowuni eqhelekileyo kunye nokuvavanya umphumo emva komnxeba ngamnye. Xa uphuhlisa uvavanyo lweyunithi, kufuneka uthathele ingqalelo ukuba kukho iitshekhi ezingachaphazeli inkqubo nangayiphi na indlela, kwaye emva kokunye kufuneka ubuyisele umva kwimeko yokuqala yenkqubo.
Umzekelo, kuvavanyo lweyunithi enikezelweyo sifomatha nje inombolo yefowuni yegalelo, engachaphazeli inkqubo yokuthembeka nangayiphi na indlela.

Kwaye ukuba sibhala iimvavanyo zeyunithi usebenzisa indlela yokudala umxhasi omtsha, ngoko emva kovavanyo ngalunye umthengi omtsha uya kudalwa kwinkqubo, enokuchaphazela ukuqaliswa kovavanyo olulandelayo.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Le yindlela iimvavanyo zeeyunithi eziqhutywa ngayo. Zimbini iinketho zokuphehlelelwa okunokwenzeka: ukuqhuba zonke iimvavanyo zeyunithi ukusuka kwiphakheji ethile okanye ukuqhuba uvavanyo lweyunithi ethile kwiphakheji ethile.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

Le yindlela ekhangeleka ngayo umzekelo wenkqubo yokunika ingxelo yangaphakathi. Ngokusekelwe kwiziphumo zovavanyo lweyunithi, i-utPLSQL yakha ingxelo encinci. Kuyo sibona umphumo wetshekhi nganye kunye nesiphumo esipheleleyo sovavanyo lweyunithi.

6 imithetho autotest

Phambi kokuba siqale ukwenza inkqubo entsha yovavanyo oluzenzekelayo lwenkqubo yokuthembeka, kunye nabaphathi, siye samisela imigaqo ekufuneka iimvavanyo zethu ezizenzekelayo ziyithobele.

Iimvavanyo zeyunithi kwi-DBMS - siyenza njani kwi-Sportmaster, inxalenye yokuqala

  1. Uvavanyo oluzenzekelayo kufuneka lusebenze kwaye lube luncedo. Sinabaphuhlisi abamangalisayo, abafuna ukukhankanywa ngokuqinisekileyo, kuba abanye babo baya kuyibona le ngxelo, kwaye babhala ikhowudi emangalisayo. Kodwa kwanekhowudi yabo emangalisayo ayigqibelelanga kwaye ine, ine, kwaye iya kuqhubeka iqulathe iimpazamo. Uvavanyo oluzenzekelayo luyafuneka ukufumana ezi mpazamo. Ukuba oku akunjalo, ngoko mhlawumbi sibhala ii-autotest ezimbi, okanye sifike kwindawo efileyo, ngokomgaqo, ayiphuhliswanga. Kuzo zombini ezi meko, senza into ephosakeleyo, yaye indlela yethu yokwenza izinto ayinangqiqo.
  2. Uvavanyo oluzenzekelayo kufuneka lusetyenziswe. Akukho ngqiqweni ukuchitha ixesha elininzi kunye nomzamo ekubhaleni imveliso yesoftware, uyibeke kwindawo yokugcina kwaye uyilibale. Uvavanyo kufuneka luqhutywe, kwaye luqhutywe rhoqo kangangoko kunokwenzeka.
  3. Uvavanyo oluzenzekelayo kufuneka lusebenze ngokuzinzileyo. Nokuba liliphi na ixesha losuku, ukuqaliswa kokumiswa kunye nezinye iisetingi zenkqubo, ukubaleka kovavanyo kufuneka kukhokelela kwisiphumo esifanayo. Njengomthetho, oku kuqinisekiswa yinyaniso yokuba ii-autotests zisebenza kunye nedatha yovavanyo olukhethekileyo kunye nezicwangciso zenkqubo esisigxina.
  4. Uvavanyo oluzenzekelayo kufuneka lusebenze ngesantya esamkelekileyo kwiprojekthi yakho. Eli xesha limiselwe ngabanye kwinkqubo nganye. Abanye abantu banokukwazi ukusebenza imini yonke, ngelixa abanye bekufumanisa kubalulekile ukuyenza ngemizuzwana. Ndiza kukuxelela kamva ukuba yeyiphi imigangatho yesantya esiyifumeneyo kwiprojekthi yethu.
  5. Uphuhliso oluzenzekelayo kufuneka lube bhetyebhetye. Akucebisekanga ukwala ukuvavanya nakuphi na ukusebenza ngenxa yokuba singazange sikwenze ngaphambili okanye ngenxa yesinye isizathu. i-utPLSQL ayinyanzeli naziphi na izithintelo kuphuhliso, kwaye i-Oracle, ngokomgaqo, ikuvumela ukuba uphumeze izinto ezahlukeneyo. Uninzi lweengxaki zinesisombululo, ngumbandela nje wexesha kunye nomgudu.
  6. Ukuthunyelwa. Sineendawo ezininzi apho kufuneka siqhube iimvavanyo. Kwisitendi ngasinye, ukulahlwa kwedatha kunokuhlaziywa nangaliphi na ixesha. Kuyimfuneko ukuba uqhube iprojekthi ngovavanyo oluzenzekelayo ngendlela onokuthi uphumeze ngokungenantlungu ukufakwa kwayo ngokupheleleyo okanye ngokuyinxenye.

Kwaye kwisithuba sesibini kwiintsuku ezimbalwa ndiza kukuxelela into esiyenzileyo kwaye zeziphi iziphumo esizifumeneyo.

umthombo: www.habr.com

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster