Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Amin'ny hoavy lavitra, ny fanesorana mandeha ho azy ny angon-drakitra tsy ilaina dia ho iray amin'ireo asa manan-danja amin'ny DBMS [1]. Mandritra izany fotoana izany, ny tenantsika dia mila mikarakara ny mamafa na mamindra angona tsy ilaina amin'ny rafitra fitahirizana lafo vidy kokoa. Aoka hatao hoe manapa-kevitra ny hamafa andalana vitsivitsy ianao. Asa somary tsotra, indrindra raha fantatra ny toe-javatra ary misy index mety. "DELETE FROM table1 WHERE col1 = :value" - inona no mety ho tsotra kokoa, sa tsy izany?

horonan-tsary:

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

  • Izaho dia tao amin'ny komity programa Highload nanomboka tamin'ny taona voalohany, izany hoe hatramin'ny 2007.

  • Ary niaraka tamin'ny Postgres aho nanomboka tamin'ny 2005. Nampiasaina tamin'ny tetikasa maro.

  • Vondrona miaraka amin'ny RuPostges hatramin'ny 2007.

  • Nitombo ho 2100+ ny mpandray anjara tamin'ny Meetup. Faharoa eran-tany izy io aorian’i New York, nosongonan’i San Francisco nandritra ny fotoana ela.

  • Nipetraka tany Kalifornia nandritra ny taona maromaro aho. Mifandray bebe kokoa amin'ny orinasa amerikana aho, anisan'izany ireo lehibe. Mpampiasa mavitrika amin'ny Postgres izy ireo. Ary misy karazana zavatra mahaliana rehetra.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/ dia ny orinasako. Eo amin'ny sehatry ny fanaovana automatique ny asa izay manafoana ny fihenan'ny fampandrosoana izahay.

Raha manao zavatra ianao dia indraindray misy karazana plugs manodidina ny Postgres. Andeha hatao hoe mila miandry ny admin hanangana toeram-panadinana ho anao ianao, na mila miandry ny DBA hamaly anao. Ary mahita bottleneck toy izany izahay amin'ny fizotran'ny fampandrosoana, fitsapana ary fitantanana ary manandrana manafoana azy ireo amin'ny fanampian'ny automation sy ny fomba fiasa vaovao.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Vao haingana aho no tao amin'ny VLDB tany Los Angeles. Ity no fihaonambe lehibe indrindra momba ny angon-drakitra. Ary nisy tatitra fa amin'ny ho avy DBMS dia tsy hitahiry fotsiny, fa hamafa ny angon-drakitra ihany koa. Lohahevitra vaovao ity.

Mihabetsaka ny angona eto amin'ny tontolon'ny zettabytes - izany hoe 1 petabytes. Ary ankehitriny dia efa tombanana fa manana angon-drakitra mihoatra ny 000 zettabytes voatahiry eto amin'izao tontolo izao isika. Ary mihamaro izy ireo.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Ary inona no hatao amin'izany? Mazava ho azy fa mila esorina izany. Ity misy rohy mankany amin'ity tatitra mahaliana ity. Saingy hatramin'izao dia tsy mbola nampiharina tao amin'ny DBMS izany.

Izay mahay manisa vola dia mila zavatra roa. Tian'izy ireo hamafa izahay, ka ara-teknika dia tokony ho vitantsika izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ny zavatra holazaiko manaraka dia toe-javatra tsy fahita firy izay ahitana andiana toe-javatra tena izy, izany hoe karazana fanangonana ny zava-nitranga tamiko sy ny angon-drakitra manodidina imbetsaka, taona maro. Rakes dia eny rehetra eny ary ny rehetra dia manitsaka azy ireo amin'ny fotoana rehetra.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Aoka hatao hoe manana fototra na fototra maromaro izay mitombo. Ary ny firaketana sasany dia mazava ho azy fa fako. Ohatra, nanomboka nanao zavatra tao ny mpampiasa, saingy tsy nahavita izany. Ary rehefa afaka kelikely dia fantatsika fa tsy azo tehirizina intsony io tsy vita io. Izany hoe, te hanadio zavatra fako izahay mba hitsitsiana toerana, hanatsarana ny fampisehoana, sns.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Amin'ny ankapobeny, ny asa dia ny manara-maso ny fanesorana zavatra manokana, andalana manokana amin'ny latabatra sasany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ary manana fangatahana toy izany isika, izay horesahina anio, izany hoe ny fanesorana ny fako.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Nangataka developer za-draharaha izahay hanao izany. Noraisiny io fangatahana io, nojereny ho azy - mandeha ny zava-drehetra. Notsapaina tamin'ny fampisehoana - tsara ny zava-drehetra. Navoaka - miasa ny zava-drehetra. Indray mandeha isan'andro izahay dia manao izany - tsara ny zava-drehetra.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Mitombo sy mitombo ny tahiry. Manomboka miasa miadana kokoa ny DELETE isan'andro.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Avy eo dia takatsika fa manana orinasam-barotra izahay izao ary hihamaro imbetsaka ny fifamoivoizana, ka manapa-kevitra izahay ny hampiato vetivety ny zavatra tsy ilaina. Ary adino ny miverina.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Volana vitsivitsy taty aoriana dia nahatsiaro izy ireo. Ary io developer io dia niala na sahirana tamin'ny zavatra hafa, nanome toromarika ny hafa hamerina izany.

Nijery ny dev izy, teo amin'ny fampisehoana - OK ny zava-drehetra. Mazava ho azy fa mbola mila manadio izay nangonina ianao. Nojereny fa mandeha ny zava-drehetra.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Inona no mitranga manaraka? Dia rava ny zava-drehetra ho antsika. Milatsaka izany ka amin'ny fotoana iray dia midina daholo ny zava-drehetra. Taitra ny rehetra, tsy misy mahafantatra ny zava-mitranga. Ary avy eo dia hita fa tao amin'ity DELETE ity ny raharaha.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Nisy zavatra tsy nety? Ity misy lisitry ny mety ho diso. Iza amin'ireo no manan-danja indrindra?

  • Ohatra, tsy nisy famerenana, izany hoe tsy nijery izany ny manam-pahaizana DBA. Hitany avy hatrany ny olana amin'ny maso za-draharaha, ary ankoatra izany, manana fahafahana miditra amin'ny prod izy, izay misy andalana an-tapitrisany maro.

  • Angamba nisy zavatra tsy nety nojereny.

  • Angamba efa lany andro ny fitaovana ary mila manavao ity fototra ity ianao.

  • Na misy tsy mety amin'ny angon-drakitra mihitsy, ary mila miala amin'ny Postgres mankany MySQL isika.

  • Na mety misy tsy mety amin'ny fandidiana.

  • Angamba misy lesoka sasany amin'ny fandaminana ny asa ka mila mandroaka olona ianao ary manakarama olona tsara indrindra?

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Tsy nisy fanamarinana DBA. Raha nisy DBA dia ho hitany ireo andalana an-tapitrisany ireo ary na dia tsy misy andrana aza dia hiteny hoe: "Tsy manao an'izany izy ireo." Eritrereto raha ao amin'ny GitLab, GitHub ity kaody ity ary hisy ny fizotran'ny famerenana kaody ary tsy misy zavatra toy izany raha tsy misy ny fankatoavan'ny DBA ity hetsika ity dia hatao amin'ny prod, dia mazava ho azy fa ny DBA dia hiteny hoe: "Tsy azo atao izany. .”

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ary holazainy fa hanana olana amin'ny kapila IO ianao ary ho lasa adala ny dingana rehetra, mety hisy hidy, ary hanakana ny autovacuum mandritra ny minitra maromaro ianao, ka tsy tsara izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Ny fahadisoana faharoa - nojereny tany amin'ny toerana tsy mety. Hitanay taorian'ny zava-misy fa be dia be ny angona junk miangona ao amin'ny prod, fa ny developer tsy manana angona voaangona ao amin'ity tahirin-kevitra, ary tsy nisy namorona ity junk nandritra ny fandaharana. Araka izany, nisy andalana 1 izay niasa haingana.

Fantatsika fa malemy ny fitsapana ataontsika, izany hoe ny dingana amboarina dia tsy miteraka olana. Tsy natao ny fanandramana DB sahaza.

Ny fanandramana tsara indrindra dia azo atao amin'ny fitaovana mitovy. Tsy azo atao foana ny manao izany amin'ny fitaovana iray ihany, fa zava-dehibe tokoa ny maha dika mitovy amin'ny angon-drakitra. Izany no nitoriako nandritra ny taona maro izao. Ary herintaona lasa izay dia niresaka momba an'io aho, azonao jerena ao amin'ny YouTube daholo izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Sao dia ratsy ny fitaovantsika? Raha mijery ianao dia nitsambikina ny latency. Hitanay fa 100% ny fampiasana. Mazava ho azy fa raha fiara NVMe maoderina ireo dia mety ho mora kokoa ho antsika izany. Ary angamba tsy hiala amin'izany isika.

Raha manana rahona ianao, dia mora atao any ny fanavaozana. Nanangana kopia vaovao amin'ny fitaovana vaovao. switchover. Ary tsara ny zava-drehetra. Mora kely.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Azo atao ve ny hikasika ireo kapila kely kokoa? Ary eto, miaraka amin'ny fanampian'ny DBA fotsiny, dia miditra amin'ny lohahevitra iray antsoina hoe fametahana checkpoint isika. Hita fa tsy nisy fanamafisam-peo izahay.

Inona no atao hoe toeram-pisavana? Ao amin'ny DBMS rehetra izany. Rehefa manana angon-drakitra ao anaty fitadidiana ianao izay miova, dia tsy voasoratra avy hatrany amin'ny kapila izany. Ny fampahalalana izay niova ny angona dia nosoratana voalohany tao amin'ny diary fanoratana. Ary amin'ny fotoana iray, ny DBMS dia manapa-kevitra fa tonga ny fotoana hanariana pejy tena izy amin'ny kapila, ka raha sendra tsy fahombiazana isika dia afaka manao REDO kely kokoa. Toy ny kilalao izany. Raha maty isika dia hanomboka ny lalao amin'ny toerana fisavana farany. Ary ny DBMS rehetra dia mampihatra izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ny fanovana ao amin'ny Postgres dia mihemotra. Izy ireo dia natao ho an'ny angon-drakitra 10-15 taona sy ny varotra. Ary tsy maningana ny toeram-pisavana.

Ity ny fampahalalana avy amin'ny tatitra momba ny fisavana Postgres, izany hoe fisavana ara-pahasalamana mandeha ho azy. Ary eto misy angon-drakitra misy terabytes maromaro. Ary azo jerena tsara fa saika ny 90% amin'ny tranga no nanery ny toeram-pisavana.

Inona no dikan'izany? Misy toe-javatra roa ao. Mety ho tonga amin'ny fiafaran'ny fotoana ny toeram-pisavana, ohatra, ao anatin'ny 10 minitra. Na mety ho tonga rehefa feno angon-drakitra be dia be.

Ary amin'ny alàlan'ny default max_wal_saze dia apetraka amin'ny 1 gigabyte. Raha ny marina, tena mitranga izany ao amin'ny Postgres aorian'ny 300-400 megabytes. Nanova data be dia be ianao ary mitranga ny toeram-pisavanao.

Ary raha tsy nisy naneno izany, ary nitombo ny serivisy, ary mahazo vola be ny orinasa, manana fifampiraharahana be dia be izy, dia tonga indray mandeha isan-minitra ny toeram-pisavana, indraindray isaky ny 30 segondra, ary indraindray mifanipaka mihitsy aza. Tena ratsy izany.

Ary mila ataontsika antoka fa tsy tonga matetika izany. Izany hoe, afaka mampitombo max_wal_size isika. Ary tsy ho tonga matetika.

Saingy namolavola fomba iray manontolo momba ny fomba hanaovana izany tsara kokoa izahay, izany hoe ny fomba handraisana fanapahan-kevitra momba ny fisafidianana ireo toe-javatra, mifototra amin'ny angon-drakitra manokana.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Araka izany, manao andrana roa amin'ny angon-drakitra izahay.

Ny andiany voalohany - novainay max_wal_size. Ary manao hetsika goavana izahay. Voalohany, ataontsika amin'ny fametrahana default amin'ny 1 gigabyte. Ary manao DELETE goavana amin'ny andalana an-tapitrisany maro izahay.

Hitanao fa sarotra ho antsika izany. Hitantsika fa tena ratsy ny kapila IO. Mijery ny isan'ny WAL izahay, satria tena zava-dehibe izany. Andeha hojerentsika hoe impiry no nitranga ilay toeram-pisavana. Ary hitantsika fa tsy tsara izany.

Manaraka izany dia mampitombo max_wal_size. Averinay indray. Mitombo isika, mamerina. Ary imbetsaka. Amin'ny ankapobeny, teboka 10 no tsara, izay misy 1, 2, 4, 8 gigabytes. Ary mijery ny fihetsiky ny rafitra iray manokana isika. Mazava ho azy fa ny fitaovana dia tokony ho toy ny amin'ny prod. Tsy maintsy manana kapila mitovy ianao, mitovy ny haben'ny fitadidiana, ary ny firafitry ny Postgres mitovy.

Ary amin'izany fomba izany dia hanakalo ny rafitray izahay, ary fantatsika ny fomba fitondran'ny DBMS raha sendra misy DELETE faobe ratsy, ny fomba fisavana.

Checkpoint amin'ny teny Rosiana dia toeram-pisavana.

Ohatra: ATAO ny andalana an-tapitrisa maromaro amin'ny fanondroana, ny andalana dia "miparitaka" manerana ny pejy.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ity misy ohatra iray. Ity dia fototra vitsivitsy. Ary miaraka amin'ny fametrahana default 1 gigabyte ho an'ny max_wal_size, dia mazava tsara fa ny kapila dia mandeha any amin'ny talantalana ho an'ny fandraisam-peo. Ity sary ity dia soritr'aretina mahazatra amin'ny marary iray tena marary, izany hoe tena nalahelo izy. Ary nisy fandidiana tokana, nisy DELETE an-tapitrisany an-tapitrisany.

Raha avela amin'ny prod ny opération toy izany dia handry fotsiny izahay, satria hita fa misy DELETE iray mamono anay ao amin'ny rezimanta.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ankoatra izany, izay 16 gigabytes, dia mazava fa ny nify efa lasa. Efa tsara ny nify, izany hoe mandondòna ny valin-drihana, fa tsy dia ratsy. Nisy fahalalahana kely teo. Eo ankavanana ny rakitsoratra. Ary ny isan`ny asa - ny faharoa grafika. Ary mazava ho azy fa efa miaina mora kokoa isika rehefa 16 gigabytes.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ary izay 64 gigabytes dia hita fa lasa tsara kokoa. Efa voatonona ny nify, misy fahafahana bebe kokoa ho tafavoaka velona amin'ny asa hafa ary manao zavatra amin'ny kapila.

Nahoana izany no izy?

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Hiditra amin'ny antsipiriany kely aho, fa ity lohahevitra ity, ny fomba fitantanana ny fametahana ny toby fisavana, dia mety hiteraka tatitra iray manontolo, ka tsy hampiditra be loatra aho, fa hosoratako kely ny fahasahiranana misy.

Raha mitranga matetika loatra ny toeram-pisavana, ary manavao ny andalanay izahay tsy misesy, fa mahita amin'ny index, izay tsara, satria tsy mamafa ny latabatra manontolo izahay, dia mety hitranga fa tamin'ny voalohany dia nikasika ny pejy voalohany, avy eo ny arivo, ary avy eo dia niverina tamin'ny voalohany. Ary raha eo anelanelan'ireo fitsidihana amin'ny pejy voalohany ireo dia efa voatahiry ao amin'ny kapila ilay checkpoint, dia hovonjeny indray, satria naloto fanindroany.

Ary hanery ny toeram-pisavana hanavotra azy imbetsaka izahay. Ahoana no mety hisian'ny fandidiana tafahoatra ho azy.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Tsy izay ihany anefa. Ny pejy dia 8 kilobytes amin'ny Postgres ary 4 kilobytes amin'ny Linux. Ary misy fika_pejy_soratra feno. Izy io dia alefa amin'ny alàlan'ny default. Ary marina izany, satria raha vonointsika izy io dia misy atahorana fa ny antsasaky ny pejy ihany no ho voavonjy raha midona.

Ny fitondran-tenan'ny fanoratana amin'ny WAL an'ny lozisialy mandroso dia toy ny hoe rehefa manana toerana fisavana isika ary manova ny pejy voalohany, ny pejy iray manontolo, izany hoe, ny 8 kilobytes rehetra, dia miditra ao amin'ny diary mandroso, na dia niova fotsiny aza ny pejy. tsipika, izay milanja 100 bytes. Ary tsy maintsy manoratra ny pejy iray manontolo isika.

Amin'ny fanovana manaraka dia tsy hisy afa-tsy tuple manokana, fa sambany no manoratra ny zava-drehetra.

Ary, araka izany, raha nitranga indray ny toeram-pisavana, dia tsy maintsy manomboka ny zava-drehetra hatrany am-piandohana indray isika ary manosika ny pejy iray manontolo. Miaraka amin'ny toeram-pisavana matetika, rehefa mandeha amin'ny pejy iray ihany isika, ny full_page_writes = on dia ho mihoatra noho izay mety ho izy, izany hoe miteraka WAL bebe kokoa. More dia alefa any amin'ny dika mitovy, amin'ny tahiry, amin'ny kapila.

Ary, araka izany, dia manana redundancy roa isika.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Raha ampitomboinay ny haben'ny max_wal_size dia hita fa manamora ny fisavana sy ny mpanoratra wal izahay. Ary tsara izany.

Andao hametraka terabyte ary hiaina miaraka aminy. Inona no maharatsy azy? Ratsy izany, satria raha sendra tsy fahombiazana isika dia hiakatra mandritra ny ora maro, satria efa ela ny toeram-pisavana ary efa betsaka no niova. Ary mila manao izany REDO rehetra izany isika. Ary dia manao ny andiany faharoa amin'ny andrana izahay.

Manao opération izahay ary mahita hoe rahoviana vao ho vita ny toby fisavana, dia mamono ny -9 Postgres izahay.

Ary rehefa afaka izany dia manomboka izany indray isika, ary jereo ny hafiriana no hiakatra amin'ity fitaovana ity, izany hoe hatraiza ny REDO amin'ity toe-javatra ratsy ity.

Indroa aho no hanamarika fa ratsy ny zava-misy. Voalohany, nianjera talohan'ny nahavitan'ny toeram-pisavana izahay, ka be dia be ny ho very. Ary faharoa, nanao fandidiana goavana izahay. Ary raha efa tapitra ny toerana fisavana, dia azo inoana fa kely kokoa ny WAL havoaka hatramin'ny toerana fisavana farany. Izany hoe resy indroa.

Mandrefy toe-javatra toy izany izahay amin'ny haben'ny max_wal_size samy hafa ary takatsika fa raha 64 gigabytes ny max_wal_size, dia amin'ny tranga roa ratsy indrindra dia hiakatra mandritra ny 10 minitra isika. Ary mieritreritra isika na mety aminay na tsia. Fanontaniana momba ny raharaham-barotra ity. Mila mampiseho an’io sary io amin’ireo tompon’andraikitra amin’ny fanapahan-kevitra momba ny raharaham-barotra isika ary manontany hoe: “Mandra-pahoviana isika no afaka mandry raha sendra misy olana? Afaka mandry ao anatin'ny toe-javatra ratsy indrindra mandritra ny 3-5 minitra ve isika? Ary mandray fanapahan-kevitra ianao.

Ary ity misy teboka iray mahaliana. Manana tatitra roa momba an'i Patroni izahay nandritra ny fihaonambe. Ary angamba ianao no mampiasa azy io. Ity dia autofailover ho an'ny Postgres. GitLab sy Data Egret dia niresaka momba izany.

Ary raha manana autofailover tonga ao anatin'ny 30 segondra ianao, dia mety handry mandritra ny 10 minitra ve isika? Satria hiova amin'ny kopia isika amin'io fotoana io, ary hilamina ny zava-drehetra. Ity dia teboka iray. Tsy haiko ny valiny mazava. Tsapako fotsiny fa ity lohahevitra ity dia tsy momba ny famerenana amin'ny laoniny fotsiny.

Raha maharitra ela isika aorian'ny tsy fahombiazana, dia tsy mahazo aina amin'ny toe-javatra maro hafa. Ohatra, amin'ny fanandramana mitovy, rehefa manao zavatra isika ary indraindray tsy maintsy miandry 10 minitra.

Mbola tsy handeha lavitra aho, na dia manana autofailover aza izahay. Raha ny fitsipika, ny sanda toy ny 64, 100 gigabytes dia sanda tsara. Indraindray dia mendrika ny hisafidy kely kokoa. Amin'ny ankapobeny, siansa an-kolaka izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Mba hanaovana iterations, ohatra, max_wal_size =1, 8, dia mila mamerina imbetsaka ny hetsika faobe. Vitanao izany. Ary amin'ny fototra iray ihany no tianao hatao indray, fa efa nofafanao ny zava-drehetra. Ny hatao?

Horesahiko any aoriana ny vahaolana ataontsika, izay ataontsika mba hiverenana amin'ny toe-javatra toy izany. Ary ity no fomba mety indrindra.

Saingy tamin'ity tranga ity dia tsara vintana izahay. Raha araka ny voalaza eto hoe "MANGO, DELETE, ROLLBACK", dia afaka mamerina DELETE isika. Izany hoe raha ny tenantsika no nanafoana izany dia afaka mamerina izany isika. Ary eo aminao ny angon-drakitra dia handry eo amin'ny toerana iray ihany. Tsy mahazo bloat akory ianao. Azonao atao ny mamerina ny DELETE toy izany.

Ity DELETE miaraka amin'ny ROLLBACK ity dia mety tsara amin'ny fanitsiana ny toby fisavana, na dia tsy manana laboratoara angon-drakitra voapetraka tsara aza ianao.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Nanao takelaka misy tsanganana "i" izahay. Ny Postgres dia manana tsanganana fampiasa. Tsy hita maso izy ireo raha tsy hoe angatahina manokana. Ireto ny: ctid, xmid, xmax.

Adiresy ara-batana ny Ctid. Pejy Zero, ny tuple voalohany amin'ny pejy.

Hita fa taorian'ny ROOLBACK dia nijanona teo amin'ny toerana iray ihany ny tuple. Izany hoe, afaka manandrana indray isika, dia ho toy izany koa ny fitondran-tenany. Izany no tena zava-dehibe.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Xmax no fotoana hahafatesan'ny tuple. Nasiana tombo-kase izy io, saingy fantatry ny Postgres fa naverina ny fifampiraharahana, ka tsy maninona na 0 na fifampiraharahana. Midika izany fa azo atao ny mamerina amin'ny DELETE ary manamarina ny fiasan'ny rafitra. Azonao atao ny manao laboratoara ho an'ny mahantra.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Momba ny programmer izany. Momba ny DBA ihany koa, dia mibedy foana ny mpandrindra izy ireo amin'izany: "Nahoana ianao no manao asa lava sy sarotra toy izany?". Lohahevitra perpendicular hafa tanteraka ity. Efa nisy ny fitantanan-draharaha, ary hisy ny fampandrosoana ankehitriny.

Mazava ho azy fa tsy tapaka izahay. Mazava. Tsy azo atao ny tsy manapaka izany DELETE ho an'ny andalana an-tapitrisany maro ho ampahany. Atao mandritra ny 20 minitra izany, ary handry daholo ny zava-drehetra. Saingy, indrisy, na ireo mpamorona za-draharaha aza dia manao fahadisoana, na dia amin'ny orinasa lehibe aza.

Nahoana no zava-dehibe ny manapaka?

  • Raha hita fa mafy ny kapila dia aleo ahena. Ary raha tapaka isika, dia afaka manampy fiatoana, afaka mampiadana ny throttling.

  • Ary tsy hanakana ny hafa mandritra ny fotoana maharitra. Amin'ny toe-javatra sasany dia tsy maninona, raha mamafa ny fako tena tsy misy olona miasa ianao, dia azo inoana fa tsy hanakana na iza na iza afa-tsy ny autovacuum ianao, satria miandry ny fifampiraharahana. Fa raha esorinao ny zavatra azon'olon-kafa angatahina, dia ho voasakana izy ireo, hisy karazana fanehoan-kevitra mifamatotra. Tokony hohalavirina amin'ny tranokala sy fampiharana finday ny fifampiraharahana lava.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Mahaliana izany. Hitako matetika fa manontany ny mpamorona hoe: "Inona ny haben'ny fonosana tokony hofidiko?".

Mazava ho azy fa ny lehibe kokoa ny haben'ny fehezam-boninkazo, ny kely kokoa ny varotra overhead, izany hoe, ny fanampiny overhead avy amin'ny fifanakalozana. Saingy miaraka amin'izay koa, mitombo ny fotoana ho an'ity varotra ity.

Manana fitsipika tsotra aho: maka araka izay azonao atao, fa aza mandeha mihoatra ny executable isan-tsegondra.

Nahoana indray mandeha? Tsotra sy takatry ny rehetra ny fanazavana, eny fa na dia tsy ara-teknika aza. Mahita fanehoan-kevitra isika. Andao haka 50 milisegondra. Raha misy zavatra niova dia hihetsika ny masontsika. Raha kely dia sarotra kokoa. Raha misy zavatra mamaly aorian'ny 100 milisegondra, ohatra, tsindrio ny totozy, ary namaly anao izany rehefa afaka 100 milisegondra, dia efa mahatsapa izany fahatarana kely izany ianao. Ny segondra iray dia efa raisina ho toy ny frein.

Noho izany, raha manapaka ny hetsika faobe ataontsika amin'ny fipoahana 10 segondra isika, dia manana risika hanakana olona iray isika. Ary hiasa mandritra ny segondra vitsy izany, ary ho hitan'ny olona izany. Noho izany, aleoko tsy manao mihoatra ny iray segondra. Saingy amin'ny fotoana iray ihany, aza simbaina tsara izany, satria ho tsikaritra ny fifanakalozam-bola. Ny fototra dia ho mafy kokoa, ary mety hisy olana hafa hafa.

Mifidy ny haben'ny fonosana izahay. Amin'ny tranga tsirairay dia afaka manao izany amin'ny fomba hafa isika. Afaka mandeha ho azy. Ary resy lahatra amin'ny fahombiazan'ny fanodinana ny fonosana iray izahay. Izany hoe DELETE ny fonosana iray na UPDATE isika.

Raha ny marina, ny zavatra rehetra resahiko dia tsy hoe DELETE ihany. Araka ny novinavinainao, ireo dia hetsika marobe amin'ny angona.

Ary hitantsika fa tsara ilay drafitra. Hitanao ny scan index, ny scan index ihany no tsara kokoa. Ary manana angon-drakitra kely tafiditra izahay. Ary latsaky ny iray segondra no tanteraka. Super.

Ary mbola mila manao izay hahazoana antoka fa tsy hisy ny fahasimbana. Mitranga fa ny fonosana voalohany dia miasa haingana, ary avy eo dia miharatsy sy miharatsy hatrany. Ny dingana dia toy izany dia mila fitsapana be dia be. Izany indrindra no anton'ny laboratoara database.

Ary mbola mila manomana zavatra isika mba hahafahantsika manaraka tsara izany amin'ny famokarana. Ohatra, afaka manoratra ny fotoana ao amin'ny diary isika, afaka manoratra hoe aiza isika izao ary iza no nofafantsika izao. Ary izany dia hamela antsika hahatakatra ny zava-mitranga any aoriana. Ary raha sendra misy tsy mety dia tadiavo haingana ny olana.

Raha mila manamarina ny fahombiazan'ny fangatahana isika ary mila mamerina imbetsaka, dia misy zavatra toy ny bot namana. Efa vonona izy. Izy io dia ampiasain'ny mpamorona am-polony isan'andro. Ary hainy ny manome angon-drakitra terabyte goavana raha angatahina ao anatin'ny 30 segondra, ny kopiao manokana. Ary afaka mamafa zavatra ao ianao dia miteny hoe RESET, ary mamafa azy indray. Afaka manao fanandramana amin'izany ianao. Mahita ny ho avy amin'izany zavatra izany aho. Ary efa manao izany izahay.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Inona no paikady fisarahana? Mahita paikady fizarazarana 3 samihafa aho izay ampiasain'ny mpamorona ao amin'ny fonosana.

Ny voalohany dia tena tsotra. Manana ID isa izahay. Ary andao hozaraina amin'ny elanelam-potoana samihafa izy io ary hiasa miaraka amin'izany. Ny lafy ratsiny dia mazava. Amin'ny fizarana voalohany dia mety manana tsipika tena fako 100 isika, amin'ny andalana 5 faharoa na tsia, na ho lasa fako daholo ny andalana 1. Asa tena tsy mitovy, nefa mora tapaka. Nalain’izy ireo ny kara-panondro faratampony ary nopotehiny. Fomba fanao tsy misy dikany izany.

Ny paikady faharoa dia ny fomba fiasa voalanjalanja. Ampiasaina ao amin'ny Gitlab izy io. Noraisin’izy ireo sy nojereny ny latabatra. Hitanay ny sisin-tanin'ireo fonosana ID ka ny fonosana tsirairay dia nanana firaketana 10 katroka. Ary apetraho amin'ny filaharana izy ireo. Ary avy eo dia miroso izahay. Azonao atao izany amin'ny kofehy maromaro.

Amin'ny tetika voalohany ihany koa, raha ny marina, azonao atao amin'ny kofehy maromaro izany. Tsy sarotra izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

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

Saingy misy fomba fiasa mangatsiatsiaka kokoa sy tsara kokoa. Ity no paikady fahatelo. Ary raha azo atao dia tsara kokoa ny misafidy izany. Manao izany izahay amin'ny alàlan'ny fanondroana manokana. Amin'ity tranga ity dia mety ho fanondroana araka ny toetry ny fako sy ID. Hampiditra ny ID izahay mba ho index index ihany mba tsy ho any amin'ny heap.

Amin'ny ankapobeny, ny index only scan dia haingana kokoa noho ny index scan.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ary hitanay haingana ny karapanondro tiana hesorina. BATCH_SIZE nofidinay mialoha. Ary tsy vitan'ny hoe mahazo azy ireo isika, mahazo azy ireo amin'ny fomba manokana ary avy hatrany dia hack. Mihidy anefa isika ka raha efa mihidy izy ireo dia tsy manidy azy fa mandroso ary maka ny manaraka. Ity dia natao ho an'ny fanavaozana skip locked. Ity endri-javatra super an'ny Postgres ity dia ahafahantsika miasa amina kofehy maromaro raha tiantsika. Azo atao amin'ny renirano iray izany. Ary eto dia misy CTE - fangatahana iray izany. Ary misy famafana tena misy ao amin'ny rihana faharoa amin'ity CTE ity - returning *. Afaka mamerina id ianao fa tsara kokoa *raha tsy manana data betsaka amin'ny andalana tsirairay ianao.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Nahoana isika no mila izany? Izany no tokony hamerenantsika tatitra. Efa nofafanay andalana maro be izao raha ny marina. Ary manana sisintany amin'ny ID na amin'ny famoronana_amin'ny toa izao izahay. Afaka manao min, max. Misy zavatra hafa azo atao. Afaka manao zavatra betsaka ianao eto. Ary tena mety amin'ny fanaraha-maso.

Misy fanamarihana iray hafa momba ny index. Raha manapa-kevitra isika fa mila indeksana manokana ho an'ity asa ity, dia mila ataontsika antoka fa tsy manimba ny fanavaozana tuples fotsiny izany. Izany hoe, manana antontan'isa toy izany ny Postgres. Izany dia azo jerena ao amin'ny pg_stat_user_tables ho an'ny latabatrao. Azonao jerena raha misy fanavaozana mafana ampiasaina na tsia.

Misy toe-javatra izay ahafahan'ny fanondroanao vaovao manapaka azy fotsiny. Ary manana ny fanavaozana hafa rehetra efa miasa ianao, miadana. Tsy hoe satria nipoitra ny index (ny index tsirairay dia mampiadana kely ny fanavaozana, fa kely), fa eto dia mbola manimba azy io. Ary tsy azo atao ny manao optimization manokana ho an'ity latabatra ity. Mitranga izany indraindray. Hafetsifetsena izay vitsy ny olona mahatsiaro izany. Ary ity rake ity dia mora ny hanitsaka. Indraindray dia mitranga fa mila mitady fomba avy amin'ny lafiny iray ianao ary mbola manao tsy misy an'io fanondroana vaovao io, na manao fanondroana hafa, na amin'ny fomba hafa, ohatra, azonao atao ny mampiasa ny fomba faharoa.

Fa ity no paika tsara indrindra, ny fomba fisarahana amin'ny batch sy ny tifitra amin'ny batch miaraka amin'ny fangatahana iray, famafana kely, sns.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Fitrandrahana lava https://gitlab.com/snippets/1890447

Autovacuum voasakana - https://gitlab.com/snippets/1889668

olana fanakanana - https://gitlab.com/snippets/1890428

Ny fahadisoana #5 dia lehibe. Nikolai avy ao Okmeter dia niresaka momba ny fanaraha-maso ny Postgres. Ny fanaraha-maso Ideal Postgres, indrisy, tsy misy. Misy akaiky kokoa, misy lavitra. Okmeter dia akaiky ny tonga lafatra, saingy betsaka ny tsy ampy ary mila ampiana. Mila mivonona amin'izany ianao.

Ohatra, ny tuple maty dia tsara indrindra hojerena. Raha betsaka ny zavatra maty ao anaty latabatra dia misy zavatra tsy mety. Aleo mihetsika izao, fa raha tsy izany dia mety hisy fahasimbana, dia afaka mandry isika. Mitranga izany.

Raha misy IO lehibe dia mazava fa tsy tsara izany.

Transaction lava be koa. Tsy tokony havela amin'ny OLTP ny fifampiraharahana lava. Ary ity misy rohy mankany amin'ny snippet izay ahafahanao maka an'io sombintsombiny io ary efa manao fanaraha-maso ny fifampiraharahana lava.

Nahoana no ratsy ny fifampiraharahana lava? Satria ny hidin-trano rehetra dia havoaka ihany amin'ny farany. Ary manakorontana ny rehetra izahay. Fanampin'izay, sakananay ny autovacuum ho an'ny latabatra rehetra. Tsy tsara mihitsy. Na dia efa navelanao aza ny fijanonana mafana amin'ny kopia, dia mbola ratsy ihany izany. Amin'ny ankapobeny, na aiza na aiza dia tsara kokoa ny misoroka ny fifampiraharahana lava.

Raha manana latabatra maro tsy misy vacuum isika dia mila manana fanairana. Eto dia azo atao ny toe-javatra toy izany. Mety hisy fiantraikany ankolaka ny fiasan'ny autovacuum. Sombiny avy amin'i Avito ity, izay nohatsaraiko kely. Ary hita fa fitaovana mahaliana hijerena izay ananantsika amin'ny autovacuum. Misy latabatra, ohatra, miandry eo ary tsy miandry ny anjarany. Mila mametraka izany amin'ny fanaraha-maso ihany koa ianao ary manana fanairana.

Ary mamoaka sakana. Alan'ny hazo sakana. Tiako ny maka zavatra amin'olona ary manatsara izany. Eto, ny Data Egret dia naka CTE recursive mangatsiatsiaka izay mampiseho ala misy hazo mihidy. Ity dia fitaovana diagnostika tsara. Ary amin'ny fototra dia azonao atao ihany koa ny manangana fanaraha-maso. Tsy maintsy atao amim-pitandremana anefa izany. Mila manao fanambarana_fotoana kely ho anao ianao. Ary ilaina ny lock_time out.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Indraindray ireo fahadisoana rehetra ireo dia mitranga amin'ny fitambarany.

Raha ny hevitro dia ny fandaminana no tena lesoka eto. Fandaminana izany, satria tsy misintona ny teknika. Ity no laharana faha-2 - nojeren'izy ireo tany amin'ny toerana tsy mety.

Diso toerana izahay, satria tsy nanana clone famokarana, izay mora jerena. Mety tsy mahazo miditra amin'ny famokarana mihitsy ny developer iray.

Ary tsy nanamarina izahay. Raha nijery tany izahay dia ho nahita izany ny tenanay. Ny mpamorona dia nahita izany rehetra izany na dia tsy nisy DBA aza raha nanamarina izany tamin'ny tontolo tsara izy, izay misy angon-drakitra mitovy sy toerana mitovy. Ho hitany izany faharatsiana rehetra izany ka ho menatra izy.

Bebe kokoa momba ny autovacuum. Rehefa avy nanao famafana an-tapitrisany maro isika dia mbola mila manao REPACK. Zava-dehibe indrindra ho an'ny index izany. Ho ratsy fanahy izy ireo rehefa avy nodiovinay ny zava-drehetra tao.

Ary raha te hamerina ny asa fanadiovana isan'andro ianao, dia manoro hevitra aho ny hanao izany matetika kokoa, fa kely kokoa. Mety indray mandeha isa-minitra izany na matetika kokoa aza. Ary mila manara-maso zavatra roa ianao: tsy misy hadisoana ity zavatra ity ary tsy mihemotra. Ny fika nasehoko dia hamaha izany fotsiny.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Ny ataonay dia open source. Navoaka tao amin'ny GitLab izany. Ary ataonay izany mba ahafahan'ny olona manamarina na dia tsy misy DBA aza. Manao laboratoara database izahay, izany hoe antsoina hoe singa fototra izay iasan'i Joe amin'izao fotoana izao. Ary afaka maka kopia famokarana ianao. Ankehitriny dia misy ny fampiharana an'i Joe ho an'ny slack, azonao atao ny miteny hoe: "hazavao ny fangatahana toy izany sy izany" ary alao avy hatrany ny valiny ho an'ny dika mitovy amin'ny angon-drakitrao. Afaka DELETE mihitsy aza ianao ao, ary tsy hisy hahatsikaritra izany.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Aoka hatao hoe manana terabytes 10 ianao, manao lab database 10 koa izahay. Ary miaraka amin'ny angon-drakitra 10 terabyte miaraka, mpamorona 10 dia afaka miasa miaraka. Afaka manao izay tiany ny tsirairay. Afaka mamafa, mandatsaka, sns. Tena nofinofy izany. Hiresaka momba izany isika rahampitso.

Ry DELETE malala. Nikolay Samokhvalov (Postgres.ai)

Izany dia antsoina hoe famatsiana manify. Fanomezana an-kolaka izany. Ity dia karazana fantasy izay manala tanteraka ny fahatarana amin'ny fampandrosoana, amin'ny fitsapana ary mahatonga an'izao tontolo izao ho toerana tsara kokoa amin'io lafiny io. Izany hoe, mamela anao hisoroka olana amin'ny asa betsaka.

Ohatra: angon-drakitra 5 terabyte, mahazo kopia ao anatin'ny 30 segondra latsaka. Ary tsy miankina amin'ny habeny akory izany, izany hoe tsy mampaninona ny isan'ny terabytes.

Androany dia afaka mandeha any postgres.ai ary diniho ny fitaovantsika. Azonao atao ny misoratra anarana hahitana izay misy ao. Azonao atao ny mametraka ity bot ity. Maimaimpoana izany. Manorata.

Ny fanontanianao

Matetika amin'ny toe-javatra tena izy dia hita fa ny angon-drakitra tokony hijanona eo amin'ny latabatra dia kely kokoa noho izay tokony hofafana. Izany hoe, amin'ny toe-javatra toy izany, dia matetika no mora kokoa ny mampihatra fomba toy izany, rehefa mora kokoa ny mamorona zavatra vaovao, mandika afa-tsy ny angona ilaina ao, ary trunk ny latabatra taloha. Mazava fa ilaina ny fomba fiasa amin'izao fotoana izao, raha mbola hiova ianao. Ahoana izany fomba fiasa izany?

Ity dia fomba fiasa tena tsara ary asa tena tsara. Tena mitovy amin'ny ataon'ny pg_repack izy io, mitovy amin'ny tokony hataonao rehefa manao ID 4 bytes ianao. Firafitra maro no nanao izany taona vitsy lasa izay, ary ny takelaka ihany no nitombo, ary mila avadika ho 8 bytes izy ireo.

Tena sarotra io asa io. Nanao izany izahay. Ary mila mitandrina tsara ianao. Misy hidim-baravarana sns fa efa vita. Izany hoe, ny fomba fiasa mahazatra dia ny mandeha amin'ny pg_repack. Manambara marika toy izany ianao. Ary alohan'ny hanombohanao mampiditra angona snapshot ao anatiny, dia manambara takelaka iray ihany koa ianao izay manara-maso ny fiovana rehetra. Misy tetika mety tsy hanarahanao ny fanovana sasany. Misy subtleties. Ary avy eo dia mifamadika ianao amin'ny alàlan'ny fanovana fanovana. Hisy fiatoana kely rehefa hanakatona ny rehetra, fa amin’ny ankapobeny dia atao izany.

Raha mijery ny pg_repack ao amin'ny GitHub ianao, dia teo, rehefa nisy asa hanovana ID avy amin'ny int 4 ho int 8, dia nisy hevitra hampiasa ny pg_repack mihitsy. Azo atao ihany koa izany, fa somary hack ihany, fa hiasa amin'izany koa. Azonao atao ny miditra an-tsehatra amin'ny trigger ampiasain'ny pg_repack ary miteny hoe: "Tsy mila an'io data io izahay", izany hoe mamindra izay ilaintsika fotsiny. Dia mifamadika fotsiny izy dia izay.

Miaraka amin'io fomba fiasa io, dia mbola mahazo kopia faharoa amin'ny latabatra isika, izay efa voarakitra an-tsoratra ny angon-drakitra ary voatahiry tena mitovy amin'ny fanondroana tsara tarehy.

Tsy misy ny bloat, fomba fiasa tsara izany. Saingy fantatro fa misy ny fikasana hamolavola automatique amin'izany, izany hoe manao vahaolana manerantany. Afaka mifandray aminao amin'ity automation ity aho. Voasoratra amin'ny Python izy io, izay zavatra tsara.

Somary avy amin'ny tontolon'ny MySQL aho, ka tonga hihaino. Ary mampiasa an'io fomba io izahay.

Saingy raha tsy manana 90% isika. Raha manana 5% isika dia tsy dia tsara loatra ny mampiasa azy.

Misaotra tamin'ny tatitra! Raha tsy misy loharanon-karena hanaovana dika mitovy amin'ny prod, misy algorithm na formula ho kajy ny entana na ny habeny?

Fanontaniana tsara. Hatreto dia afaka mahita angon-drakitra maro-terabyte isika. Na dia tsy mitovy aza ny hardware any, ohatra, kely ny fitadidiana, kely kokoa ny processeur ary ny disks dia tsy mitovy, fa mbola ataontsika ihany. Raha tsy misy na aiza na aiza dia mila mieritreritra ianao. Avelao aho hieritreritra mandra-pahatongan'ny ampitso, tonga ianao, hiresaka isika, fanontaniana tsara izany.

Misaotra tamin'ny tatitra! Nanomboka teo aloha ianao fa misy Postgres mangatsiaka, izay manana fetra toy izany, saingy mivoatra. Ary izany rehetra izany dia tohanana amin'ny ankapobeny. Moa ve izany rehetra izany tsy mifanohitra amin'ny fivoaran'ny Postgres mihitsy, izay hisehoan'ny DELETE deferent na zavatra hafa tokony hitazona amin'ny ambaratonga ambany izay ezahantsika hosoratana amin'ny fomba hafahafa ataontsika eto?

Raha nilaza tamin'ny SQL izahay fa hamafa na hanavao ny rakitra maro amin'ny fifanakalozana iray, dia ahoana no ahafahan'ny Postgres mizara izany any? Voafetra ara-batana izahay amin'ny asa. Mbola hanao izany isika mandritra ny fotoana maharitra. Ary hihidy izahay amin'io fotoana io, sns.

Vita amin'ny fanondroana.

Azoko eritreretina fa mety ho mandeha ho azy ihany koa ny fanamafisam-peo mitovy. Indray andro any dia mety ho izany. Fa avy eo tsy azoko loatra ilay fanontaniana.

Ny fanontaniana dia hoe, misy ve ny fivoaran'ny fampandrosoana izay mandeha etsy sy eroa, ary ny anao dia mifanitsy? Ireo. Mbola tsy nieritreritra izany ve izy ireo?

Niresaka momba ireo fitsipika azo ampiasaina ankehitriny aho. Misy bot hafa Nancy, miaraka amin'izany dia azonao atao ny manara-maso automatique. Ho any amin'ny Postgres ve izany indray andro any? Tsy haiko, tsy mbola voaresaka akory. Mbola lavitra an’izany isika. Misy mpahay siansa anefa manao rafitra vaovao. Ary nanosika antsika ho amin'ny index automatique izy ireo. Misy ny fivoarana. Ohatra, azonao atao ny mijery ny auto tuning. Mifidy paramètre ho azy izy io. Saingy mbola tsy hanao fanitsiana ho anao izy. Izany hoe, haka ho an'ny fampisehoana, buffer shell, sns.

Ary ho an'ny fanamafisam-peo dia azonao atao izao: raha manana cluster arivo sy fitaovana samihafa ianao, milina virtoaly samihafa ao amin'ny rahona, azonao atao ny mampiasa ny bot. Nancy manao automatique. Ary ny max_wal_size dia hofantenana araka ny firafitry ny tanjonao ho azy. Saingy hatramin'izao dia tsy dia akaiky loatra izany, indrisy.

Salama Niresaka momba ny loza ateraky ny fifampiraharahana maharitra ianao. Nilaza ianao fa voasakana ny autovacuum raha misy famafana. Inona koa no manimba antsika? Satria miresaka bebe kokoa momba ny fanafahana toerana sy ny fahafahana mampiasa izany. Inona koa no tsy ampy?

Mety tsy ny Autovacuum no olana lehibe indrindra eto. Ary ny zava-misy fa ny fifampiraharahana lava dia afaka manidy ny fifampiraharahana hafa, mety hampidi-doza kokoa izany. Mety hihaona izy na tsia. Raha nihaona izy, dia mety ho tena ratsy izany. Ary amin'ny autovacuum - olana ihany koa izany. Misy olana roa amin'ny fifampiraharahana lava amin'ny OLTP: hidin-trano sy autovacuum. Ary raha manana fanehoan-kevitra mafana amin'ny alàlan'ny replica ianao, dia ho tonga amin'ny tompony ihany koa ny hidin-trano autovacuum, ho tonga avy amin'ny kopia. Fa farafaharatsiny tsy hisy hidy. Ary hisy loks. Miresaka momba ny fiovan'ny angon-drakitra isika, noho izany dia teboka manan-danja eto ny hidin-trano. Ary raha izany rehetra izany mandritra ny fotoana maharitra, dia mihamaro ny fifampiraharahana voahidy. Afaka mangalatra ny hafa izy ireo. Ary mipoitra ny hazo lok. Nomeko rohy mankany amin'ny sombintsombiny. Ary ity olana ity dia lasa miharihary haingana kokoa noho ny olana amin'ny autovacuum, izay tsy afaka miangona fotsiny.

Misaotra tamin'ny tatitra! Nanomboka ny tatitrao ianao tamin'ny filazanao fa diso ny fitsapanao. Nanohy ny hevitray izahay fa mila maka fitaovana mitovy, miaraka amin'ny fototra mitovy. Andeha atao hoe nanome fototra ny mpamorona. Ary nekeny ny fangatahana. Ary toa salama tsara izy. Saingy tsy mijery mivantana izy, fa amin'ny live, ohatra, manana entana 60-70% izahay. Ary na dia mampiasa an'io fanamafisam-peo io aza isika dia tsy mandeha tsara.

Zava-dehibe ny fananana manam-pahaizana ao amin'ny ekipa ary mampiasa manam-pahaizana DBA izay afaka maminavina izay hitranga amin'ny enta-mavesatra tena izy. Rehefa avy nitondra ny fiovana madio izahay dia hitanay ilay sary. Saingy fomba fiasa mandroso kokoa, rehefa nanao zavatra mitovy indray izahay, fa miaraka amin'ny enta-mavesatra natao simulate tamin'ny famokarana. Tena mahafinaritra. Mandra-pahatongan'izany dia tsy maintsy mihalehibe ianao. Toy ny olon-dehibe. Nijery izay anananay fotsiny izahay ary nijery ihany koa raha ampy ny loharanon-karena. Fanontaniana tsara izany.

Rehefa efa manao safidin'ny fako isika dia manana, ohatra, saina voafafa

Izany no ataon'ny autovacuum ho azy ao amin'ny Postgres.

Oh, manao izany ve izy?

Autovacuum no mpanangona fako.

Misaotra anao!

Misaotra tamin'ny tatitra! Misy safidy hamolavola avy hatrany ny angon-drakitra miaraka amin'ny fisarahana amin'ny fomba izay hahatonga ny fako rehetra ho maloto manomboka amin'ny latabatra lehibe any ho any amin'ny sisiny?

Mazava ho azy fa manana.

Azo atao ve ny miaro tena raha nanidy latabatra tsy tokony hampiasaina?

Mazava ho azy fa manana. Fa toy ny fanontaniana akoho sy atody. Raha fantatsika rehetra izay hitranga amin'ny ho avy, dia mazava ho azy fa hanao ny zava-drehetra mangatsiaka. Saingy miova ny orinasa, misy tsanganana vaovao, fangatahana vaovao. Ary avy eo - oops, te hanala azy izahay. Fa io toe-javatra tonga lafatra io, eo amin'ny fiainana dia mitranga, fa tsy foana. Saingy amin'ny ankapobeny dia hevitra tsara izany. Tapaho fotsiny dia izay.

Source: www.habr.com

Add a comment