Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Imwe nguva mune ramangwana riri kure, kubviswa otomatiki kwe data risingakoshi richava rimwe remabasa akakosha eDBMS [1]. Zvichakadaro, isu pachedu tinofanirwa kuve nehanya nekudzima kana kufambisa zvisina kufanira data kune isingadhure masisitimu ekuchengetedza. Ngatitii wafunga kudzima mitsara yemamiriyoni mashoma. Basa rakareruka, kunyanya kana mamiriro acho achizivikanwa uye paine indekisi yakakodzera. "DELETA KUBVA patafura1 PANE col1 = :value" - chii chingave chiri nyore, handiti?

Vhidhiyo:

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

  • Ndanga ndiri muHighload program committee kubvira gore rekutanga, kureva kubvira 2007.

  • Uye ndanga ndiine Postgres kubvira 2005. Yakashandiswa mumapurojekiti akawanda.

  • Boka neRuPostges zvakare kubvira 2007.

  • Takura kusvika 2100+ vatori vechikamu paMeetup. Ndiyo yechipiri pasi rose mushure meNew York, yakatorwa neSan Francisco kwenguva yakareba.

  • Ndagara muCalifornia kwemakore akati wandei. Ndinobata zvakanyanya nemakambani ekuAmerica, kusanganisira makuru. Ivo vashandisi vanoshanda vePostgres. Uye kune marudzi ose ezvinhu zvinofadza.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/ ikambani yangu. Isu tiri mubhizinesi rekuita otomatiki mabasa anobvisa kuderera kwebudiriro.

Kana iwe uri kuita chimwe chinhu, saka dzimwe nguva kune imwe mhando yemapulagi akatenderedza Postgres. Ngatiti iwe unofanirwa kumirira kuti admin vakugadzirire test stand, kana kuti unofanirwa kumirira kuti DBA ikupindure. Uye isu tinowana mabhodhoro akadaro mukuvandudza, kuyedza uye kutonga maitiro uye edza kuvabvisa nerubatsiro rwe otomatiki uye nzira nyowani.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf

Nguva pfupi yadarika ndakanga ndiri kuVLDB muLos Angeles. Uyu ndiwo musangano mukuru pane wedatabase. Uye pakanga paine chirevo chekuti mune ramangwana DBMS haingochengete chete, asiwo inodzima data. Iyi inyaya itsva.

Kune yakawanda uye yakawanda data munyika yezettabytes - ndiyo 1 petabytes. Uye zvino zvave kutofungidzirwa kuti tine zvinopfuura 000 zettabytes yedata yakachengetwa munyika. Uye kune akawanda uye akawanda awo.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://vldb2019.github.io/files/VLDB19-keynote-2-slides.pdf

Uye zvokuita nazvo? Zviri pachena kuti inoda kubviswa. Heino link kune iyi inonakidza report. Asi kusvika zvino izvi hazvisati zvaitwa muDBMS.

Vanogona kuverenga mari vanoda zvinhu zviviri. Vanoda kuti tibvise, saka tekinoroji tinofanira kukwanisa kuzviita.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Zvandichataura zvinotevera ndezvimwe zvisinganzwisisiki mamiriro ezvinhu anosanganisira boka remamiriro ezvinhu chaiwo, kureva rudzi rwekuunganidza izvo chaizvo zvakaitika kwandiri uye dhatabhesi dzakatenderedza kakawanda, makore mazhinji. Rakes ari kwese kwese uye munhu wese anotsika paari nguva dzese.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Ngatitii tine hwaro kana mabhesi akati wandei ari kukura. Uye mamwe marekodhi sezviri pachena marara. Semuenzaniso, mushandisi akatanga kuita chimwe chinhu ipapo, asi haana kuchipedzisa. Uye mushure mechinguva tinoziva kuti iyi isina kupera haichagoni kuchengetwa. Kureva kuti, isu tinoda kuchenesa zvimwe zvinhu zvisina basa kuitira kuchengetedza nzvimbo, kuvandudza mashandiro, nezvimwe.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Kazhinji, basa ndere automate kudzima kwezvinhu zvakanangana, mitsara chaiyo mune imwe tafura.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Uye isu tine chikumbiro chakadaro, chatichataura nezvazvo nhasi, ndiko kuti, pamusoro pekubvisa marara.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Takakumbira mugadziri ane ruzivo kuti azviite. Akatora chikumbiro ichi, akazviongorora pachake - zvose zvinoshanda. Kuedzwa pastaging - zvese zvakanaka. Yakabviswa - zvese zvinoshanda. Kamwe chete pazuva tinomhanya - zvese zvakanaka.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Iyo database inokura uye inokura. Zuva nezuva DELETE inotanga kushanda zvishoma nezvishoma.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Ipapo isu tinonzwisisa kuti isu tave nekambani yekushambadzira uye traffic ichave yakakura zvakapetwa, saka tinosarudza kumbomira zvinhu zvisina basa. Uye kukanganwa kudzoka.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Mwedzi mishoma gare gare vakarangarira. Uye mugadziri uyu akasiya kana kuti akabatikana nechimwe chinhu, akaraira mumwe kuti azvidzore.

Akatarisa pa dev, pakuita - zvese zvakanaka. Nomuzvarirwo, uchiri kuda kuchenesa zvakaunganidzwa. Akaongorora zvese zvinoshanda.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Chii chinotevera? Zvadaro zvinhu zvose zvinoparara nokuda kwedu. Inodonha zvokuti pane imwe nguva zvinhu zvose zvinowira pasi. Munhu wese ari kuvhunduka, hapana anonzwisisa zviri kuitika. Zvino zvakazoitika kuti nyaya yaive muDELETE iyi.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Pane chakakanganisika? Heino rondedzero yezvingadai zvisina kumira zvakanaka. Ndechipi cheizvi chinonyanya kukosha?

  • Semuenzaniso, pakanga pasina ongororo, i.e. nyanzvi yeDBA haina kuzvitarisa. Aizobva awana dambudziko neziso rine ruzivo, uyezve, anokwanisa kuwana prod, uko mitsara yakawanda yakaungana.

  • Pamwe vakatarisa chimwe chinhu chisina kumira zvakanaka.

  • Pamwe iyo Hardware ndeyechinyakare uye iwe unofanirwa kusimudzira iyi base.

  • Kana kuti chimwe chinhu chakashata nedatabase pachayo, uye isu tinofanirwa kubva kuPostgres kuenda kuMySQL.

  • Kana kuti pamwe pane chakaipa pakuvhiyiwa.

  • Zvichida pane zvimwe zvikanganiso musangano rebasa uye iwe unoda kudzinga mumwe munhu uye kuhaya vanhu vakanakisisa?

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Pakanga pasina cheki yeDBA. Kana paiva neDBA, aizoona mitsara iyi mamiriyoni akawanda uye kunyange pasina kuedza kwaizoti: "Havaiti izvozvo." Ngatitii kana kodhi iyi yaive muGitLab, GitHub uye paizove nekuongororwa kwekodhi uye pakange pasina chinhu chakadaro chekuti pasina mvumo yeDBA oparesheni iyi yaizoitika paprod, saka zviri pachena kuti DBA yaizoti: "Izvi hazvigone kuitwa. .”

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Uye iye aizoti iwe uchava nematambudziko ne disk IO uye maitiro ose achapenga, panogona kunge kune makiyi, uye zvakare iwe uchavhara autovacuum kwemaminetsi akawanda, saka izvi hazvina kunaka.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

http://bit.ly/nancy-hl2018-2

Chikanganiso chechipiri - vakatarisa panzvimbo isiri iyo. Isu takaona mushure mekuda kwekuti yakawanda yejunk data yakaunganidzwa pane prod, asi mugadziri wacho akange asina kuunganidza data mune iyi dhatabhesi, uye hapana akagadzira iyi tsvina panguva yekugadzira. Saizvozvo, pakanga paine mitsara 1 yakakurumidza kushanda.

Isu tinonzwisisa kuti miedzo yedu haina kusimba, i.e. maitiro anovakwa haabate matambudziko. Muedzo weDB wakakwana hauna kuitwa.

Kuedza kwakakodzera kunoitwa pachishandiswa chimwe chete. Hazviiti nguva dzose kuita izvi pamichina imwechete, asi zvakakosha zvikuru kuti ive kopi yakazara yedatabase. Izvi ndizvo zvandave ndichiparidza kwemakore akati wandei. Uye gore rapfuura ndakataura nezve izvi, unogona kuzviona zvese paYouTube.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Pamwe midziyo yedu yakaipa? Kana iwe ukatarisa, ipapo latency yakasvetuka. Isu takaona kuti kushandiswa kuri 100%. Ehe, dai aya anga ari emazuva ano maNVMe madhiraivha, saka zvingave zviri nyore kwatiri. Uye pamwe tingadai tisina kusiya kubva pazviri.

Kana iwe uine makore, saka kukwidziridzwa kunoitwa nyore ipapo. Yakasimudza replicas nyowani pane itsva Hardware. switchover. Uye zvose zvakanaka. Zviri nyore.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Zvinoita here kubata madiki madhisiki? Uye pano, nerubatsiro rweDBA chete, tinonyura mune imwe nyaya inonzi checkpoint tuning. Zvakaitika kuti isu takanga tisina cheki tuning.

Chii chinonzi checkpoint? Iri mune chero DBMS. Paunenge uine data mundangariro inoshanduka, haina kunyorwa pakarepo ku diski. Ruzivo rwekuti data rakachinja rinotanga kunyorwa kune nyora-mberi log. Uye pane imwe nguva, DBMS inosarudza kuti inguva yekurasa mapeji chaiwo ku diski, kuitira kuti kana tikakundikana, tinogona kuita zvishoma REDO. Zvakafanana netoyi. Kana isu tikaurayiwa, isu tichatanga mutambo kubva kune yekupedzisira cheki. Uye ese maDBMS anozviita.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Iwo marongero ari muPostgres ari kusarira kumashure. Izvo zvakagadzirirwa 10-15 makore ekare mavhoriyamu e data uye kutengeserana. Uye nzvimbo yekutarisa haina mutsauko.

Heino ruzivo kubva kune yedu Postgres cheki-up report, i.e. otomatiki hutano cheki. Uye heino imwe dhatabheti yematerabytes akati wandei. Uye zvinogona kuoneka zvakanaka kuti kumanikidzirwa macheki munenge 90% yemakesi.

Zvinorevei? Pane marongero maviri ipapo. Checkpoint inogona kuuya nenguva yekupera, semuenzaniso, pamaminetsi gumi. Kana kuti inogona kuuya kana data rakawanda razadzwa.

Uye nekusarudzika max_wal_saze yakaiswa kune 1 gigabyte. Muchokwadi, izvi zvinoitika chaizvo muPostgres mushure me300-400 megabytes. Iwe wakashandura data rakawanda uye cheki yako inoitika.

Uye kana pasina munhu akaigadzirisa, uye sevhisi yakakura, uye kambani inowana mari yakawanda, ine zvakawanda zvekutengeserana, ipapo cheki chinouya kamwe chete paminiti, dzimwe nguva masekondi makumi matatu, uye dzimwe nguva kunyange kupindirana. Izvi zvakaipa chose.

Uye isu tinofanirwa kuve nechokwadi chekuti inouya zvishoma. Kureva kuti tinogona kukwidza max_wal_size. Uye ichauya zvishoma.

Asi isu takagadzira nzira yese yekuzviita nenzira kwayo, ndiko kuti, nzira yekuita sarudzo pakusarudza marongero, zvakajeka zvichibva pane chaiyo data.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Saizvozvo, tiri kuita maviri akatevedzana ekuedza pane database.

Yekutanga nhevedzano - isu tinoshandura max_wal_size. Uye tiri kuita basa guru. Kutanga, tinozviita pane yakasarudzika yekumisikidza 1 gigabyte. Uye isu tinoita yakakura DELETE yemamiriyoni akawanda emitsetse.

Unogona kuona kuti zvakatiomera sei. Tinoona kuti disk IO yakaipa kwazvo. Isu tinotarisa kuti maWAL mangani atagadzira, nekuti izvi zvakakosha. Ngationei kuti nzvimbo yekuongorora yakaitika kangani. Uye tinoona kuti hazvina kunaka.

Tevere tinowedzera max_wal_size. Tinodzokorora. Tinowedzera, tinodzokorora. Uye kakawanda. Muchidimbu, mapoinzi gumi akanaka, apo 10, 1, 2, 4 gigabytes. Uye isu tinotarisa maitiro eimwe system. Zviri pachena kuti pano midziyo inofanira kunge yakafanana neprod. Iwe unofanirwa kunge uine madhisiki akafanana, huwandu hwakafanana hwendangariro, uye mamwe maPostgres marongero.

Uye nenzira iyi tichatsinhanisa sisitimu yedu, uye tinoziva kuti iyo DBMS ichaita sei kana yakashata misa DELETE, kuti ichaongorora sei.

Checkpoint muchiRussia inzvimbo dzekutarisa.

Muenzaniso: DELETA mamirioni akati mitsara neindex, mitsetse "yakapararira" pamapeji.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Heino muenzaniso. Ichi chimwe chigadziko. Uye nekugadzika kwe1 gigabyte ye max_wal_size, zviri pachena kuti madhisiki edu anoenda kusherufu yekurekodha. Mufananidzo uyu chiratidzo chemurwere anorwara zvakanyanya, ndiko kuti, ainzwa zvakaipa. Uye pakanga paine oparesheni imwe chete, kwaingova neDELETE yemamirioni akati wandei.

Kana kushanda kwakadaro kuchibvumirwa mu prod, saka isu tichangorara pasi, nokuti zviri pachena kuti imwe DELETE inotiuraya musherufu.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Uyezve, apo 16 gigabytes, zviri pachena kuti mazino atoenda. Mazino atova nani, kureva kuti, tiri kugogodza padenga, asi kwete zvakanyanya. Paive nerusununguko ipapo. Kurudyi kune rekodhi. Uye nhamba yekushanda - yechipiri girafu. Uye zviri pachena kuti isu tave kutofema zvishoma nyore kana 16 gigabytes.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Uye apo 64 gigabytes inogona kuonekwa kuti yava nani zvachose. Nechekare mazino akadudzwa, kune mikana yakawanda yekupona mamwe maoperation uye kuita chimwe chinhu ne diski.

Nei zvakadaro

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Ini ndichanyura mune izvo zvishoma, asi iyi musoro, maitiro ekutarisa tuning, inogona kuguma mushumo wakazara, saka ini handisi kuzoremedza zvakawanda, asi ini ndichatsanangura zvishoma izvo zvinonetsa zviripo.

Kana iyo yekuongorora ikaitika kakawanda, uye isu tinovandudza mitsetse yedu kwete sequentially, asi kuwana nendekisi, izvo zvakanaka, nekuti isu hatidzime tafura yese, zvino zvinogona kuitika kuti pakutanga takabata peji rekutanga, ipapo rechiuru, ndokudzokera kune vokutanga . Uye kana pakati pekushanya uku kune peji rekutanga, cheki yakatoichengeta ku diski, zvino ichaichengetedza zvakare, nekuti takaisvibisa kechipiri.

Uye isu tichamanikidza cheki kuti ichengetedze kakawanda. Ko kwaizomuita maoparesheni asina basa.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Asi handizvo zvoga. Mapeji ari 8 kilobytes muPostgres uye 4 kilobytes muLinux. Uye kune yakazara_peji_inonyora marongero. Inogoneswa neiyo default. Uye izvi ndezvechokwadi, nekuti kana tikaidzima, ipapo pane njodzi yekuti hafu chete yepeji ichaponeswa kana ikaparara.

Maitiro ekunyora kune WAL yerogi yepamberi ndeyekuti kana tine cheki uye isu tichishandura peji kekutanga, peji rose, kureva, ese 8 kilobytes, inopinda mugwaro remberi, kunyangwe isu takangochinja mutsetse, unorema 100 bytes . Uye tinofanira kunyora pasi peji rose.

Mukuchinja kunotevera, pachava chete netuple chaiyo, asi kekutanga tinonyora pasi zvese.

Uye, maererano, kana cheki chakaitika zvakare, saka isu tinofanirwa kutanga zvese kubva mukutanga zvakare uye kusunda peji rese. Nenguva zhinji dzekutarisa, kana tichifamba nemapeji mamwe chete, yakazara_page_writes = pane ichave yakawanda kupfuura zvazvingave, i.e. tinoburitsa yakawanda WAL. Zvimwe zvinotumirwa kune replicas, kune archive, kune disk.

Uye, maererano, isu tine maviri redundancies.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Kana tikawedzera max_wal_size, zvinozoitika kuti tinoita kuti zvive nyore kune vese checkpoint uye wal writer. Uye ndizvo zvakanaka.

Ngatiisei terabyte tigare nayo. Chii chakaipa nazvo? Izvi zvakaipa, nekuti kana paine kukundikana, isu tichakwira kwemaawa, nekuti cheki chaive chave nguva refu yapfuura uye zvakawanda zvakatochinja. Uye isu tinofanirwa kuita zvese izvi REDO. Uye saka tinoita yechipiri akatevedzana miedzo.

Isu tinoita oparesheni toona kana cheki chave kuda kupera, tinouraya -9 Postgres nechinangwa.

Uye mushure mezvo tinozvitanga zvakare, uye toona kuti ichakwira kwenguva yakareba sei pamudziyo uyu, i.e. yakawanda sei iyo REDO mumamiriro ezvinhu akaipa aya.

Kaviri ndichacherechedza kuti mamiriro ezvinhu akaipa. Kutanga, takabondera nzvimbo yekutarisa isati yapera, saka tine zvakawanda zvatinoda kurasikirwa nazvo. Uye chechipiri, takavhiyiwa zvakanyanya. Uye kana nzvimbo dzekutarisa dzaive panguva yekupera, saka, kazhinji, shoma WAL yaizogadzirwa kubva pekupedzisira cheki. Ndiko kuti, inorasa kaviri.

Isu tinoyera mamiriro akadaro kune akasiyana max_wal_size saizi uye tinonzwisisa kuti kana max_wal_size ari 64 gigabytes, saka mune yakapetwa kaviri kesi tinokwira kwemaminitsi gumi. Uye tinofunga kuti zvakatinakira here kana kuti kwete. Uyu mubvunzo webhizinesi. Tinofanira kuratidza mufananidzo uyu kune avo vane basa rekuita sarudzo dzebhizinesi uye tobvunza kuti, "Tinganyanya kurara pasi kusvika rinhi kana paine dambudziko? Tinogona here kurara pasi mumamiriro ezvinhu akaipisisa kwemaminitsi 10-3? Uye iwe unoita sarudzo.

Uye heino pfungwa inofadza. Tine mishumo miviri pamusoro paPatroni pamusangano. Uye pamwe uri kuishandisa. Iyi i autofailover yePostgres. GitLab uye Data Egret vakataura nezve izvi.

Uye kana iwe uine autofailover inouya mumasekonzi makumi matatu, saka pamwe tinogona kurara pasi kwemaminetsi gumi? Nekuti isu tichachinja kune replica panguva ino, uye zvese zvichave zvakanaka. Iyi ipfungwa yekufungidzira. Handizivi mhinduro yakajeka. Ini ndinongonzwa kuti nyaya iyi haingori pedyo nekupora kupora.

Kana isu tine kupora kwenguva refu mushure mekukundikana, saka isu tichave tisina kugadzikana mune mamwe akawanda mamiriro. Somuenzaniso, mukuedza kumwe chete, patinoita chimwe chinhu uye dzimwe nguva tinofanira kumirira kwemaminitsi gumi.

Ini handisati ndaenda kure zvakanyanya, kunyangwe isu tiine autofailover. Sezvo mutemo, tsika dzakadai se64, 100 gigabytes yakanaka tsika. Dzimwe nguva zvakatokosha kusarudza zvishoma. Kazhinji, iyi isayenzi yakapusa.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Kuti uite iterations, semuenzaniso, max_wal_size = 1, 8, unofanirwa kudzokorora kuvhiya kwemazhinji kakawanda. Iwe wakazviita. Uye pane imwechete base iwe unoda kuzviita zvakare, asi iwe wakatodzima zvese. Kuita sei?

Ini ndichataura gare gare nezvemhinduro yedu, zvatinoita kuitira kuti tiite mumamiriro ezvinhu akadaro. Uye iyi ndiyo nzira yakarurama.

Asi munyaya iyi, takaita rombo rakanaka. Kana, sezvazvinotaura pano "TANGA, DELETE, ROLLBACK", saka tinogona kudzokorora DELETE. Kureva, kana isu takadzima isu pachedu, saka tinogona kudzokorora. Uye mumuviri pauri iyo data icharara munzvimbo imwechete. Hauna kana bloat. Iwe unogona kudzokorora pamusoro peDELETE dzakadaro.

Iyi DELETE ine ROLLBACK yakanakira kutarisa kwekutarisa, kunyangwe iwe usina yakamisikidzwa dhatabhesi labs.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Takagadzira ndiro ine imwe column "i". Postgres ine utility columns. Iwo haaoneki kunze kwekunge akumbirwa zvakananga. Izvi ndezvi: ctid, xmid, xmax.

Ctid ikero yenzvimbo. Zero peji, yekutanga tuple pane peji.

Zvinogona kuoneka kuti mushure meROOLBACK iyo tuple yakaramba iri munzvimbo imwechete. Ndiko kuti, tinogona kuedza zvakare, ichaita zvakafanana. Ichi ndicho chinhu chikuru.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Xmax inguva yekufa kwetuple. Yakadhindwa, asi Postgres inoziva kuti kutengeserana kwakadzoserwa kumashure, saka hazvina basa kana iri 0 kana kuti yakatenderedzwa kumashure kutengeserana. Izvi zvinoratidza kuti zvinokwanisika kudzokorora pamusoro peDELETE uye tarisa kuwanda kwekuita kwemaitiro ehurongwa. Iwe unogona kugadzira dhatabhesi labs kune varombo.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Izvi ndezvevagadziri vepurogiramu. NezveDBA, zvakare, vanogara vachitsiura vanogadzira zvirongwa nekuda kweizvi: "Sei uri kuita maoparesheni akareba uye akaoma?". Iyi inyaya yakasiyana zvachose perpendicular. Kwaimbove nehutungamiri, uye zvino pachava nebudiriro.

Zviri pachena kuti hatina kutyora-tyora. Zviri pachena. Hazvibviri kusatyora DELETE yakadaro kune murwi wemamirioni emitsara kuita zvikamu. Ichaitwa kwemaminitsi makumi maviri, uye zvose zvicharara pasi. Asi, zvinosuruvarisa, kunyange vagadziri vane ruzivo vanoita zvikanganiso, kunyange mumakambani makuru kwazvo.

Sei zvakakosha kuputsa?

  • Kana tikaona kuti dhisiki yakaoma, saka ngatidzikei zvishoma. Uye kana isu tatyoka, saka tinogona kuwedzera kumbomira, tinogona kudzikisira throttling.

  • Uye hatizovharidzi vamwe kwenguva refu. Mune zvimwe zviitiko hazvina basa, kana iwe uchidzima marara chaiwo asina munhu ari kushanda paari, saka kazhinji haungavharidzire chero munhu kunze kwebasa re autovacuum, nekuti rinomirira kuti kutengeserana kupedze. Asi kana iwe ukabvisa chimwe chinhu icho mumwe munhu anogona kukumbira, ipapo ivo vanozovharwa, pachava neimwe mhando yeketani yekuita. Kutengeserana kwakareba kunofanirwa kudzivirirwa pamawebhusaiti uye nharembozha.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/products/joe/

Izvi zvinonakidza. Ndinowanzoona kuti vanogadzira vanobvunza kuti: "Ndeipi saizi yepakiti yandinofanira kusarudza?".

Zviri pachena kuti iyo yakakura saizi yebundle, iyo diki yekutengeserana pamusoro, i.e., iyo yakawedzera kumusoro kubva kune kutengeserana. Asi panguva imwecheteyo, nguva inowedzera yekutengeserana uku.

Ndine mutemo wakareruka: tora zvakawanda sezvaunokwanisa, asi usapfuure pamusoro pezvinoitwa pasekondi.

Sei wechipiri? Tsananguro iri nyore uye inonzwisisika kune wese munhu, kunyangwe vanhu vasiri tekinoroji. Tinoona kuita. Ngatitorei 50 milliseconds. Kana chimwe chinhu chachinja, ipapo ziso redu richaita. Kana zvishoma, saka zvakanyanya kuoma. Kana chimwe chinhu chichipindura mushure me100 milliseconds, semuenzaniso, iwe wakadzvanya mbeva, uye yakakupindura mushure me100 milliseconds, unotonzwa kunonoka uku kushoma. Sekondi yave kutoonekwa semabhureki.

Saizvozvo, kana tikatyora mashandiro edu akawanda kuita gumi-sekondi kuputika, saka isu tine njodzi yekuti tichavhara mumwe munhu. Uye ichashanda kwemasekondi mashoma, uye vanhu vanotozviona. Naizvozvo, ndinosarudza kusapfuura sekondi. Asi panguva imwecheteyo, usazviparadze zvakanyanya, nekuti kutengeserana kwepamusoro kuchaonekwa. Nheyo yacho ichave yakaoma, uye mamwe matambudziko akasiyana angamuka.

Tinosarudza ukuru hwepakiti. Muchiitiko chimwe nechimwe, tinogona kuzviita zvakasiyana. Inogona kuve otomatiki. Uye isu tine chokwadi chekushanda kwekugadzirisa kwepakiti imwe. Kureva kuti, isu tinoita DELETE yeimwe paki kana UPDATE.

Nenzira, zvese zvandiri kutaura hazvisi zveDELETE chete. Sezvawaifungidzira, aya ndeapi mavhisi akawanda pane data.

Uye isu tinoona kuti chirongwa chakanakisa. Iwe unogona kuona iyo index scan, index chete scan ndiyo iri nani. Uye isu tine shoma shoma data inobatanidzwa. Uye isingasviki sekondi inozadzisa. Super.

Uye isu tichiri kuda kuve nechokwadi kuti hapana kuderedzwa. Izvo zvinoitika kuti mapeji ekutanga anokurumidza kushanda, uye zvino inowedzera kuipa, kuipa uye kuipa. Maitiro acho ndeokuti iwe unofanirwa kuyedza zvakanyanya. Izvi ndizvo chaizvo izvo database Labs ndeye.

Uye isu tichiri kufanira kugadzirira chimwe chinhu kuti chigotitendera kutevedzera izvi nemazvo mukugadzira. Semuenzaniso, tinogona kunyora nguva murogi, tinogona kunyora patiri iko zvino uye kuti ndiani watakabvisa. Uye izvi zvichatibvumira kunzwisisa zviri kuitika gare gare. Uye kana chimwe chinhu chikatadza, kurumidza kuwana dambudziko.

Kana isu tichida kutarisa kushanda kwezvikumbiro uye isu tinoda kudzokorora kakawanda, saka pane chinhu chakadai sevamwe bot. Akatogadzirira. Inoshandiswa neakawanda evagadziri zuva nezuva. Uye anoziva nzira yekupa yakakura terabyte dhatabhesi pakukumbira mumasekonzi makumi matatu, yako kopi. Uye iwe unogona kudzima chimwe chinhu ipapo woti RESET, uye wochidzima zvakare. Unogona kuedza nazvo nenzira iyi. Ndiri kuona ramangwana rechinhu ichi. Uye tiri kutozviita.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://docs.gitlab.com/ee/development/background_migrations.html

Ndedzipi nzira dzekuparadzanisa? Ini ndinoona 3 nzira dzakasiyana dzekuparadzanisa dziri kushandiswa nevagadziri papakiti.

Yokutanga iri nyore kwazvo. Tine chitupa chenhamba. Uye ngatizvitsemure muzvikamu zvakasiyana uye tishande nazvo. Izvo zvakaderera zvakajeka. Muchikamu chekutanga, tinogona kuva nemitsara ye100 yemarara chaiwo, mumutsara wechipiri 5 kana kwete zvachose, kana kuti mitsara yose ye1 inoshanduka kuva marara. Zvakanyanya kusaenzana basa, asi zviri nyore kutyora. Vakatora maximum ID ndokuipwanya. Iyi inzira yekusaziva.

Yechipiri zano inzira yakadzikama. Inoshandiswa muGitlab. Vakatora ndokutarisa table. Takawana miganhu yemaID pack zvekuti paki yega yega yaive ne10 marekodhi chaiwo. Uye wovaisa mumutsetse. Uye tobva tagadzirisa. Iwe unogona kuita izvi mumitambo yakawanda.

Mune yekutanga zano, zvakare, nenzira, iwe unogona kuita izvi mune akati wandei tambo. Hazvina kuoma.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

https://medium.com/@samokhvalov/how-partial-indexes-affect-update-performance-in-postgres-d05e0052abc

Asi kune nzira inotonhorera uye iri nani. Iri ndiro zano rechitatu. Uye kana zvichibvira, zviri nani kuzvisarudza. Isu tinoita izvi pahwaro hweiyo yakakosha index. Muchiitiko ichi, inogona kunge iri index zvinoenderana nemararamiro edu uye ID. Isu tichaisa chitupa kuitira kuti ive index chete kuti tisaenda kumurwi.

Kazhinji, index scan chete inokurumidza kupfuura index scan.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Uye isu tinokurumidza kuwana maID edu atinoda kubvisa. BATCH_SIZE tinofanosarudza. Uye isu hatingozviwani chete, tinozviwana nenzira yakakosha uye nekukasira kubira. Asi isu tiri kukiya kuti kana dzakatokiyiwa, hatidzikiyi asi toenda mberi totora dzinotevera. Iyi ndeye update skip yakavharwa. Ichi chepamusoro chimiro chePostgres chinotibvumira kushanda mune akati wandei tambo kana tichida. Zvinogoneka murukova rumwe. Uye pano pane CTE - ichi chikumbiro chimwe chete. Uye isu tine kudzima chaiko kuri kuitika muuriri hwechipiri hweiyi CTE - returning *. Unogona kudzorera id, asi zviri nani *kana iwe usina data rakawanda pamutsetse wega wega.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Nei tichichida? Izvi ndizvo zvatinofanira kuzivisa. Isu tabvisa mitsetse yakawanda zvakadaro. Uye isu tine miganhu neID kana neyakagadzirwa_sezvizvi. Unogona kuita min, max. Chimwe chinhu chinogona kuitwa. Unogona kuzadza zvakawanda pano. Uye zviri nyore kwazvo kutarisisa.

Pane imwezve chinyorwa nezve index. Kana isu tikafunga kuti isu tinoda yakakosha index yebasa iri, saka isu tinofanirwa kuve nechokwadi kuti hariparadze murwi chete tuples zvigadziriso. Kureva kuti, Postgres ine manhamba akadaro. Izvi zvinogona kuonekwa mu pg_stat_user_tables yetafura yako. Iwe unogona kuona kana zvigadziriso zvinopisa zviri kushandiswa kana kwete.

Pane mamiriro ezvinhu apo index yako itsva inogona kungozvigura. Uye iwe une zvimwe zvese zvinogadziridza zvave kutoshanda, nonoka. Kwete chete nekuti iyo index yakaonekwa (yega yega index inononoka inovandudza zvishoma, asi zvishoma), asi pano ichiri kuiparadza. Uye hazvibviri kuita yakakosha optimization yetafura iyi. Izvi zvinoitika dzimwe nguva. Uhwu ndihwo hunyengeri hunoyeukwa nevanhu vashoma. Uye iri reki iri nyore kutsika. Dzimwe nguva zvinoitika kuti iwe unofanirwa kutsvaga nzira kubva kune rumwe rutivi uye uchiri kuita pasina iyi index nyowani, kana kuita imwe index, kana neimwe nzira, semuenzaniso, unogona kushandisa yechipiri nzira.

Asi iyi ndiyo yakanyanya kunaka zano, maitiro ekupatsanura kuita mabhechi uye kupfura pamabhechi nechikumbiro chimwe, bvisa zvishoma, nezvimwe.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Kutengeserana kwenguva refu https://gitlab.com/snippets/1890447

Yakavharirwa autovacuum - https://gitlab.com/snippets/1889668

blocking issue - https://gitlab.com/snippets/1890428

Mistake #5 ihombe. Nikolai anobva kuOkmeter akataura nezve Postgres yekutarisa. Ideal Postgres yekutarisa, zvinosuruvarisa, haipo. Vamwe vari pedyo, vamwe vari kure. Okmeter iri padyo zvakakwana kuti ive yakakwana, asi yakawanda isipo uye inoda kuwedzerwa. Unofanira kunge wakagadzirira izvi.

Semuenzaniso, matuples akafa anotariswa zvakanyanya. Kana iwe uine zvinhu zvakawanda zvakafa mutafura, saka chimwe chinhu hachina kunaka. Zviri nani kuita zvino, zvikasadaro panogona kuve nekudzikisirwa, uye isu tinogona kurara pasi. Zvinoitika.

Kana pane IO yakakura, zvino zviri pachena kuti izvi hazvina kunaka.

Kutengeserana kwenguva refu zvakare. Kutengeserana kwenguva refu hakufanirwe kubvumidzwa paOLTP. Uye heino chinongedzo kune snippet chinokutendera kuti utore iyi snippet uye wotoita imwe yekutevera yekurebesa kutengeserana.

Sei kutengesa kwenguva refu kwakaipa? Nekuti makiyi ese achaburitswa chete pakupera. Uye tinokuvadza munhu wese. Uyezve, isu tinovhara autovacuum kune ese matafura. Hazvina kunaka zvachose. Kunyangwe iwe uine inopisa standby yakagoneswa pane replica, ichiri yakaipa. Muzhinji, hapana kwese kuri nani kudzivisa kutengeserana kwenguva refu.

Kana tiine matafura akawanda asina kubviswa vacuum, saka tinofanira kuva nechenjedzo. Pano mamiriro ezvinhu akadaro anogoneka. Isu tinogona kukanganisa zvisina kunanga kushanda kwe autovacuum. Iyi snippet kubva kuAvito, yandakavandudza zvishoma. Uye zvakazove chishandiso chinonakidza kuona zvatinazvo ne autovacuum. Semuenzaniso, mamwe matafura akamirira ipapo uye haazomirire nguva yavo. Iwe zvakare unofanirwa kuzviisa mukutarisisa uye kuve neyambiro.

Uye nyaya dzinovhara. Sango remiti ye block. Ndinoda kutora chimwe chinhu kubva kune mumwe munhu uye ndinovandudza. Apa ndakatora inotonhorera inodzokorodza CTE kubva kuData Egret inoratidza sango remiti yekukiya. Ichi chishandiso chakanaka chekuongorora. Uye pahwaro hwayo, iwe unogona zvakare kuvaka yekutarisa. Asi izvi zvinofanira kuitwa nokungwarira. Iwe unofanirwa kuita diki statement_timeout iwe pachako. Uye lock_timeout inodikanwa.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Dzimwe nguva kukanganisa kwese uku kunoitika muhuwandu.

Sekuona kwangu, kukanganisa kukuru apa ndekwesangano. Iro sangano, nokuti nzira yacho haikwevedzi. Iyi nhamba 2 - vakatarisa panzvimbo isiri iyo.

Isu takatarisa munzvimbo isiriyo, nekuti isu takanga tisina clone yekugadzira, iyo iri nyore kutarisa. Mugadziri anogona kusawana mukana wekugadzira zvachose.

Uye hatina kutarisa ikoko. Dai takatarisa ikoko, tingadai takazviona isu. Mugadziri akazviona zvese kunyangwe pasina DBA kana akaitarisa munzvimbo yakanaka, uko kune huwandu hwakafanana hwedata uye nzvimbo yakafanana. Angadai akaona kuzvidzwa kwese uku aibva anyara.

Zvimwe nezve autovacuum. Mushure mekunge tatsvaira mitsara yemamiriyoni akati wandei, tichiri kuda kuita REPACK. Izvi zvakanyanya kukosha kune indexes. Vachanzwa zvakaipa mushure mekunge tachenesa zvese ipapo.

Uye kana iwe uchida kudzosa basa rekuchenesa zuva nezuva, saka ini ndingakurudzira kuzviita kakawanda, asi zviduku. Inogona kuva kamwe paminiti kana kunyange kakawanda zvishoma. Uye iwe unofanirwa kutarisa zvinhu zviviri: kuti chinhu ichi hachina zvikanganiso uye kuti hachisari shure. Hunyengeri hwandakaratidza huchagadzirisa izvi.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Zvatinoita ndeye open source. Yakatumirwa paGitLab. Uye isu tinozviita kuti vanhu vatarise kunyangwe vasina DBA. Isu tiri kuita dhatabhesi lab, ndiko kuti, tinodaidza iyo base chikamu chiri kushanda naJoe parizvino. Uye iwe unogona kutora kopi yekugadzira. Ikozvino kune kuitiswa kwaJoe kwekunonoka, iwe unogona kutaura ipapo: "tsanangura chakadai uye chikumbiro chakadaro" uye nekukurumidza tora mhedzisiro yekopi yako yedhatabhesi. Unogona kana DELETE ipapo, uye hapana anozviona.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Ngatitii une gumi materabytes, isu tinogadzira database lab zvakare gumi terabytes. Uye pamwe chete gumi terabyte dhatabheti, gumi vanogadzira vanogona kushanda panguva imwe chete. Munhu wese anogona kuita zvaanoda. Inogona kudzima, kudonha, etc. Ndiyo fungidziro yakadaro. Tozotaura nezvazvo mangwana.

Wadiwa DELETE. Nikolay Samokhvalov (Postgres.ai)

Izvi zvinodaidzwa kuti thin provisioning. Uku ndiko kupihwa kwakajeka. Iyi ndiyo imwe mhando yekufungidzira inobvisa zvakanyanya kunonoka mukusimudzira, mukuyedza uye inoita kuti nyika ive nzvimbo iri nani mune izvi. Ndiko kuti, inongobvumira iwe kuti udzivise matambudziko nekushanda kwakawanda.

Muenzaniso: 5 terabyte dhatabhesi, kuwana kopi isingasviki 30 masekonzi. Uye hazvina kana kutsamira pakukura, ndiko kuti, hazvina basa kuti mangani terabytes.

Nhasi unogona kuenda postgres.ai uye chera mumidziyo yedu. Unogona kunyoresa kuti uone zviripo. Unogona kuisa iyi bot. Hazvibhadharwi. Nyora.

Mibvunzo yako

Kazhinji mumamiriro ezvinhu chaiwo zvinoitika kuti iyo data inofanirwa kuramba iri patafura ishoma pane inoda kubviswa. Ndiko kuti, mumamiriro ezvinhu akadaro, zvinowanzova nyore kushandisa nzira yakadaro, kana zviri nyore kugadzira chinhu chitsva, kopi chete data inodiwa ipapo, uye trunk tafura yekare. Zviri pachena kuti chirongwa chechirongwa chinodiwa panguva ino, iwe uchange uchichinja. Nzira iyi ndeipi?

Iyi inzira yakanaka kwazvo uye ibasa rakanaka kwazvo. Zvakanyanya kufanana nezvinoitwa nepg_repack, zvakada kufanana nezvaunofanirwa kuita kana wagadzira maID 4 bytes. Mazhinji masisitimu akaita izvi makore mashoma apfuura, uye mahwendefa chete akakura, uye anofanirwa kushandurwa kuita 8 bytes.

Basa iri rakaoma zvikuru. Tazviita. Uye unofanira kungwarira zvikuru. Kune zvivharo, etc. Asi zviri kuitwa. Ndokunge, iyo yakajairwa nzira ndeye kuenda ne pg_repack. Unozivisa zita rakadaro. Uye usati watanga kurodha snapshot data mairi, unozivisawo ndiro imwe inoteedzera shanduko dzese. Pane hunyengeri hwekuti iwe haugone kuteedzera dzimwe shanduko. Pane subtleties. Uye wobva wachinja nekutenderedza shanduko. Pachave nekumbomira kwenguva pfupi patinovhara munhu wese pasi, asi kazhinji izvi zviri kuitwa.

Kana iwe ukatarisa pg_repack paGitHub, ipapo, paive nebasa rekushandura ID kubva int 4 kuenda int 8, ipapo pakanga paine zano rekushandisa pg_repack pachayo. Izvi zvinogoneka zvakare, asi zvishoma zvekubira, asi zvichashanda kune izvi zvakare. Iwe unogona kupindira mune inokonzeresa iyo pg_repack inoshandisa uye woti ipapo: "Hatidi iyi data", i.e. isu tinongotamisa zvatinoda. Uye ipapo anongochinja uye ndizvozvo.

Neiyi nzira, isu tichiri kuwana yechipiri kopi yetafura, umo iyo data yatove indexed uye yakarongedzerwa zvakanyanya zvakaenzana neakanaka indexes.

Bloat haisipo, inzira yakanaka. Asi ini ndoziva kuti pane kuyedza kugadzira otomatiki yeizvi, kureva kuita mhinduro yepasirese. Ndinogona kukuisa kuti ubatane neiyi automation. Zvakanyorwa muPython, chiri chinhu chakanaka.

Ini ndangori zvishoma kubva kunyika yeMySQL, saka ndauya kuzoteerera. Uye isu tinoshandisa nzira iyi.

Asi chete kana tine 90%. Kana isu tine 5%, saka hazvina kunaka kuishandisa.

Ndatenda nemushumo! Kana pasina zviwanikwa zvekugadzira kopi yakazara yeprod, pane chero algorithm kana fomula yekuverenga mutoro kana saizi?

Mubvunzo wakanaka. Parizvino, isu tinokwanisa kuwana akawanda-terabyte dhatabhesi. Kunyange kana hardware iripo isina kufanana, semuenzaniso, ndangariro shoma, processor shoma uye disks hazvina kunyatsofanana, asi zvakadaro tinozviita. Kana pasina zvachose, saka unofanira kufunga. Rega ndifunge kusvika mangwana wauya tozotaura mubvunzo wakanaka uyu.

Ndatenda nemushumo! Iwe wakatanga nezve chokwadi chekuti kune inotonhorera Postgres, ine izvo uye zvakadaro zvisingakwanisi, asi iri kukura. Uye izvi zvese crutch nekukasira. Izvi hazvisi zvese zvinopesana nekuvandudzwa kwePostgres pachayo, umo imwe DELETE deferent ichaonekwa kana chimwe chinhu chinofanira kuchengetedza padanho rakaderera izvo zvatiri kuyedza kupaka nedzimwe nzira dzedu dzisinganzwisisiki pano?

Kana isu takati muSQL kudzima kana kugadzirisa marekodhi akawanda mukutengesa kumwe chete, saka Postgres ingazvigovera sei ipapo? Isu takaganhurirwa panyama mukushanda. Ticharamba tichizviita kwenguva yakareba. Uye isu tichakiya panguva ino, nezvimwe.

Wapedza nema indexes.

Ini ndinogona kufunga kuti iyo imwechete yekutarisa tuning inogona kuve otomatiki. Rimwe zuva zvingadaro. Asi ipapo handisi kunyatsonzwisisa mubvunzo.

Mubvunzo ndewokuti, kune vector yakadaro yebudiriro inoenda pano neapo, uye heino yako inofambirana? Avo. Havasati vazvifunga here?

Ndakataura pamusoro penheyo dzinogona kushandiswa iye zvino. Pane imwe bot Nancy, neizvi unogona kuita otomatiki cheki tuning. Ichave rimwe zuva muPostgres? Handizivi, hazvisati zvambotaurwa. Tichiri kure nazvo. Asi kune masayendisiti anoita hurongwa hutsva. Uye ivo vanotisaidzira mune otomatiki indexes. Pane zviri kuitika. Semuenzaniso, unogona kutarisa auto tuning. Inosarudza ma parameter otomatiki. Asi iye haasati achaita cheki cheki tuning kwauri. Ndokunge, ichatora kuita, shell buffer, nezvimwe.

Uye yekutarisa tuning, unogona kuita izvi: kana uine chiuru masumbu uye akasiyana Hardware, akasiyana chaiwo machina ari mugore, unogona kushandisa bot yedu. Nancy kuita otomatiki. Uye max_wal_size ichasarudzwa zvinoenderana nekwako kurongerwa marongero otomatiki. Asi kusvika zvino izvi hazvisi kunyange pedyo nechepakati, zvinosuruvarisa.

Masikati akanaka Iwe wakataura nezve njodzi dzekutengesa kwenguva refu. Iwe wati autovacuum yakavharwa kana ikabviswa. Zvimwe zvinotikuvadza sei? Nekuti tiri kutaura zvakanyanya nezve kusunungura nzvimbo uye nekugona kuishandisa. Chii chimwe chatisina?

Autovacuum pamwe haisiriyo dambudziko hombe pano. Uye chokwadi chekuti kutengeserana kwakareba kunogona kukiya mamwe matransaction, mukana uyu une njodzi zvakanyanya. Anogona kusangana kana kusasangana. Kana akasangana, zvinogona kuva zvakaipa. Uye ne autovacuum - iri zvakare dambudziko. Pane matambudziko maviri nekutengesa kwenguva refu muOLTP: kukiya uye autovacuum. Uye kana iwe uine inopisa yekumira mhinduro yakagoneswa pane iyo replica, saka iwe ucharamba uchigamuchira autovacuum kukiya pane tenzi, inosvika kubva kune iyo replica. Asi panenge pasisina zvekukiya. Uye kuchava nemafuta. Tiri kutaura nezve shanduko yedata, saka makiyi chinhu chakakosha pano. Uye kana izvi zvese zviri zvenguva refu, yakareba, saka kutengeserana kwakawanda kwakavharwa. Vanogona kuba vamwe. Uye tarisa miti inooneka. Ndakapa link kune snippet. Uye dambudziko iri rinowedzera kuoneka nekukurumidza kupfuura dambudziko ne autovacuum, iyo inogona chete kuunganidza.

Ndatenda neshumo! Wakatanga rondedzero yako uchiti wakaedza zvisizvo. Takaenderera mberi nepfungwa yedu yekuti tinoda kutora midziyo imwe chete, nehwaro nenzira imwechete. Ngatitii takapa mugadziri nheyo. Uye akaita zvaakakumbira. Uye anoita seakanaka. Asi haatarisi kurarama, asi kurarama, somuenzaniso, tine mutoro we 60-70%. Uye kunyangwe tikashandisa tuning iyi, haishande zvakanyanya.

Kuve nenyanzvi pachikwata uye kushandisa nyanzvi dzeDBA dzinogona kufanotaura zvichaitika nemutoro chaiwo wekumashure kwakakosha. Patinongofambisa shanduko dzedu dzakachena, tinoona mufananidzo. Asi imwe nzira yepamusoro, patakaita chinhu chimwe chete zvakare, asi nemutoro unofananidzwa nekugadzirwa. Zvakanaka chaizvo. Kusvikira panguva iyoyo, unofanira kukura. Zvakafanana nemunhu mukuru. Takangotarisa zvatinazvo totarisawo kuti tine zvekushandisa zvakakwana here. Uyu mubvunzo wakanaka.

Kana tave kutoita marara sarudza uye isu tine, semuenzaniso, mureza wakabviswa

Izvi ndizvo zvinoita autovacuum otomatiki muPostgres.

Oo, anozviita here?

Autovacuum ndiyo inonhonga marara.

Ndinokutendai!

Ndatenda nemushumo! Pane here sarudzo yekukasika kugadzira dhatabhesi ine partitioning nenzira yekuti marara ese asvibe kubva patafura huru pane imwe nzvimbo kuenda kudivi?

Chokwadi vadaro.

Zvinoita here kuti tizvidzivirire kana takakiya tafura isingafaniri kushandiswa?

Chokwadi vadaro. Asi zvakafanana nemubvunzo wehuku nezai. Kana isu tose tichiziva zvichaitika mune ramangwana, saka, chokwadi, tichaita zvese zvakanaka. Asi bhizinesi riri kuchinja, kune makoramu matsva, zvikumbiro zvitsva. Uye zvino - oops, tinoda kuibvisa. Asi iyi yakanaka mamiriro, muhupenyu inoitika, asi kwete nguva dzose. Asi zvakazara ipfungwa yakanaka. Ingo truncate uye ndizvozvo.

Source: www.habr.com

Voeg