Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

I se aso i le lumanaʻi mamao, o le aveeseina otometi o faʻamatalaga le manaʻomia o le a avea ma se tasi o galuega taua a le DBMS [1]. I le taimi nei, tatou te manaʻomia le vaʻaia lelei o le tapeina poʻo le faʻanofoina o faʻamatalaga e le manaʻomia i faiga faʻapipiʻi taugofie. Fa'apea e te filifili e tape le tele o laina. O se galuega faigofie, aemaise lava pe a iloa le tulaga ma o loʻo i ai se faasino igoa talafeagai. "TA'E MAI LE laulau1 WHERE col1 = :value" - o le a se mea e sili atu ona faigofie, sa'o?

Vitio:

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

  • Sa ou i ai i le komiti o polokalame Highload talu mai le tausaga muamua, o lona uiga talu mai le 2007.

  • Ma sa ou i ai ma Postgres talu mai le 2005. Fa'aaogaina i le tele o galuega faatino.

  • O le vaega sa i ai foi ma RuPostges talu mai le 2007.

  • Ua matou tuputupu aʻe i le 2100+ tagata auai i le Meetup. O le tulaga lona lua lea i le lalolagi pe a uma Niu Ioka, ua uma ona manumalo ia San Francisco i se taimi ua leva.

  • Sa ou nofo i Kalefonia mo ni nai tausaga. Ou te galue tele i kamupani Amerika, e aofia ai kamupani tetele. O i latou o loʻo faʻaaogaina Postgres malosi. Ma o ituaiga uma o mea manaia e tulai mai iina.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

https://postgres.ai/ - o la'u kamupani lenei. O lo'o matou i ai i le pisinisi o galuega fa'aautomatika e fa'aitiitia ai le fa'agesegese o atina'e.

Afai e te faia se mea, o nisi taimi o loʻo i ai ni faʻalavelave i le Postgres. Fa'apea e tatau ona e fa'atali se'ia maua e le pule se nofoa su'ega, pe e te fa'atali se'i tali mai le DBA ia te oe. Ma matou te mauaina ia faʻalavelave i le atinaʻeina, suʻega ma le pulega ma taumafai e faʻaumatia i latou i le faʻaaogaina o masini ma auala fou.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

Sa ou i ai talu ai nei i le VLDB i Los Angeles. Ole tele lea o fa'amaumauga fa'amaumauga. Ma sa i ai se lipoti o le a le gata ina teuina e DBMS i le lumanaʻi, ae otometi foi ona tape faʻamaumauga. O se autu fou lenei.

O lo'o fa'ateleina fa'amaumauga i le lalolagi. Zetabytes e 1 petabytes. Ma o lea ua uma ona fuafuaina e sili atu nai lo le 000 zettabytes o faʻamaumauga o loʻo teuina i le lalolagi. Ma e tele ma sili atu i latou.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

Ae o le a le mea e fai i ai? E manino lava e tatau ona tape. Ole so'oga lea ile lipoti manaia. Ae e oʻo mai i le taimi nei e leʻi faʻatinoina i le DBMS.

O i latou e iloa faitau tupe e manaʻo i mea e lua. Latou te mananaʻo matou te tapeina, o lona uiga faʻapitoa e tatau ona matou mafaia.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O le mea o le a ou taʻuina atu o se tulaga faʻapitoa e aofia ai le tele o tulaga moni, o lona uiga, o se tuʻufaʻatasiga o le mea moni na tupu ia te aʻu ma faʻamaumauga lata ane i le tele o taimi, tele tausaga. O sau i soo se mea ma e laa i luga e tagata uma i taimi uma.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Se'i faapea o lo'o i ai so tatou fa'avae po'o nisi fa'avae o lo'o tuputupu a'e. Ma o nisi o fa'amaumauga e manino lava o lapisi. Mo se faʻataʻitaʻiga, na amata ona faia e le tagata faʻaoga se mea iina, ae leʻi maeʻa. Ma ina ua mavae sina taimi ua tatou iloa o lenei galuega e leʻi maeʻa e le mafai ona toe teuina. O lona uiga, matou te mananaʻo e faʻamama ni mea leaga e faʻasaoina avanoa, faʻaleleia le faʻatinoga, ma isi.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

I se tulaga lautele, o le galuega o le otometi le tapeina o mea faʻapitoa, laina faʻapitoa i se laulau.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ma e i ai le matou talosaga o le a tatou talanoa i ai i lenei aso, o lona uiga, e uiga i le aveeseina o lapisi.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Na matou talosagaina se tagata faʻapitoa faʻapitoa e faia lenei mea. Na ia talia lenei talosaga, siaki ia lava - e aoga mea uma. Na ou fa'ata'ita'iina ile fa'atulagaina - o lo'o lelei mea uma. Fa'asolo - e aoga mea uma. E tasi i le aso matou te faia lenei mea - o loʻo lelei mea uma.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O loʻo faʻatupulaia ma faʻatupulaia le faʻamaumauga. Ole DELETE i aso ta'itasi e amata ona fa'agesegese.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ona matou iloa ai lea ua avea nei i matou ma kamupani maketi ma o le a tele taimi e sili atu ai le feoaiga, o lea matou te filifili ai e taofi mo sina taimi mea e le tatau ai. Ma ua galo ia i tatou e toe faafoi mai.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

I ni nai masina mulimuli ane na latou manatua ai. Ma na fa'amuta le fa'atupuina pe sa pisi i se isi mea, na latou tofia se isi e toe fa'afo'i.

Na ia siaki i luga o le dev, i luga o le faʻatulagaina - o loʻo lelei mea uma. E masani lava, e manaʻomia pea ona e faʻamamā mea na faʻaputuina. Na ia siaki, e aoga mea uma.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O le a le mea e sosoo ai? Ona malepe ai lea o mea uma mo i tatou. E pa'u tele ma e i ai se taimi e pa'u ai mea uma. Ua faateia tagata uma, e leai se tasi e malamalama i le mea o loo tupu. Ona aliali mai lea o le DELETE lea o le mataupu.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Sa iai se mea na tupu? O le lisi lea o mea e ono fa'aletonu. O fea o nei mea e sili ona taua?

  • Mo se faʻataʻitaʻiga, e leai se iloiloga, o lona uiga e leʻi vaʻai le tagata tomai faapitoa i le DBA. Faatasi ai ma se mata poto masani, o le a vave ona ia mauaina le faafitauli, ma e le gata i lea, e mafai ona ia maua le prod, lea na faaputuputu ai le tele o miliona laina.

  • Atonu na latou siakiina se mea sese.

  • Masalo o meafaigaluega ua tuai ma e tatau ona e faʻaleleia lenei faʻamaumauga.

  • Po o se mea e sese i le database lava ia, ma e manaʻomia ona matou siitia mai Postgres i MySQL.

  • Pe atonu foi e iai se mea o faaletonu i le taotoga.

  • Masalo o loʻo i ai ni mea sese i le faʻatulagaina o galuega ma e manaʻomia ona e faʻamalo se tasi ma faʻafaigaluegaina tagata sili atu?

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E leai se siaki a le DBA. Afai ei ai se DBA, o le a ia vaʻai i nei miliona miliona ma e tusa lava pe leai ni faʻataʻitaʻiga e fai mai: "Latou te le faia lena mea." Seʻi tatou fai atu pe a fai o lenei code i GitLab, GitHub ma sa i ai se faʻasologa o iloiloga tulafono ma e leai se mea e aunoa ma le faʻatagaina o le DBA o le a faia lenei taʻaloga i luga o le prod, e manino lava o le a fai mai le DBA: "E le mafai ona e faia lena mea. ”

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ma o le a ia fai mai o le ai ai sau faʻafitauli i le disk IO ma o gaioiga uma o le a faʻavalevalea, atonu o loʻo i ai loka, ma o le ae poloka foi le autovacuum mo le tele o minute, o lea e le lelei.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

O le mea sese lona lua o le latou siaki i le nofoaga sese. Na matou vaʻai i le mea moni o le tele o faʻamaumauga lapisi na faʻaputuina i luga o le prod, ae e leʻi faʻaputuina e le tagata atiaʻe faʻamaumauga i totonu o lenei faʻamaumauga, ma e leai se tasi na faia moni lenei lapisi i luga o le faʻatulagaina. E tusa ai, e 1 laina, lea na vave ona maeʻa.

Matou te malamalama e vaivai a matou suʻega, o lona uiga o le faagasologa o loʻo fausia e le maua ai faʻafitauli. E le'i faia se su'ega DB talafeagai.

O se fa'ata'ita'iga lelei e tatau ona fa'atino i luga o masini lava e tasi. E le o taimi uma e mafai ai ona faia lenei mea i luga o meafaigaluega tutusa, ae e taua tele o se kopi atoa o le database. O le mea lenei sa ou talaʻia mo le tele o tausaga i le taimi nei. Ma o le tausaga talu ai na ou talanoa ai e uiga i lenei mea, e mafai ona e matamata uma ile YouTube.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Atonu e leaga a tatou meafaigaluega? A e va'ai, ua oso le leo. Na matou vaʻaia o le toe faʻaaogaina o le 100%. Ioe, afai o nei taʻavale NVMe faʻaonaponei, atonu o le a sili atu ona faigofie mo i tatou. Ma atonu tatou te le taooto i lalo ona o lena mea.

Afai e iai au ao, e faigofie le faʻaleleia. Na matou fa'alauiloa fa'atusa fou i masini fou. Suiga. Ma ua lelei mea uma. Faigofie faigofie.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E mafai ona pa'i atu i tisiki laiti? Ma o iinei, faatasi ai ma le fesoasoani a le DBA, matou te maulu i se autu e taʻua o siaki siaki. E foliga mai matou te leʻi faia le faʻaogaina o siaki.

O le a le mea e siaki ai? E maua lea i so'o se DBMS. Pe a suia faʻamatalaga i lou mafaufau, e le vave tusia i tisiki. O faʻamatalaga ua suia faʻamatalaga e muamua tusia i le ogalaau i luma, i le ogalaau tusitusi i luma. Ma i se taimi, e filifili le DBMS ua oʻo i le taimi e togi ai itulau moni i luga o le disk, ina ia afai tatou te toilalo, e mafai ona tatou faia faʻaitiitia REDO. E pei o se meataalo. Afai tatou te fasiotia, o le a tatou amataina le taaloga mai le siaki mulimuli. Ma o DBMS uma e faʻatinoina lenei mea.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Fa'atonu i Postgres ua tuai. Ua mamanuina mo le 10-15 tausaga le matutua o faʻamaumauga ma faʻatinoga. Ma e leai se tuusaunoaga o le nofoaga e siaki ai.

O lenei faʻamatalaga e mai i la matou lipoti faʻatasi ma Postgres siaki, o lona uiga o le siakiina o le soifua maloloina otometi. Ma o nisi nei o faʻamaumauga o le tele o terabytes. Ma e manino lava o siaki e faʻamalosia i le toeitiiti 90% o mataupu.

O le a le uiga? E lua tulaga iina. E mafai ona tupu le siaki ile taimi e malolo ai, mo se faʻataʻitaʻiga, ile 10 minute. Pe atonu e tupu pe a fai si tele o faʻamatalaga ua faʻatumu.

Ma e le mafai, max_wal_saze ua seti i le 1 gigabyte. O le mea moni, e tupu moni lava lenei mea i Postgres pe a uma le 300-400 megabytes. Ua e suia le tele o faʻamatalaga ma e iai sau siaki.

Ma afai e leai se tasi na faʻalogo i ai, ae ua faʻatupulaia le tautua, ma maua ai e le kamupani le tele o tupe, e tele naua fefaʻatauaiga, ona fai lea o le siaki e tasi i le minute, o nisi taimi e tasi i le 30 sekone, ma o nisi taimi e oʻo ai le tasi i le isi. . E matua leaga lava lenei mea.

Ma e tatau ona tatou mautinoa e faʻaitiitia ona oʻo mai. O lona uiga, e mafai ona matou si'itia max_wal_size. Ma o le a ia osofaia soo.

Ae ua matou atiina ae se metotia atoa i le auala e sili atu ona saʻo lenei mea, o lona uiga, pe faʻapefea ona faia filifiliga e uiga i le filifilia o faʻatulagaga, faʻavae manino i luga o faʻamatalaga patino.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E tusa ai, matou te faia ni fa'asologa e lua o su'ega fa'amaumauga.

Fa'asologa muamua - matou te suia max_wal_size. Ma matou faia se gaioiga tele. Muamua tatou te faia i le tulaga faaletonu o le 1 gigabyte. Ma matou faia se TELE tele tele o le tele o miliona o laina.

E mafai ona e vaai i le faigata ia i matou. Matou te vaʻai i le disk IO e leaga tele. Se'i va'ai pe fia le tele o le WAL na tatou fa'atupuina, aua e taua tele. Se'i vaai pe faafia ona tupu le siaki. Ma ua tatou vaai e le lelei.

O le isi matou fa'ateleina le max_wal_size. Matou te toe fai atu. Faateleina, toe fai. Ma le tele o taimi. I le mataupu faavae, 10 points e lelei, lea 1, 2, 4, 8 gigabytes. Ma tatou tilotilo i amioga a se faiga faʻapitoa. E manino lava o meafaigaluega iinei e tatau ona pei o le prod. E tatau ona i ai sau tisiki tutusa, tutusa le aofaʻi o mea e manatua, ma faʻatulagaina Postgres tutusa.

Ma i lenei auala o le a tatou fesuiai ai la tatou faiga, ma tatou iloa le auala o le a amio ai le DBMS i le tulaga o se tele leaga DELETE, pe faapefea ona siaki.

Checkpoint i le gagana Rusia o lona uiga o nofoaga e pulea.

Fa'ata'ita'iga: TA'E fia miliona laina ile fa'asinomaga, o laina e "fa'asalalauina" i itulau uma.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O se fa'ata'ita'iga lenei. O se faavae lea. Ma faatasi ai ma le tulaga faaletonu o le 1 gigabyte mo max_wal_size, e matua manino lava o matou tisiki mo le pueina e alu i le fata. O lenei ata o se faʻailoga masani o se gasegase maʻi, o lona uiga, na ia lagona le leaga. Ma e na'o le tasi lava le taotoga, o lea na'o le TA'E o le tele o miliona laina.

Afai e fa'ataga se taotoga fa'apea i le prod, o le a na'o tatou pauu i lalo, aua e manino lava e tasi le DELETE e fasiotia i tatou i le fata.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E le gata i lea, pe a iai le 16 gigabytes, e mafai ona e vaʻai ua amata ona aliali mai nifo. O nifo ua uma ona lelei, o lona uiga o loʻo matou tuʻituʻi i luga o le faʻalo, ae le leaga tele. Na aliali mai ai sina saolotoga itiiti iina. I le itu taumatau o lo'o i ai le lipine. Ma o le numera o gaioiga o le kalafi lona lua. Ma e manino lava ua uma ona tatou manava i le 16 gigabytes.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ma o fea 64 gigabytes o loʻo vaʻaia, ua sili atu le lelei. Ua uma ona iloa lelei nifo, e tele avanoa e ola ai i isi gaioiga ma faia se mea i le disk.

Aisea ua faapena ai

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O le a ou suʻesuʻeina faʻamatalaga, ae o lenei autu o le faʻaogaina o le siaki siaki e mafai ona iʻu i se lipoti atoa, o lea o le a ou le oʻo atu i auiliiliga, ae o le a ou otootoina atu mea faigata o loʻo i ai.

Afai e masani ona tupu le siaki, ma matou te le faʻafouina a matou laina faʻasolosolo, ae maua i latou i le faasino igoa, e lelei, aua matou te le tapeina le laulau atoa, ona tupu ai lea na matou paʻi muamua i le itulau muamua, ona sosoo ai lea ma le afe, ona toe foi atu lea i le muamua . Ma afai i le va o nei asiasiga i le itulau muamua o le siaki siaki ua uma ona teuina i le tisiki, ona toe faʻasaoina lea, aua ua tatou palapala i le taimi lona lua.

Ma o le a matou faʻamalosia le siaki e faʻasaoina i le tele o taimi. E pei o loʻo i ai galuega faʻaalu mo ia.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ae e le na o le pau lena. I Postgres, itulau e 8 kilobytes, ma i Linux 4 kilobytes. Ma o loʻo i ai se seti full_page_writes. E mafai ona fa'aletonu. Ma e sa'o lea, aua afai tatou te tapeina, e i ai se tulaga lamatia afai e i ai se faaletonu, e na o le afa o le itulau o le a faasaoina.

O le amio o le ulufale i totonu o le WAL o le ogalaau i luma e faapea pe a i ai se siaki siaki ma tatou suia se itulau mo le taimi muamua, o le itulau atoa, o lona uiga, 8 kilobytes uma, e iu i le ogalaau i luma, e ui lava na o matou. suia se laina e 100 paita le mamafa . Ma ua faamalosia i matou e tusi i lalo le itulau atoa.

I suiga mulimuli ane o le ai ai na o se tuple patino, ae mo le taimi muamua matou te tusia mea uma i lalo.

Ma, e tusa ai, afai e toe tupu le siaki, ona tatau lea ona tatou toe amata mea uma mai le amataga ma faʻapipiʻi le itulau atoa. Faatasi ai ma siaki masani, pe a tatou savavali i itulau lava e tasi, full_page_writes = on o le a sili atu nai lo le mea e mafai, o lona uiga tatou te gaosia atili WAL. E tele mea e lafo i kopi, i le archive, i le disk.

Ma, e tusa ai, e lua a matou toe faʻaaogaina.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Afai tatou te faateleina le max_wal_size, e foliga mai tatou te faafaigofieina le galuega a le siaki ma le tusitala wal. Ma e manaia tele.

Tatou fa'apipi'i se terabyte ma ola ai. O le a le leaga o lea mea? E leaga lea mea, aua a faaletonu o le a tatou tutu i luga mo itula, aua o le siaki ua leva ma ua tele suiga. Ma e tatau ona tatou faia REDO mo nei mea uma. Ma o lea o loʻo matou faia se faʻasologa lona lua o faʻataʻitaʻiga.

Matou te faia le taʻaloga ma vaʻai pe a latalata le siaki siaki, matou te faia se fasiotiga -9 Postgres i le faʻamoemoe.

Ma a maeʻa lena, matou te toe amata, ma vaʻai pe o le a le umi e alu i luga o lenei meafaigaluega, o lona uiga, o le a le tele o le REDO o le a faia i lenei tulaga leaga.

O le a ou matauina faalua e leaga le tulaga. Muamua, na matou pa'u'ū i luma tonu o le fa'ai'uga o le nofoaga e siaki ai, o lea e tele a matou mea e leiloa. Ma lona lua, sa matou faia se taotoga tele. Ma afai e malolo nofoaga siaki, e foliga mai e itiiti le WAL na maua talu mai le siaki mulimuli. O lona uiga, e faalua ona faiaina.

Matou te fuaina lenei tulaga mo max_wal_size eseese ma malamalama afai o le max_wal_size e 64 gigabytes, ona i ai lea i se tulaga sili ona leaga-lua o le a tatou tulaʻi mo le 10 minute. Ma matou te mafaufau pe fetaui lenei mea ia i matou pe leai. Ose mataupu tau pisinisi. E tatau ona tatou faaali atu lenei ata ia i latou e nafa ma filifiliga faapisinisi ma fesili atu: “O le a le umi e mafai ona tatou faatali ai pe a iai se faafitauli? E mafai ona ta taooto i lalo i se tulaga sili ona leaga mo le 3-5 minute?" Ma e te faia se filifiliga.

Ma o loʻo i ai se manatu manaia. E i ai ni a matou lipoti e uiga ia Patroni i le konafesi. Ma atonu o loʻo e faʻaaogaina. Ole autofailover lea mo Postgres. GitLab ma Data Egret na talanoa e uiga i lenei mea.

Ma afai e iai sau ta'avale ta'avale e tupu ile 30 sekone, atonu e mafai ona ta taooto i lalo mo le 10 minute? Aua o le taimi lenei o le a tatou sui i le kopi, ma o le a lelei mea uma. Ose mataupu fefinauai. Ou te le iloa se tali manino. Ua na ona ou lagona o lenei autu e le gata i le toe faaleleia o faalavelave.

Afai e umi se taimi tatou te toe malosi ai mai se toilalo, o le a tatou le toʻa i le tele o isi tulaga. Mo se faʻataʻitaʻiga, i faʻataʻitaʻiga tutusa, pe a tatou faia se mea ma o nisi taimi e tatau ona faʻatali mo le 10 minute.

O le a ou le alu mamao lava, tusa lava pe i ai sa matou ta'avale ta'avale. I le avea ai o se tulafono, o tau e pei o le 64, 100 gigabytes o ni tau lelei. O nisi taimi e aoga ai le filifili itiiti. I se tulaga lautele, o se faasaienisi poto.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ina ia faʻaalia, mo se faʻataʻitaʻiga, max_wal_size = 1, 8, e tatau ona e toe faia le tele o taimi. Na e faia. Ma e te manaʻo e toe fai i luga o le faavae lava e tasi, ae ua uma ona e tapeina mea uma. O le a le mea e fai?

O le a ou taʻu atu ia te oe i se taimi mulimuli ane e uiga i la matou fofo ma mea matou te faia e faʻaalia ai i ia tulaga. Ma o le auala sili lea ona saʻo.

Ae i lenei tulaga sa matou laki. Afai, e pei ona fai mai iinei "AMATA, TA'E, ROLLBACK", ona mafai lea ona tatou toe fai TA'E. O lona uiga, afai tatou te faaleaogaina e i tatou lava, ona mafai lea ona tatou toe faia. Ma fa'aletino o au fa'amatalaga o le ai ai iina. E te le maua lava se fulafula. E mafai ona e toe fa'ata'ita'i i lea DELETE.

O lenei DELETE ma le ROLLBACK e fetaui lelei mo le siakiina o nofoaga, e tusa lava pe leai ni au suʻesuʻega faʻamaumauga lelei.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Na matou faia se faʻailoga i le tasi koluma "i". Postgres ei ai koluma tautua. E le vaaia i latou se'i vagana ua talosagaina faapitoa. O mea nei: ctid, xmid, xmax.

Ctid o le tuatusi fa'aletino. Itulau zero, o le tuple muamua i le itulau.

E mafai ona iloa pe a uma le ROOLBACK na tumau le tuple i le nofoaga e tasi. O lona uiga, e mafai ona tatou toe taumafai, o le a amio tutusa. O le mea autu lea.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Xmax o le taimi e oti ai le tuple. Ua ulufale, ae ua iloa e Postgres o lenei fefaʻatauaʻiga na toe faʻafoʻi, o lea e le afaina pe o le 0 poʻo se fefaʻatauaʻiga toe foʻi. O lo'o ta'u mai ai e mafai ona fa'aoga le DELETE e fa'ata'ita'i ma fa'ata'ita'i le tele o fa'agaioiga o le faiga o faiga. E mafai ona e faia ni su'esu'ega fa'amaumauga mo e matitiva.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E faatatau lea i tagata fai polokalame. E uiga foi i le DBA, latou te otegia i taimi uma tagata fai polokalame mo lenei: "Aisea ua e faia ai ni gaioiga umi ma faigata?" E matua ese lava lenei mataupu fa'asaga. Sa iai muamua le pulega, a o le taimi nei o le a iai le atinae.

E manino lava tatou te le'i vaevaeina i ni vaega. E manino lava. E le mafai ona motusia sea DELETE mo le faitau miliona o laina i ni vaega. E 20 minute e fai ai, ma o le a taoto mea uma. Ae, o le mea e leaga ai, e oʻo lava i tagata atinaʻe poto masani e faia mea sese, e oʻo lava i kamupani tetele.

Aisea e taua ai le talepe?

  • Afai tatou te vaʻaia e faigata le tisiketi, ona tatou faʻagesegese lea. Ma afai tatou te malepelepe, ona mafai lea ona tatou faaopoopo ni taofi, e mafai ona tatou faʻagesegese le tootoo.

  • Ma o le a tatou le poloka isi mo se taimi umi. I nisi tulaga e le afaina, afai o loʻo e aveeseina lapisi moni e leai se tasi o loʻo galue i ai, o le a sili atu ona e le poloka se tasi sei vagana ai galuega a le autovacuum aua o le a faʻatali mo le faʻatauga e maeʻa. Ae afai e te tapeina se mea e ono talosagaina e se isi tagata, o le a poloka i latou, o le ai ai se ituaiga o filifili tali. E tatau ona aloese mai fefaʻatauaiga umi i luga o upega tafaʻilagi ma telefoni feaveaʻi.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

E manaia lenei. E masani ona ou vaai i tagata atiae o fesili, "O le a le tele o le pusa e tatau ona ou filifilia?"

E manino lava o le tele o le aofaʻi o le vaega, o le maualalo o le fefaʻatauaiga i luga o le ulu, o lona uiga o fefaʻatauaiga faaopoopo i luga. Ae i le taimi lava e tasi, o le taimi mo lenei fefaʻatauaiga e faʻateleina.

E i ai la'u tulafono faigofie lava: ave le tele e mafai ai, ae aua le sili atu i le faatinoga i le sekone.

Aisea e lua? O le faʻamatalaga e matua faigofie ma malamalama i tagata uma, e oʻo lava i tagata e le faʻapitoa. Ua tatou vaai i le tali. Tatou ave le 50 miliseconds. Afai ua iai se mea ua suia, o le a tali atu o tatou mata. Afai e itiiti, e sili atu ona faigata. Afai e tali mai se mea pe a uma le 100 milliseconds, mo se faʻataʻitaʻiga, na e kiliki i le isumu ma na tali atu ia te oe pe a uma le 100 milliseconds, ua uma ona e lagona le tuai laitiiti. O le lona lua ua uma ona iloa o se taofi.

E tusa ai, afai tatou te vaevaeina a tatou gaioiga tele i le 10-lua, ona tatou faʻalavelave lea o le a tatou poloka se tasi. Ma o le a aoga mo ni nai sekone, ma o le a matauina e tagata. O le mafuaaga lena ou te manao ai e aua le faia mo le sili atu nai lo le sekone. Ae i le taimi lava e tasi, aua le talepeina i lalo, aua o le fefaʻatauaiga i luga o le ulu o le a iloa. O le a sili atu le mamafa mo le faʻavae, ma e ono tulaʻi mai isi faʻafitauli eseese.

Matou te filifilia le tele o pusa. I tulaga taitasi e mafai ona tatou faia i se tulaga ese. E mafai ona otometi. Ma matou te talitonu i le lelei o le faʻaogaina o le tasi pusa. O lona uiga, matou te TA'E se tasi pusa po'o le UPDATE.

Ile auala, o mea uma ou te taʻu atu ia te oe e le gata ile DELETE. E pei ona e mateina, o soʻo se gaioiga tele i luga o faʻamaumauga.

Ma ua tatou vaai atu e lelei tele le fuafuaga. E mafai ona e va'ai fa'asino fa'asinomaga, e sili atu fa'asino fa'asinomaga na'o su'esu'ega. Ma o loʻo i ai sina vaega itiiti o faʻamatalaga e aofia ai. Ma o mea uma e galue i lalo ifo o le sekone. Super.

Ma e manaʻomia pea ona tatou mautinoa e leai se faʻaleagaina. E tupu o le vaega muamua e vave ona galue, ona atili ai lea ona leaga mea uma ma sili atu ona leaga. O le faʻagasologa e faʻapea e tatau ona e suʻeina tele. O le mea tonu lea e manaʻomia ai fale suʻesuʻe faʻamaumauga.

Ma e manaʻomia pea ona tatou saunia se mea ina ia mafai ai ona tatou mataʻituina lelei lenei mea i le gaosiga. Mo se faʻataʻitaʻiga, e mafai ona tatou tusia le taimi i le ogalaau, e mafai ona tatou tusia le mea o loʻo tatou i ai nei ma po o ai ua tatou tapeina nei. Ma o lenei mea o le a mafai ai ona tatou malamalama mulimuli ane i le mea o loʻo tupu. Ma afai e i ai se mea e faaletonu, vave sue le faafitauli.

Afai tatou te manaʻomia le siakiina o le lelei o fesili ma e manaʻomia ona tatou toe faʻateleina taimi, ona i ai lea o se mea e pei o se uso a bot. Ua uma ona sauni. E faʻaaogaina e le tele o atinaʻe i aso uma. Ma e mafai ona ia saunia se tele terabyte database pe a talosagaina i le 30 sekone, lau lava kopi. Ma e mafai ona e tapeina se mea iina ma fai atu RESET, ma toe tape. E mafai ona e faataitai i ai i lenei auala. Ua ou vaai i se lumanai i lenei mea. Ma o lea ua tatou faia lenei mea.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

O a auala e vaelua ai? Ou te vaʻaia 3 taʻiala vaeluaga eseese o loʻo faʻaogaina e le au atinaʻe i luga o le pusa.

O le mea muamua e matua faigofie lava. E iai a matou ID numera. Ma se'i o tatou vaevaeina i ni vaeluaga eseese ma galulue ai ma lena. E manino le pito i lalo. I le vaega muamua, atonu e 100 laina o lapisi moni, i le lona lua 5 laina pe leai, pe o le 1 laina uma o le a avea ma lapisi. E matua le tutusa galuega, ae faigofie ona malepe. Na latou ave le ID aupito maualuga ma talepe. O se faiga faavalevalea lea.

O le fuafuaga lona lua o se auala paleni. E faʻaaogaina i Gitlab. Sa matou ave ma su'e le laulau. Na matou mauaina le tuaoi o pusa ID ina ia tofu le pusa ma le 10 faʻamaumauga. Ma sa latou taofia aʻu i se ituaiga o laina. Ma matou fa'agasolo atili. E mafai ona e faia lenei mea i ni nai laina.

I le fuafuaga muamua, i le ala, e mafai foi ona e faia lenei mea i ni nai filo. E le faigata.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

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

Ae o loʻo i ai se auala sili atu ona lelei ma sili atu ona lelei. O le fuafuaga lona tolu lea. Ma pe a mafai, e sili atu le filifilia. Matou te faia lenei mea e faʻavae i luga o se faʻamatalaga faʻapitoa. I lenei tulaga, e foliga mai o se faasino igoa e faʻavae i luga oa tatou lapisi ma ID. O le a matou faʻapipiʻiina le ID ina ia naʻo se faʻasinomaga naʻo le suʻesuʻeina ina ia tatou le o atu i le faaputuga.

E masani lava, e sili atu le vave o le su'ega fa'asino nai lo le su'ega fa'asino.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Ma e vave ona maua a matou ID matou te mananaʻo e tape. Matou te filifilia muamua le BATCH_SIZE. Ma e le gata ina tatou mauaina, tatou te mauaina i se auala faapitoa ma vave ona faaleleia. Ae matou te lokaina i latou i se auala afai ua uma ona loka, matou te le lokaina, ae agai i luga ma ave isi. O le mea lea mo le fa'afou fa'amisi loka. O lenei Postgres super feature e mafai ai ona matou galulue i le tele o filo pe a matou manaʻo ai. Masalo i se filo e tasi. Ona iai lea o le CTE - e tasi le talosaga. Ma o loʻo i ai le matou aveeseina moni o loʻo tupu i luga o le fogafale lona lua o lenei CTE - returning *. E mafai ona e toe faafoi id, ae sili atu *, pe afai e itiiti au faʻamatalaga i laina taʻitasi.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Aisea tatou te manaomia ai lenei mea? Matou te manaʻomia lenei mea ina ia mafai ona lipotia. Ua matou tapeina nei le tele o laina i le mea moni. Ma o tatou tuaoi ile ID poʻo le created_at e pei o lenei. E mafai ona e faia min, max. E mafai ona fai se isi mea. E tele mea e mafai ona e fa'ato'ilalo ai iinei. Ma e faigofie tele lenei mea mo le mataʻituina.

E iai le isi fa'amatalaga e uiga i le fa'asinomaga. Afai tatou te filifili tatou te manaʻomia se faʻasinomaga faʻapitoa mo lenei galuega faʻapitoa, ona tatau lea ona tatou mautinoa e le faʻaleagaina na o tuples faʻafouga. O lona uiga, o Postgres e iai faʻamaumauga faapena. E mafai ona va'ai i le pg_stat_user_tables mo lau laulau. E mafai ona e vaʻai pe faʻaogaina faʻafouga vevela pe leai.

E i ai tulaga e ono tipi ese ai e lau fa'ailoga fou. Ma o isi fa'afouga uma o lo'o fa'agasolo o le a fa'agesegese. E le na'o le fa'aalia o le fa'asinomaga (fa'ailoga ta'itasi e fa'agesegese fa'afou fa'afou, ae na'o sina mea itiiti), ae o i'inei o le a fa'alavelave pea mea. Ma e le mafai ona faia faʻapitoa faʻapitoa mo lenei laulau. E tupu lenei mea i nisi taimi. O se togafiti poto lea e toaitiiti tagata e manatua. Ma e faigofie ona laa i luga o lenei rake. O nisi taimi e tupu ai e te manaʻomia le suʻeina o se auala mai le isi itu ma faia pea e aunoa ma lenei faʻailoga fou, pe faia se isi faʻasinomaga, pe faia se isi mea, mo se faʻataʻitaʻiga, e mafai ona e faʻaogaina le auala lona lua.

Ae o le taʻiala sili lea ona lelei, pe faʻafefea ona vaeluaina i ni vaega ma fana i vaega ma se talosaga e tasi, tape sina mea i le taimi, ma isi.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Feuaiga umi - https://gitlab.com/snippets/1890447

Ua poloka le masini masini https://gitlab.com/snippets/1889668

Fa'afitauli poloka https://gitlab.com/snippets/1890428

Sese #5 ose mea tele. Na talanoa Nikolay mai Okmeter e uiga i le mataʻituina o Postgres. Ae paga lea, e le o iai le mataʻituina lelei o Postgres. O nisi e latalata atu, o nisi e mamao. Ole Okmeter e latalata lava ina ia atoatoa, ae e tele mea o loʻo misi ma e manaʻomia ona faʻaopoopo. E tatau ona e sauni mo lenei mea.

Mo se faʻataʻitaʻiga, e sili atu le mataʻituina o tuple mate. Afai e tele au mea mate i lau laulau, o lona uiga o loʻo i ai se mea o loʻo tupu. E sili atu le tali atu nei, a leai atonu e i ai le leaga iina, ma e mafai ona tatou taooto i lalo. E tupu.

Afai ei ai se IO tele, o lona uiga e manino e le lelei lenei mea.

Feuaiga umi foi. E le tatau ona fa'atagaina fefa'atauaiga umi ile OLTP. Ma o se fesoʻotaʻiga lea i le snippet, lea e mafai ai e oe ona ave lenei snippet ma ua uma ona faia ni suʻesuʻega o fefaʻatauaiga umi.

Aisea e leaga ai fefaʻatauaiga umi? Aua o loka uma e na'o le faaiuga o le a tatalaina. Ma matou lokaina tagata uma. E le gata i lea, matou te poloka autovacuum mo laulau uma. E le lelei lava lenei mea. E tusa lava pe fa'aagaina lou tu'ititi vevela i luga o le fa'atusa, e leaga lava lea mea. I se tulaga lautele, e sili atu le aloese mai fefaʻatauaiga umi i soʻo se mea.

Afai e tele a tatou laulau e le o fa'amama, e tatau la ona i ai se mataala. O se tulaga faapena e mafai iinei. E mafai ona tatou a'afia fa'aletonu le fa'agaioiga o le autovacuum. O se snippet lenei mai Avito, lea na ou faʻaleleia teisi. Ma na faʻaalia o se mea faigaluega manaia e vaʻai ai mea tatou te maua i le autovacuum. Mo se faʻataʻitaʻiga, o loʻo i ai ni laulau o loʻo faʻatali iina ma latou te le faʻatali lo latou taimi. E manaʻomia foʻi ona e tuʻuina i le mataʻituina ma maua se mataala.

Ma tuuina atu poloka. Vaomatua o poloka laau. Ou te fiafia e ave se mea mai se tasi ma faaleleia. O iinei na ou ave ai se CTE toe faʻaleleia mai le Data Egret, o loʻo faʻaalia ai se vaomatua o laʻau loka. Ose mea lelei lea mo su'esu'ega. Ma e mafai foi ona fausia le mataituina i luga o lona faavae. Ae e tatau ona faia ma le faaeteete. E tatau ona e faia se fa'amatalaga la'ititi_timeout mo oe lava. Ma lock_time out e mana'omia.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O nisi taimi e tutupu faatasi uma nei mea sese.

I loʻu manatu, o le mea sese sili ona taua iinei o le faʻalapotopotoga. O le faʻalapotopotoga, aua e le aoga le tekinolosi. Ole numera 2 lea - na latou siaki ile nofoaga sese.

Matou te le'i siakiina iina ona e leai sa matou clone gaosiga e faigofie ona siaki. Atonu e le mafai ona maua e le tagata atia'e le gaosiga.

Ma sa matou siaki i le nofoaga sese. Ana latou siaki iina, semanu matou te vaai lava i ai. E mafai e le atinaʻe ona vaʻaia nei mea uma e tusa lava pe leai se DBA, pe afai na te siakiina i totonu o se siosiomaga lelei, lea e iai le aofaʻi tutusa o faʻamaumauga ma se faʻatulagaga tutusa. Semanu na te vaai i nei tulaga leaga uma ma semanu e maasiasi.

Fa'amatalaga atili e uiga i le vacuum ta'avale. A maeʻa ona matou faia se faʻamamaina tele o le tele o miliona laina, e manaʻomia lava ona matou faia se REPACK. E taua tele lenei mea mo fa'asino igoa. O le a latou lagona le le fiafia pe a uma ona matou faamamaina mea uma iina.

Ma afai e te manaʻo e toe faʻafoʻi mai le galuega i aso taʻitasi o le taʻavale, ona ou fautuaina lea e fai soo, ae laʻititi. E mafai ona tasi i minute uma pe sili atu foi i sina taimi. Ma e manaʻomia ona tatou mataʻituina mea e lua: o lenei mea e leai ni mea sese ma e le tuai. O le togafiti na ou faʻaalia o le a faʻatagaina oe e foia lenei mea.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

O le mea matou te faia o le open source. O loʻo tuʻuina atu i luga ole GitLab. Ma matou faia ina ia mafai e tagata ona siaki e tusa lava pe leai se DBA. Matou te faia se suʻesuʻega faʻamaumauga, o lona uiga, matou te taʻua le vaega autu o loʻo galue ai Joe. Ma e mafai ona e mauaina se kopi o le gaosiga. O le taimi nei o loʻo i ai se faʻatinoga o Joe mo le faʻavaivai, e mafai ona e fai atu iina: "faʻamatala sea ma se talosaga" ma vave maua le taunuuga mo lau kopi o le database. E mafai fo'i ona e faia TAMA'E iina, ma e leai se tasi na te iloa.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

Se'i faapea e 10 au terabytes, o lo'o matou faia se su'esu'ega fa'amaumauga ma 10 terabytes. Ma e 10 tagata atinaʻe e mafai ona galulue faʻatasi ma faʻamaumauga 10 terabyte tutusa. E mafai e tagata uma ona fai mea latou te mananaʻo ai. E mafai ona tape, pa'u, ma isi. E manaia tele. O le a tatou talanoa i ai taeao.

Le pele ELETE. Nikolay Samokhvalov (Postgres.ai)

E ta'ua lea o le tu'uina atu manifinifi. O se faiga fa'apitoa lea. O se ituaiga o mafaufauga e matua faʻaumatia ai le tuai i atinaʻe ma suʻega ma avea ai le lalolagi ma nofoaga sili atu i lenei tulaga. O lona uiga, naʻo le faʻatagaina oe e aloese mai faʻafitauli i le tele o gaioiga.

Faataitaiga: 5 terabyte database, maua se kopi i lalo ifo o le 30 sekone. Ma e le faalagolago foi i le tele, o lona uiga e le afaina pe fia terabytes.

O aso nei e mafai ona e alu i postgres.ai ma eli ia tatou meafaigaluega. E mafai ona e lesitala ma va'ai po'o a mea o iai. E mafai ona e fa'apipi'i lenei bot mo oe. E leai se totogi. Tusi.

Au fesili

E masani lava i tulaga moni e foliga mai o faʻamaumauga e tatau ona tumau i le laulau e sili atu le itiiti ifo nai lo mea e manaʻomia ona tape. O lona uiga, i se tulaga faapena e masani ona faigofie le faʻatinoina o lenei auala, pe a faigofie ona fai se mea fou, kopi naʻo faʻamatalaga talafeagai iina ma tusi le laulau tuai. E manino lava e te manaʻomia se faiga faʻapipiʻi mo lenei taimi aʻo e fesuiaʻi. E faapefea lenei faiga?

O se faiga lelei tele lea ma o se galuega lelei tele. E talitutusa lava ma le mea e fai e le pg_repack, e tutusa lelei ma le mea e tatau ona e faia pe a e ID tagata na faia 4 bytes. O le tele o auivi na faia lenei mea i ni nai tausaga ua mavae, ma o papatusi ua faatoa tupu tele, ma e tatau ona liua i le 8 paita.

E fai si faigata lenei galuega. Sa matou faia. Ma e tatau ona e matua faaeteete. E iai loka, ma isi. Ae ua uma. O lona uiga, o le auala masani o le faʻaaogaina pg_repack. E te faailoa atu se faailoga faapena. Ma ae e te leʻi amata faʻatumu i faʻamatalaga faʻamatalaga, e te faʻaalia foi se laulau e tasi e siaki ai suiga uma. O loʻo i ai se togafiti iina atonu e te le vaʻaia ai ni suiga. O loʻo i ai faʻamatalaga. Ona e fesuia'i lea, fa'asolo atu suiga. E iai se malologa puupuu pe a tatou loka tagata uma, ae o le aotelega o loʻo faia.

Afai e te vaʻai i le pg_repack i le GitHub, ona i ai lea o se galuega e faʻaliliu ai le ID mai le int 4 i le int 8, ona i ai lea o se manatu e faʻaaoga le pg_repack lava ia. E mafai foʻi lenei mea, ae o se faiga faʻapitoa lea o le hacker, ae o le a aoga foi mo lenei mea. E mafai ona e faʻalavelave i le faʻaosoina e faʻaaoga pg_repack ma fai i ai: "Matou te le manaʻomia lenei faʻamatalaga," o lona uiga matou te faʻafeiloaʻi naʻo mea matou te manaʻomia. Ona na ona sui lea ma o lena.

Faatasi ai ma lenei faiga, matou te maua foi se kopi lona lua o le laulau, lea ua uma ona faʻasinoina faʻamaumauga ma faʻataʻatia solo lelei ma faʻailoga matagofie.

Bloat leai, o se auala lelei lea. Ae ou te iloa o loʻo i ai taumafaiga e atiaʻe le masini mo lenei mea, o lona uiga o le faia o se fofo lautele. E mafai ona ou faailoa atu ia te oe lenei masini. Ua tusia i le Python, mea lelei.

Ua na'o a'u laititi mai le lalolagi MySQL, o lea na ou sau ai e fa'alogo. Ma matou te faʻaaogaina lenei auala.

Ae na'o le 90%. Afai e maua le 5%, e le lelei tele le faʻaaogaina.

Faafetai mo le lipoti! Afai e leai ni punaoa e fai ai se kopi atoa o le prod, pe i ai se algorithm poʻo se fua faʻatatau e fuafua ai le uta poʻo le tele?

Lelei fesili. E oʻo mai i le taimi nei ua mafai ona matou mauaina faʻamaumauga tele-terabyte. E tusa lava pe le tutusa mea faigaluega iina, mo se faʻataʻitaʻiga, itiiti le manatua, itiiti le gaosiga ma disks e le tutusa, matou te faia pea. Afai e matua leai lava se mea, ona tatau lea ona e mafaufau i ai. Sei ou mafaufau i ai seia oo i taeao, ua e sau, o le a ta talanoa, o se fesili lelei lea.

Faafetai mo le lipoti! Na muamua amata ona e talanoa e uiga i le mea moni o loʻo i ai se Postgres malulu, o loʻo i ai faʻapena ma ia tapulaʻa, ae o loʻo atiaʻe. Ma o nei mea uma o se tootoo lautele. Pe le o nei mea uma e feteenai ma le atinaʻeina o Postgres lava ia, lea o le a aliali mai ai se ituaiga DELETE deferent poʻo se isi mea e tatau ona tausia i se tulaga maualalo mea o loʻo tatou taumafai e ufiufi iinei ma nisi oa tatou lava auala uiga ese?

Afai i le SQL na matou fai atu e tape pe faʻafouina le tele o faʻamaumauga i se tasi fefaʻatauaiga, faʻafefea ona tufatufaina e Postgres lenei mea? E fa'agata fa'aletino a matou galuega. O le a matou faia pea lenei mea mo se taimi umi. Ma o le a matou lokaina i lenei taimi, ma isi.

Sa faapena foi ona latou faia i faasino igoa.

E mafai ona ou manatu e mafai ona otometi le fa'alogoina o nofoaga siaki e tasi. E iai se aso e tupu ai lenei mea. Ae ou te le malamalama lelei i le fesili.

O le fesili: o i ai se vector vector o loʻo alu iina, ma e tutusa ma oe iinei? O na. Pe latou te le'i mafaufau ea i ai?

Sa ou talanoa e uiga i mataupu faavae e mafai ona faaaoga i le taimi nei. O loʻo i ai se isi bot Nancy, fa'atasi ai ma lenei mea e mafai ai ona e fa'aogaina fa'atonu siaki. Mata e tupu lenei mea i Postgres? Ou te le iloa, e le o talanoaina lava lenei mea. Ua tatou mamao lava mai lenei mea. Ae e iai saienitisi latou te faia ni faiga fou. Ma latou tuleia i matou i faasino igoa otometi. O loʻo iai atinaʻe. Mo se faʻataʻitaʻiga, e mafai ona e vaʻavaʻai i le faʻaogaina o taavale. E otometi lava ona filifili tapula'a. Ae o le a ia le faia le siaki siaki mo oe i le taimi nei. O lona uiga, o le a filifili mo le faʻatinoga, shell buffer, ma isi.

Ma mo siaki siaki e mafai ona e faia le mea lenei: afai e iai sau fuifui afe ma vaega eseese o meafaigaluega, eseese masini masini i le ao, e mafai ona e faʻaogaina la matou bot Nancy fai masini. Ma max_wal_size o le a filifilia otometi e tusa ai ma au faʻatulagaga faʻatatau. Ae e oʻo mai i le taimi nei e leʻo latalata i le i ai i totonu o le fatu, o le mea e leaga ai.

Manuia le aoauli Na e talanoa e uiga i le matautia o fefaʻatauaiga umi. Na e fai mai o le autovacuum e poloka i le tulaga o le tapeina. O le a se isi mea e afaina ai i tatou? Aua o loʻo matou talanoa atili e uiga i le faʻasaʻolotoina o avanoa ma mafai ona faʻaaogaina. O le a se isi mea e tatau ona tatou leiloa?

Autovacuum atonu e le o se fa'afitauli sili lea iinei. Ma o le mea moni o se fefaʻatauaiga umi e mafai ona poloka isi fefaʻatauaiga o se mea e sili atu ona mataʻutia. Atonu e feiloai pe le mafai foi. Afai e feiloai o ia, e ono matua leaga lava mea. Ma o le autovacuum o se faʻafitauli foi lea. E lua faʻafitauli i fefaʻatauaiga umi i le OLTP: loka ma le autovacuum. Ma afai e iai sau faʻaaliga vevela vevela e mafai ona faʻaogaina i luga o le kopi, ona oʻo mai ai lea o le poloka autovacuum i le matai, o le a taunuu mai le kopi. Ae o le mea sili o le a leai ni loka iina. Ma o iinei o le ai ai loka. O loʻo matou talanoa e uiga i suiga o faʻamatalaga, o lea o loka o se vaega taua iinei. Ma afai e faʻaauau lenei mea mo se taimi umi, umi, ona faʻateleina lea o fefaʻatauaiga e poloka. E mafai ona latou maileia isi. Ma ua aliali mai laau loka. Sa ou tuuina atu se sootaga i le snippet. Ma o lenei faafitauli e vave ona sili atu ona iloa nai lo le faafitauli i le autovacuum, lea e mafai ona faʻaputuina.

Faafetai mo le lipoti! Na e amata lau lipoti i lou fai mai ua sese lau su'ega. Na matou faʻaauauina lo matou manatu e manaʻomia ona matou faʻaaogaina meafaigaluega tutusa, ma le faʻavae e tutusa lava. Fa'apea na matou tu'uina atu i le tagata fa'avae se fa'avae. Ma sa ia usitaia le talosaga. Ma e foliga mai o loo manuia. Ae e le siaki i luga o le ola, ae i luga o le ola, mo se faʻataʻitaʻiga, o la matou uta e 60-70%. Ma e tusa lava pe tatou te faʻaogaina lenei faʻalogo, e le lelei tele

O le i ai o se tagata poto faapitoa i lau 'au ma le fa'aaogaina o tagata tomai faapitoa i le DBA e mafai ona va'ai mea o le a tupu i lalo o le uta moni i tua e taua tele. Pe a na ona matou tietie atu i a matou suiga mama, matou te vaaia le ata. Ae o se auala sili atu ona alualu i luma o le taimi na matou toe faia ai le mea lava e tasi, ae faʻatasi ai ma se uta faʻataʻitaʻiga. E manaia tele lenei mea. E tatau lava ona tatou tuputupu ae i lenei tulaga. Ua matua. Sa matou vaʻavaʻai mama i mea ua matou maua ma vaʻavaʻai foi pe lava a matou punaoa. Ose fesili lelei lena.

A uma ona tatou faia se lapisi filifili ma ua tatou maua, mo se faataitaiga, se fuʻa tape

Ole mea lea ole autovacuum e otometi ile Postgres.

Oi, na te faia lena mea?

Autovacuum o le aoina o lapisi.

Faafetai lava!

Faafetai mo le lipoti! E i ai se filifiliga e fa'atulaga vave ai se fa'amaumauga ma vaeluaga ina ia aveese uma otaota mai le laulau autu i se mea i le itu?

Ioe ua i ai.

E mafai la ona tatou puipuia i tatou lava pe afai ua tatou lokaina se laulau e le tatau ona faaaoga?

Ioe ua i ai. Ae o se fesili moa ma fuamoa. Afai tatou te iloa uma le mea o le a tupu i le lumanaʻi, o le mea moni, o le a tatou faia mea sili uma. Ae ua suia pisinisi, o koluma fou ma talosaga fou ua aliali mai. Ona - oops, matou te mananaʻo e tapeina. Ae o se tulaga lelei lea; e tupu i le olaga, ae le o taimi uma. Ae o le aotelega o se manatu lelei. Na'o le tipi ma o lena lava.

puna: www.habr.com

Faaopoopo i ai se faamatalaga