Hello.
Magacaygu waa Vanya waxaana ahay horumariye Java ah. Waxay dhacdaa in aan wax badan la shaqeeyo PostgreSQL - dejinta xogta, hagaajinta qaab dhismeedka, waxqabadka, iyo ciyaarista wax yar DBA maalmaha fasaxa ah.
Dhowaan waxaan ku hagaajiyay dhowr xog ururin oo ku jira adeegyadeena yaryar waxaanan qoray maktabad java ah
Afeef
Nooca ugu weyn ee PostgreSQL ee aan la shaqeeyo waa 10. Dhammaan weydiimaha SQL ee aan isticmaalo waxa lagu tijaabiyay nooca 11. Nooca ugu yar ee la taageeray waa 9.6.
prehistory
Waxaas oo dhami waxay ku bilowdeen ku dhawaad hal sano ka hor xaalad iga yaabisay: abuurista tartan ee tusmada buluugga ah waxay ku dhammaatay qalad. Tusmada lafteeda, sida caadiga ah, waxay ku hadhay kaydka xogta xaalad aan ansax ahayn. Falanqaynta log waxay muujisay yaraan
Dhibaatada kow - qaabeynta caadiga ah
Malaha qof kastaa wuu daalan yahay tusaalaha ku saabsan Postgres, kaas oo lagu wadi karo kafee-sameeyaha, laakiin ... qaabeynta caadiga ah ayaa runtii kor u qaadaysa dhowr su'aalood. Ugu yaraan, waxaa habboon in fiiro gaar ah loo yeesho dayactirka_shaqada_mem, temp_file_limit, ogaysiis_waqti gabaabsi и quful_time.
Xaaladeena dayactirka_shaqada_mem ahaa default 64 MB, iyo temp_file_limit wax ku dhow 2 GB - si fudud ma haysanno xusuus ku filan si aan u abuurno tusmooyin miiska weyn.
Sidaa darteed, in pg-index-caafimaadka Waxaan ururiyay taxane
Dhibaatada laba - tusiyaal nuqul ah
Kaydkayada xogta waxay ku nool yihiin SSD-yada, waana isticmaalnaa HA-qaabaynta oo leh xarumo xogeed oo badan, martigeliyaha sayid iyo n- tirada nuqullada. Meesha diskooga waa kheyraad aad u qiimo badan; ma ahan mid ka muhiimsan waxqabadka iyo isticmaalka CPU. Sidaa darteed, dhinaca kale, waxaan u baahanahay indexes si dhakhso ah loo akhriyo, dhinaca kale, ma rabno inaan aragno tusmooyinka aan loo baahnayn ee kaydka, maadaama ay cunaan meel bannaan oo ay yareeyaan cusboonaysiinta xogta.
Oo hadda, isagoo wax walba soo celiyay
Dhibka saddexaad - tusmooyinka is-goysyada
Inta badan horumariyeyaasha cusub waxay ku abuuraan tusmooyin hal tiir. Si tartiib tartiib ah, iyagoo si fiican u soo maray ganacsigan, dadku waxay bilaabaan inay hagaajiyaan weydiimaha oo ay ku daraan tusmooyin kakan oo ay ku jiraan dhowr tiir. Tani waa sida tusmooyinka tiirarka ay u muuqdaan A, A + B, A+B+C iyo wixi la mida. Labadan tusmo ee ugu horreeya si badbaado leh ayaa loo tuuri karaa, maadaama ay horgalayaasha saddexaad yihiin. Tani waxay sidoo kale badbaadisaa boos badan oo disk ah waxaana jira baaritaanno arrintan
Dhibaatada afar - furayaasha ajnabiga ah oo aan lahayn indexes
Postgres wuxuu kuu ogolaanayaa inaad abuurto caqabado fure u ah shisheeye adoon cayimin tusaha taageerada. Xaalado badan tani dhib ma aha, oo waxaa laga yaabaa in xitaa aysan is muujin... Waqtiga la joogo...
Waxay la mid tahay annaga: waa uun in wakhti wakhti shaqo ah, oo ku socda jadwalka iyo nadiifinta xogta amarrada imtixaanka, ayaa bilaabay in lagu "ku daro" martigeliyaha sayidkiisa. CPU iyo IO way qasaareen, codsiyadii waa ay gaabiyeen oo waa la damiyay, adeeggu wuxuu ahaa shan boqol. Falanqaynta degdega ah
delete from <table> where id in (…)
Xaaladdan oo kale, dabcan, waxaa jiray index by id shaxda bartilmaameedka, iyo diiwaan aad u yar ayaa la tirtiray iyadoo loo eegayo xaaladda. Waxay u muuqatay in wax walba ay tahay inay shaqeeyaan, laakiin, hoogtay, ma aysan dhicin.
Midkii cajiibka ahaa ayaa u soo gurmaday sharax falanqeyn wuxuuna sheegay in marka laga soo tago tirtirista diiwaanada ku jira shaxda bartilmaameedka, ay sidoo kale jirto hubinta daacadnimada tixraaca, mid ka mid ah miisaska la xidhiidha jeeggani wuu fashilmay. iskaanka isdaba jooga sababtoo ah la'aanta index ku habboon. Sidaa awgeed waxa ku dhashay baadhitaanno
Dhibka shan - qiimaha waxba kama jiraan
Sida caadiga ah, Postgres waxaa ku jira qiimayaal aan waxba ahayn oo ku jira tusmooyinka btree, laakiin inta badan loogama baahna halkaas. Sidaa darteed, waxaan si taxadar leh isku dayaa inaan tuuro kuwan nulls (diagnostics where <A> is not null
. Sidan ayaan awooday inaan ku dhimo cabbirka mid ka mid ah tusmooyinkayada oo ahaa 1877 MB ilaa 16 KB. Iyo mid ka mid ah adeegyada, cabbirka xogta ayaa hoos u dhacay wadar ahaan 16% (4.3 GB ee tirooyinka dhammaystiran) sababtoo ah ka saarida qiyamka aan tooska ahayn ee tusmooyinka. Kaydin aad u weyn oo meel disk ah oo leh wax ka beddel aad u fudud. 🙂
Dhibaatada lixaad - la'aanta furayaasha aasaasiga ah
Sababtoo ah dabeecadda farsamada
Maalin maalmaha ka mid ah, hal guurti oo cajiib ah ayaa qaaday oo cusbooneysiiyay dhammaan diiwaannada ku jira miis weyn oo si firfircoon loo isticmaalo. Waxaan helnay +100 GB cabbirka miiska oo ka baxsan buluugga. Waxay ahayd ceeb aad u xun, laakiin nasiib-darradayadu intaas kuma ekaan. Ka dib markii autovacuum-ka miiskaan uu dhamaaday 15 saacadood ka dib, waxaa caddaatay in goobta jireed aysan soo laaban doonin. Ma joojin karno adeegga oo aan ka dhigno VACUUM FULL, sidaas darteed waxaan go'aansanay inaan isticmaalno
In nooca maktabadda 0.1.5 Awoodda lagu ururiyo xogta laga soo ururiyo miisaska iyo tusmooyinka iyo ka jawaabista waqtigeeda ayaa lagu daray.
Dhibaatooyinka todoba iyo siddeed - tusmooyinka aan ku filnayn iyo tusmooyinka aan la isticmaalin
Labada cudur ee soo socda waa:
Sidii aan horeyba u qoray, waxaan isticmaalnaa qaabeyn leh dhowr nuqul, iyo culeyska akhriska ee martigeliyaha kala duwan ayaa asal ahaan ka duwan. Natiijo ahaan, xaaladdu waxay soo baxday in qaar ka mid ah miisaska iyo tusmooyinka qaar ee martida loo yahay aan si dhab ah loo isticmaalin, iyo falanqaynta waxaad u baahan tahay inaad ka soo ururiso tirakoobyada dhammaan martida loo yahay kooxda.
Habkani waxa uu noo ogoladay in aanu badbaadino dhawr iyo toban gigabytes annagoo meesha ka saarnay tusmooyin aan waligood la isticmaalin, iyo sidoo kale in lagu daro tusmooyinka maqan ee miisaska dhifka ah ee la isticmaalo.
Sida gabagabada
Dabcan, ku dhawaad dhammaan baaritaannada waad habeyn kartaa
Baadhitaannada qaarkood ayaa lagu samayn karaa imtixaanada shaqaynaya isla markaaba ka dib marka la soo saaro guuritaanka xogta. Oo tani waa laga yaabaa inay tahay mid ka mid ah astaamaha ugu awoodda badan maktabaddayda. Tusaale isticmaalka waxaa laga heli karaa
Waxay macno samaynaysaa in la sameeyo jeegaga tusmooyinka aan la isticmaalin ama maqan, iyo sidoo kale barar, kaliya oo ku saabsan xogta dhabta ah. Qiimaha la ururiyay waxaa lagu qori karaa gudaha
Runtii taas ayaan rajaynayaa pg-index-caafimaadka waxay noqon doontaa mid waxtar leh oo loo baahan yahay. Waxa kale oo aad gacan ka geysan kartaa horumarinta maktabadda adiga oo ka warbixinaya dhibaatooyinka aad hesho oo aad soo jeediso baadhitaanno cusub.
Source: www.habr.com