Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Sawubona Habr!

Igama lami nginguMaxim Ponomarenko futhi ngingunjiniyela kwa-Sportmaster. Ngineminyaka eyi-10 yesipiliyoni emkhakheni we-IT. Waqala umsebenzi wakhe wokuhlola ngesandla, wabe eseshintshela ekuthuthukisweni kwedathabhesi. Kule minyaka engu-4 edlule, ngiqongelela ulwazi oluzuzwe ekuhlolweni nasekuthuthukisweni, bengilokhu ngizihlola ngokuzenzakalelayo ezingeni le-DBMS.

Ngibe seqenjini le-Sportmaster isikhathi esingaphezudlwana konyaka futhi ngithuthukisa ukuhlola okuzenzakalelayo kweminye yemiklamo emikhulu. Ngo-Ephreli, abafana be-Sportmaster Lab kanye nami sakhuluma engqungqutheleni yaseKrasnodar, umbiko wami wawubizwa ngokuthi "Ukuhlolwa kweyunithi ku-DBMS," futhi manje ngifuna ukwabelana nawe. Kuzoba nombhalo omningi, ngakho-ke nginqume ukuhlukanisa umbiko ngokuthunyelwe okubili. Okokuqala, sizokhuluma ngokuhlola okuzenzakalelayo nokuhlolwa ngokujwayelekile, kanti okwesibili, ngizohlala ngokuningiliziwe ohlelweni lwethu lokuhlola iyunithi kanye nemiphumela yokusetshenziswa kwalo.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Okokuqala, ithiyori encane eyisicefe. Kuyini ukuhlola okuzenzakalelayo? Lokhu ukuhlola okwenziwa kusetshenziswa isofthiwe, futhi ku-IT yesimanje kuyasetshenziswa kakhulu ekuthuthukisweni kwesoftware. Lokhu kungenxa yokuthi izinkampani ziyakhula, izinhlelo zabo zolwazi ziyakhula futhi, ngokufanele, inani lokusebenza okufanele lihlolwe liyakhula. Ukwenza ukuhlola mathupha kuya kubiza kakhulu.

Ngasebenza enkampanini enkulu ephuma njalo ezinyangeni ezimbili. Ngesikhathi esifanayo, inyanga yonke yachithwa ekutheni abahloli abayishumi nambili bahlole mathupha ukusebenza. Ngenxa yokuqaliswa kokuzenzakalela kwethimba elincane lonjiniyela, sikwazile ukunciphisa isikhathi sokuhlola sibe amaviki angu-2 onyakeni nesigamu. Asikhulisanga nje isivinini sokuhlola, kodwa futhi sithuthukise ikhwalithi yayo. Ukuhlola okuzenzakalelayo kwethulwa njalo futhi njalo kwenza yonke inkambo yokuhlola efakwe kukho, okungukuthi, asifaki isici somuntu.

I-IT yesimanje ibonakala ngokuthi unjiniyela angase adingeke ukuthi angagcini nje ngokubhala ikhodi yomkhiqizo, kodwa futhi abhale izivivinyo zamayunithi ezihlola le khodi.

Kodwa kuthiwani uma uhlelo lwakho lusekelwe ngokuyinhloko ku-logic yeseva? Asikho isixazululo sendawo yonke noma izinqubo ezihamba phambili emakethe. Njengomthetho, izinkampani zixazulula le nkinga ngokwakha uhlelo lwazo lokuhlola oluzibhalele. Lolu uhlelo lwethu lokuhlola oluzibhalelayo oludalwe kuphrojekthi yethu futhi ngizokhuluma ngakho embikweni wami.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Ukwethembeka okuvivinyayo

Okokuqala, ake sikhulume ngephrojekthi lapho sikhiphe khona isistimu yokuhlola ezenzakalelayo. Iphrojekthi yethu iwuhlelo lokwethembeka kwe-Sportmaster (ngendlela, sesivele sabhala ngayo lokhu okuthunyelwe).

Uma inkampani yakho inkulu ngokwanele, uhlelo lwakho lokwethembeka luzoba nezindawo ezintathu ezijwayelekile:

  • Isistimu yakho izolayishwa kakhulu
  • Isistimu yakho izoqukatha izinqubo zekhompuyutha eziyinkimbinkimbi
  • Isistimu yakho izothuthukiswa ngokuqhubekayo.

Masihambe ngokulandelana ... Ngokuphelele, uma sicabangela zonke izinhlobo ze-Sportmaster, khona-ke sinezitolo ezingaphezu kuka-1000 eRussia, Ukraine, China, Kazakhstan naseBelarus. Cishe kuthengwa u-300 kulezi zitolo nsuku zonke. Okusho ukuthi, njalo ukuhlolwa kwesibili okungu-000-3 kungena ohlelweni lwethu. Ngokwemvelo, isistimu yethu yokwethembeka ilayishwe kakhulu. Futhi njengoba isetshenziswa ngenkuthalo, kufanele sinikeze izindinganiso eziphakeme kakhulu zekhwalithi yayo, ngoba noma yiliphi iphutha kusofthiwe lisho ukulahlekelwa okukhulu kwemali, idumela nokunye.

Ngesikhathi esifanayo, i-Sportmaster iqhuba ukukhushulwa okungaphezulu kwekhulu. Kunezinhlobonhlobo zokukhushulwa: kukhona ukukhushulwa kwemikhiqizo, kukhona okunikezelwe ngosuku lwesonto, kukhona okuboshelwe esitolo esithile, kukhona ukukhushulwa kwenani lerisidi, kukhona ngenani lezimpahla. Ngokuvamile, akukubi. Amaklayenti anamabhonasi namakhodi okukhangisa asetshenziswa lapho uthenga. Konke lokhu kuholela eqinisweni lokuthi ukubala noma iyiphi i-oda kuwumsebenzi ongewona omncane kakhulu.

I-algorithm esebenzisa ukucutshungulwa kwe-oda imbi ngempela futhi iyinkimbinkimbi. Futhi noma yiziphi izinguquko kule algorithm ziyingozi kakhulu. Kwakubonakala sengathi izinguquko ezibonakala zingasho lutho zingaholela emiphumeleni engalindelekile. Kepha yizinqubo zekhompiyutha eziyinkimbinkimbi, ikakhulukazi lezo ezisebenzisa ukusebenza okubalulekile, okuyizo ezingcono kakhulu zokuzenzela. Ukuhlola inqwaba yamacala afanayo ngesandla kudla isikhathi esiningi. Futhi njengoba indawo yokungena kwinqubo ingashintshiwe, ngemva kokuyichaza kanye, ungakha ngokushesha izivivinyo ezizenzakalelayo futhi uqiniseke ukuthi ukusebenza kuzosebenza.

Njengoba isistimu yethu isetshenziswa ngokuqhubekayo, ibhizinisi lizofuna okuthile okusha kuwe, liphile nezikhathi futhi ligxile kumakhasimende. Kuhlelo lwethu lokwethembeka, okukhishiwe kuphuma njalo ezinyangeni ezimbili. Lokhu kusho ukuthi njalo ezinyangeni ezimbili sidinga ukuhlehla ngokuphelele kulo lonke uhlelo. Ngesikhathi esifanayo, ngokwemvelo, njengakunoma iyiphi i-IT yesimanje, ukuthuthukiswa akusuki ngokushesha kunjiniyela kuye ekukhiqizeni. Isuka kumjikelezo wonjiniyela, bese idlula ngokulandelana ebhentshini lokuhlola, idedele, yamukelwe, bese igcina isikhiqizwa. Okungenani, ekuhlolweni nasekukhululeni amasekethe, sidinga ukwenza ukuhlehla okuphelele kwalo lonke uhlelo.

Izakhiwo ezichaziwe zijwayelekile cishe kunoma iyiphi isistimu yokwethembeka. Ake sikhulume ngezici zephrojekthi yethu.

Ngokobuchwepheshe, u-90% womqondo wesistimu yethu yokwethembeka usekelwe kuseva futhi usetshenziswa ku-Oracle. Kukhona iklayenti eliveziwe eDelphi, elenza umsebenzi womlawuli wendawo yokusebenza ozenzakalelayo. Kukhona izinsiza zewebhu eziveziwe zezinhlelo zokusebenza zangaphandle (isibonelo iwebhusayithi). Ngakho-ke, kunengqondo kakhulu ukuthi uma sisebenzisa isistimu yokuhlola ezenzakalelayo, sizokwenza ku-Oracle.

Isistimu yokwethembeka ku-Sportmaster ikhona iminyaka engaphezu kwengu-7 futhi yadalwa ngabathuthukisi abangabodwa... Isilinganiso senani labathuthukisi kuphrojekthi yethu phakathi nale minyaka engu-7 kwakungabantu abangu-3-4. Kodwa phakathi nonyaka odlule, ithimba lethu likhule kakhulu, futhi manje sekunabantu abangu-10 abasebenza kulo msebenzi. Okusho ukuthi, abantu beza kuphrojekthi abangajwayelene nemisebenzi ejwayelekile, izinqubo, nezakhiwo. Futhi kunengozi eyengeziwe yokuthi sizophuthelwa amaphutha.

Le phrojekthi ibonakala ngokungabikho kwabahloli abazinikele njengamayunithi abasebenzi. Kukhona, kunjalo, ukuhlolwa, kodwa ukuhlolwa kwenziwa ngabahlaziyi, ngaphezu kweminye imithwalo yemfanelo yabo eyinhloko: ukuxhumana namakhasimende ebhizinisi, abasebenzisi, ukuthuthukisa izidingo zesistimu, njll. njll ... Naphezu kweqiniso lokuthi ukuhlolwa kwenziwa izinga eliphezulu kakhulu (lokhu kufaneleka ngokukhethekile ukukhuluma, njengoba abanye abahlaziyi bangase babambe iso lalo mbiko), ukuphumelela kochwepheshe kanye nokugxila entweni eyodwa akuzange kukhanselwe. .

Uma kucatshangelwa konke lokhu okungenhla, ukuthuthukisa ikhwalithi yomkhiqizo olethiwe kanye nokunciphisa isikhathi sokuthuthukiswa, umqondo wokuhlola ngokuzenzakalelayo kuphrojekthi ubonakala unengqondo kakhulu. Futhi ezigabeni ezihlukene zobukhona besistimu yokwethembeka, abathuthukisi ngabanye benza imizamo yokumboza ikhodi yabo ngokuhlolwa kwamayunithi. Sekukonke bekuyinqubo engahlangani, wonke umuntu esebenzisa ezakhe izakhiwo nezindlela. Imiphumela yokugcina yayivamile ekuhlolweni kweyunithi: ukuhlolwa kwathuthukiswa, kwasetshenziswa isikhathi esithile, kugcinwe endaweni yokugcina ifayela yenguqulo, kodwa ngesikhathi esithile bayeka ukusebenza futhi bakhohlwa. Okokuqala, lokhu kwakungenxa yokuthi izivivinyo zaziboshelwe kakhulu kumdlali othile, hhayi kuphrojekthi.

i-utPLSQL iyasiza

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Ingabe kukhona okwaziyo ngoStephen Feuerstein?

Lona umfo ohlakaniphile owanikela ingxenye ende yomsebenzi wakhe ekusebenzeni ne-Oracle kanye ne-PL/SQL, futhi ubhale inani elikhulu lemisebenzi ngalesi sihloko. Enye yezincwadi zakhe ezidumile ibizwa ngokuthi: “Oracle PL/SQL. Kochwepheshe." KwakunguStephen owasungula ikhambi le-utPLSQL, noma, njengoba limelela, Uhlaka Lokuhlola Iyunithi lwe-Oracle PL/SQL. Isixazululo se-utPLSQL sadalwa ngo-2016, kodwa siyaqhubeka nokusebenza ngenkuthalo futhi kukhishwa izinguqulo ezintsha. Ngesikhathi sokubika, inguqulo yakamuva ihlehlela emuva kuMashi 24, 2019.
Kwenzenjani. Lena iphrojekthi ehlukile yomthombo ovulekile. Inesisindo esingamamegabhayithi ambalwa, okuhlanganisa izibonelo nemibhalo. Ngokomzimba, i-schema ehlukile kusizindalwazi se-ORACLE esineqoqo lamaphakheji namathebula okuhlela ukuhlolwa kweyunithi. Ukufaka kuthatha imizuzwana embalwa. Isici esihlukile se-utPLSQL ukusebenziseka kalula kwayo.
Emhlabeni jikelele, i-utPLSQL iwumshini wokwenza ukuhlolwa kweyunithi, lapho ukuhlolwa kweyunithi kuqondwa njengezinqubo ezijwayelekile zeqoqo le-Oracle, inhlangano yazo elandela imithetho ethile. Ngaphezu kokwethula, i-utPLSQL igcina ilogi yakho konke ukugijima kwakho kokuhlolwa, futhi inesistimu yokubika yangaphakathi.

Ake sibheke isibonelo sokuthi ikhodi yokuhlola iyunithi ibukeka kanjani, isetshenziswe kusetshenziswa le nqubo.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Ngakho-ke, isikrini sibonisa ikhodi yokucaciswa kwephakheji okujwayelekile nokuhlolwa kweyunithi. Yiziphi izidingo eziyisibopho? Iphakethe kufanele libe nesiqalo esithi "utp_". Zonke izinqubo ezinokuhlolwa kufanele zibe nesiqalo esifanayo ncamashi. Iphakheji kufanele ibe nezinqubo ezimbili ezijwayelekile: “utp_setup” kanye ne-“utp_teardown”. Inqubo yokuqala ibizwa ngokuqalisa kabusha ukuhlolwa kweyunithi ngayinye, okwesibili - ngemva kokwethulwa.

I-“utp_setup”, njengomthetho, ilungiselela isistimu yethu ukuze iqalise ukuhlolwa kweyunithi, isibonelo, ukudala idatha yokuhlola. "utp_teardown" - ngokuphambene nalokho, yonke into ibuyela kuzilungiselelo zangempela futhi isetha kabusha imiphumela yokuqalisa.

Nasi isibonelo seyunithi yokuhlola elula kakhulu ehlola ukujwayela kwenombolo yocingo yekhasimende efakiwe kufomu elijwayelekile lesistimu yethu yokwethembeka. Awekho amazinga ayimpoqo wokuthi zibhalwa kanjani izinqubo ngokuhlolwa kwamayunithi. Njengomthetho, ucingo lwenziwa endleleni yesistimu ehlolwayo, futhi umphumela obuyiselwe ngale ndlela uqhathaniswa nereferensi. Kubalulekile ukuthi ukuqhathaniswa komphumela wereferensi kanye nalowo otholiwe kwenzeke ngezindlela ezijwayelekile ze-utPLSQL.

Ukuhlolwa kweyunithi kungaba nanoma iyiphi inombolo yokuhlola. Njengoba kubonakala esibonelweni, senza izingcingo ezine zilandelana endleleni ehloliwe ukuze senze inombolo yocingo ibe evamile futhi sihlole umphumela ngemva kocingo ngalunye. Lapho uthuthukisa ukuhlolwa kweyunithi, kufanele ucabangele ukuthi kukhona amasheke angathinti uhlelo nganoma iyiphi indlela, futhi ngemva kokunye udinga ukubuyela esimweni sokuqala sohlelo.
Isibonelo, ekuhlolweni kweyunithi okwethulwayo simane sifometha inombolo yocingo efakiwe, engaphazamisi isistimu yokwethembeka nganoma iyiphi indlela.

Futhi uma sibhala ukuhlolwa kweyunithi sisebenzisa indlela yokudala iklayenti elisha, khona-ke ngemva kokuhlolwa ngakunye kuzokwakhiwa iklayenti elisha ohlelweni, elingathinta ukuqaliswa kokuhlolwa okulandelayo.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Lena yindlela ukuhlolwa kweyunithi okwenziwa ngayo. Kunezinketho ezimbili zokuqalisa ezingaba khona: ukwenza zonke izivivinyo zeyunithi kusuka kuphakheji ethile noma ukwenza ukuhlolwa kweyunithi ethile kuphakheji ethile.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

Lesi yindlela esibukeka ngayo isibonelo sesistimu yokubika yangaphakathi. Ngokusekelwe emiphumeleni yokuhlolwa kweyunithi, i-utPLSQL yakha umbiko omncane. Kuyo sibona umphumela wesheke ngalinye kanye nomphumela ophelele wokuhlolwa kweyunithi.

Imithetho engu-6 yokuhlola okuzenzakalelayo

Ngaphambi kokuqala ukudala isistimu entsha yokuhlola okuzenzakalelayo kwesistimu yokwethembeka, kanye nabaphathi, sinqume imigomo okufanele izivivinyo zethu ezizenzakalelayo zesikhathi esizayo zithobele.

Iyunithi ihlola ku-DBMS - ukuthi sikwenza kanjani ku-Sportmaster, ingxenye yokuqala

  1. Ukuhlola okuzenzakalelayo kufanele kusebenze futhi kufanele kube usizo. Sinabathuthukisi abamangalisayo, okufanele nakanjani kukhulunywe ngabo, ngoba abanye babo bazobona lo mbiko, futhi babhala ikhodi emangalisayo. Kodwa ngisho nekhodi yabo emangalisayo ayiphelele futhi inamaphutha, inawo, futhi isazoqhubeka nokuqukatha amaphutha. Ukuhlola okuzenzakalelayo kuyadingeka ukuze uthole lawa maphutha. Uma kungenjalo, khona-ke noma sibhala ama-autotes amabi, noma sifike endaweni efile ukuthi, ngokuyisisekelo, ayithuthukiswa. Kuzo zombili izimo, senza okuthile okungalungile, futhi indlela yethu yokwenza izinto ayinangqondo.
  2. Ama-Autotes kufanele asetshenziswe. Akunangqondo ukuchitha isikhathi esiningi nomzamo ekubhaleni umkhiqizo wesoftware, uwubeke endaweni yokugcina bese uwukhohlwa. Izivivinyo kufanele zenziwe, futhi zigijime njalo ngangokunokwenzeka.
  3. Ukuhlola okuzenzakalelayo kufanele kusebenze ngokuzinzile. Kungakhathalekile isikhathi sosuku, isitendi sokuqalisa nezinye izilungiselelo zesistimu, ukuqalisa kokuhlola kufanele kuholele kumphumela ofanayo. Njengomthetho, lokhu kuqinisekiswa yiqiniso lokuthi ama-autotests asebenza ngedatha ekhethekile yokuhlola enezilungiselelo zesistimu ehleliwe.
  4. Ukuhlola okuzenzakalelayo kufanele kusebenze ngesivinini esamukelekayo kuphrojekthi yakho. Lesi sikhathi sinqunywa ngasodwa kusistimu ngayinye. Abanye abantu bangakwazi ukusebenza usuku lonke, kanti abanye bakuthola kubalulekile ukukwenza ngemizuzwana. Ngizokutshela kamuva ukuthi yiziphi izindinganiso zejubane esizizuzile kuphrojekthi yethu.
  5. Ukuthuthukiswa kokuhlola okuzenzakalelayo kufanele kube nezimo. Akufanelekile ukwenqaba ukuhlola noma yikuphi ukusebenza ngenxa nje yokuthi asizange sikwenze ngaphambili noma ngezinye izizathu. i-utPLSQL ayibeki noma yimiphi imikhawulo ekuthuthukisweni, futhi i-Oracle, empeleni, ikuvumela ukuthi usebenzise izinto ezahlukahlukene. Izinkinga eziningi zinesixazululo, kuyindaba nje yesikhathi nomzamo.
  6. Ukusebenziseka. Sinezitendi ezimbalwa lapho sidinga ukwenza izivivinyo. Esitendi ngasinye, ukulahlwa kwedatha kungabuyekezwa noma kunini. Kuyadingeka ukwenza iphrojekthi ngezivivinyo ezizenzakalelayo ngendlela yokuthi ungakwazi ukufeza ukufakwa kwayo okuphelele noma okuyingxenye ngaphandle kobuhlungu.

Futhi kokuthunyelwe kwesibili ezinsukwini ezimbalwa ngizokutshela ukuthi senzeni nokuthi yimiphi imiphumela esiyitholile.

Source: www.habr.com

Engeza amazwana