DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E faʻafefea ona malamalama se tagata faʻapipiʻi pito i tua o se fesili SQL o le a aoga lelei i luga o se "prod"? I kamupani tetele po'o fa'atupula'ia vave, e le o tagata uma e maua le "oloa". Ma o le avanoa, e le o talosaga uma e mafai ona siaki ma le tiga, ma o le fatuina o se kopi o le database e masani ona alu ai itula. Ina ia foia nei faʻafitauli, na matou faia se DBA faʻapitoa - Joe. Ua maeʻa ona faʻatinoina ma le manuia i le tele o kamupani ma fesoasoani i le sili atu ma le luasefulu tagata atinaʻe.

Vitio:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Talofa uma! O loʻu igoa o Anatoly Stansler. Ou te faigaluega i se kamupani postgres.ai. Matou te tuuto atu i le faʻavaveina o le faʻagasologa o atinaʻe e ala i le aveesea o faʻatuai e fesoʻotaʻi ma le galuega a Postgres mai tagata atiaʻe, DBAs ma QAs.

E iai a matou tagata faʻatau ma o aso nei o se vaega o le lipoti o le a tuʻuina atu i mataupu na matou feiloai a o galulue ma i latou. O le a ou talanoa pe na faapefea ona matou fesoasoani ia i latou e foia ni faafitauli ogaoga.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

A o tatou atiaʻe ma faia ni femalagaiga lavelave maualuga, tatou te fesili ifo ia i tatou lava le fesili: "Pe o le a alu ese lenei femalagaiga?". Matou te faʻaogaina le iloiloga, matou te faʻaogaina le malamalama o tagata faigaluega sili atu le poto masani, DBA tagata tomai faapitoa. Ma e mafai ona latou iloa pe o le a lele pe leai.

Ae atonu e sili atu pe a mafai ona tatou suʻeina i tatou lava i kopi tetele. Ma o aso nei o le a tatou talanoa e uiga i auala o suʻega o loʻo i ai nei ma pe faʻapefea ona sili atu ona lelei ma o a mea faigaluega. O le a tatou talanoa foi e uiga i le lelei ma le le lelei o ia auala, ma mea e mafai ona tatou faaleleia iinei.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

O ai na faia sa'o fa'asino igoa ile prod pe faia ni suiga? O sina mea itiiti. Ma o ai na mafua ai lenei mea i le mea moni o faʻamaumauga na leiloa pe na i ai foi taimi malolo? Ona e iloa lea o lenei tiga. Faafetai i le Atua o loo i ai faaleoleo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ole auala muamua ole su'ega ile prod. Po'o, pe a nofo se tagata fa'atupu i luga o se masini fa'apitonu'u, o lo'o ia te ia fa'amaumauga o su'ega, o lo'o i ai se ituaiga o filifiliga fa'atapula'a. Ma matou taʻavale atu e faʻasalalau, ma matou maua lenei tulaga.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E tiga, e taugata. Atonu e sili ona aua le faia.

Ma o le a le auala sili e fai ai?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Se'i o tatou fa'agasolo ma filifili se vaega o le fa'ata'ita'iga iina. Po'o le mea sili, se'i o tatou faia se mea moni, o fa'amaumauga uma. Ma a uma ona matou atiina ae i le lotoifale, o le a matou siaki foi mo le faʻatulagaina.

O lenei mea o le a mafai ai ona tatou aveese nisi o mea sese, o lona uiga e taofia i latou mai le faʻaogaina.

O a ni faafitauli?

  • O le faʻafitauli o loʻo matou faʻasoa lenei faʻasologa ma a matou paaga. Ma o le tele lava o taimi e tupu ai e te faia se ituaiga o suiga, bam - ma e leai se faʻamatalaga, o le galuega o loʻo i lalo ole alavai. O le fa'atulagaina sa tele-terabyte. Ma e tatau ona e faʻatali mo se taimi umi seʻia toe tulaʻi mai. Ma matou filifili e fa'amae'a taeao. O le mea lena, o loʻo i ai le tatou atinaʻe.
  • Ma, ioe, e tele a matou paaga o loʻo galulue iina, tele 'au. Ma e tatau ona faia ma le lima. Ma e le faigofie lenei mea.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma e taua le fai atu e na o le tasi le matou taumafaiga, tasi le fana, afai matou te mananao e fai ni suiga i le database, paʻi i faʻamaumauga, suia le fausaga. Ma afai ei ai se mea na sese, afai sa i ai se mea sese i le femalagaiga, ona tatou le vave foi lea i tua.

E sili atu lenei mea nai lo le auala muamua, ae o loʻo i ai pea se avanoa maualuga e iai se ituaiga o mea sese o le a alu i le gaosiga.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

O le a le mea e taofia ai i tatou mai le tuʻuina atu i tagata taʻitoʻatasi se nofoa suʻega, se kopi tele? Ou te manatu o loʻo manino le mea e faʻalavelave ai.

O ai e iai se fa'amaumauga e sili atu nai lo le terabyte? E silia ma le afa o le potu.

Ma e manino lava o le teuina o masini mo atinaʻe taʻitasi, pe a iai se gaosiga tele, e taugata tele, ma e le gata i lea, e umi se taimi.

E iai a matou tagata faʻatau ua latou iloa e taua tele le suʻeina o suiga uma i luga o kopi tetele, ae o latou faʻamaumauga e itiiti ifo i le terabyte, ma e leai ni punaoa e teu ai se suʻega suʻega mo tagata taʻitasi. O le mea lea, e tatau ona latou sii maia otaota i le lotoifale i la latou masini ma faʻataʻitaʻi i lenei auala. E tele se taimi e alu ai.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E tusa lava pe e te faia i totonu o le atinaʻe, ona faʻapipiʻiina lea o le tasi terabyte o faʻamaumauga i le itula ua lelei tele. Ae latou te faʻaogaina faʻaputuga talafeagai, latou te siiina mai i le lotoifale mai le ao. Mo i latou, o le saoasaoa e tusa ma le 200 gigabytes i le itula. Ma o loʻo manaʻomia pea le taimi e liliu ai mai le tala faʻatatau, taʻavale faʻailoga, ma isi.

Ae latou te faʻaogaina lenei auala aua e mafai ai ona latou faʻamautinoa le faʻatuatuaina o le oloa.

O le a se mea e mafai ona tatou faia iinei? Se'i o tatou faia ni nofoa fa'ata'ita'i taugofie ma tu'u atu i tagata ta'ito'atasi a latou lava nofoa su'ega.

Ma e mafai lea.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma i lenei faiga, pe a tatou faia ni clones manifinifi mo tagata atiae taʻitasi, e mafai ona tatou faʻasoa i luga o le masini e tasi. Mo se faʻataʻitaʻiga, afai e iai sau faʻamaumauga 10TB ma e te manaʻo e tuʻuina atu i le 10 atiaʻe, e te le manaʻomia le XNUMX x XNUMXTB faʻamaumauga. E na'o le tasi le masini e fai ai ni kopi manifinifi tu'ufua mo tagata ta'itasi e fa'aogaina le masini e tasi. O le a ou taʻu atu ia te oe pe faapefea ona galue i se taimi mulimuli ane.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Fa'ata'ita'iga moni:

  • DB - 4,5 terabytes.

  • E mafai ona maua kopi tutoatasi i le 30 sekone.

E te le tau fa'atali mo se tu'u fa'ata'ita'i ma fa'alagolago i lona telē. E mafai ona e mauaina i ni nai sekone. O le a matua tu'ufua si'osi'omaga, ae fa'asoa fa'amaumauga ia i latou lava.

E sili lenei. O lea tatou te talanoa e uiga i togafiti faataulaitu ma se atulaulau tutusa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

I la matou tulaga, e galue e faʻaaoga le OpenZFS system.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

OpenZFS o se kopi-i-tusi faila faiga e lagolagoina snapshots ma clones i fafo o le pusa. E fa'atuatuaina ma fa'alautele. E faigofie tele ona pulea. E mafai lava ona fa'apipi'iina i 'au se lua.

E iai isi filifiliga:

  • lvm,

  • Teuina (mo se faʻataʻitaʻiga, Pure Storage).

O le Database Lab o loʻo ou talanoa i ai e faʻapitoa. E mafai ona faʻatinoina e faʻaaoga ai nei avanoa. Ae mo le taimi nei, ua matou taulaʻi i OpenZFS, ona sa iai faʻafitauli i le LVM faʻapitoa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E faapefea ona aoga? Nai lo le soloia o faʻamaumauga i taimi uma matou te suia ai, matou te faʻasaoina e ala i le faʻailogaina o lenei faʻamatalaga fou e mai se taimi fou i le taimi, o se ata fou.

Ma i le lumanaʻi, pe a matou mananaʻo e toe foʻi i tua pe matou te mananaʻo e fai se clone fou mai se kopi tuai, matou te fai atu: "Ua lelei, aumai ia i matou nei poloka o faʻamaumauga o loʻo faʻailogaina faʻapea."

Ma o lenei tagata faʻaoga o le a galulue faʻatasi ma se seti faʻamaumauga. O le a ia suia malie, faia ana lava ata.

Ma o le a tatou lala. O tagata taʻitoʻatasi i la matou mataupu o le a maua le avanoa e maua ai lana lava clone na te faʻasaʻoina, ma o faʻamatalaga e faʻasoa o le a faʻasoa i le va o tagata uma.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ina ia faʻaogaina sea faiga i le fale, e tatau ona e foia ni faʻafitauli se lua:

  • Muamua o le puna o faʻamaumauga, o fea e te ave mai ai. E mafai ona e setiina le toe faia ma le gaosiga. Ua mafai ona e faʻaogaina faʻamaumauga na e faʻatulagaina, ou te faʻamoemoe. WAL-E, WAL-G poʻo Barman. Ma e tusa lava pe o loʻo e faʻaaogaina se ituaiga o Cloud solution e pei o le RDS poʻo le Cloud SQL, ona mafai lea ona e faʻaogaina faʻamalo talafeagai. Ae matou te fautuaina pea oe e faʻaoga faʻamaumauga, aua o lenei auala o le ae taofia ai foi le fausaga faaletino o faila, lea o le a mafai ai ona e latalata atili i metrics e te vaʻaia i le gaosiga ina ia mafai ai ona maua na faʻafitauli o loʻo i ai.

  • O le lona lua o le mea e te manaʻo e faʻafeiloaʻi ai le Database Lab. E mafai ona avea ma Ao, e mafai ona i luga ole nofoaga. E taua le fai atu iinei o le ZFS e lagolagoina le faʻapipiʻiina o faʻamaumauga. Ma e fai lelei lava.

Vaʻai faalemafaufau mo ia clone taʻitasi, e faʻatatau i gaioiga tatou te faia i le faʻavae, o le a tupu se ituaiga o dev. Mo lenei mea, e manaʻomia foʻi e le dev le avanoa. Ae ona o le mea moni na matou ave se faavae o 4,5 terabytes, ZFS o le a faʻapipiʻi i le 3,5 terabytes. E mafai ona fesuisuiaʻi lenei mea e faʻatatau i faʻatulagaga. Ma o loʻo i ai pea le matou avanoa mo dev.

O sea faiga e mafai ona faʻaaogaina mo tulaga eseese.

  • O atinaʻe ia, DBAs mo faʻamaoniga o fesili, mo le faʻaleleia atili.

  • E mafai ona fa'aoga lea ile su'ega QA e fa'ata'ita'i ai se femalaga'iga fa'apitoa a'o le'i ta'avale i fafo e fa'atau. Ma e mafai foʻi ona matou faʻatupuina ni siosiomaga faʻapitoa mo QA faʻatasi ai ma faʻamatalaga moni, lea e mafai ai ona latou suʻeina galuega fou. Ma e manaʻomia ni sekone nai lo itula faʻatali, ma atonu o aso i nisi tulaga e le faʻaaogaina ai ni kopi manifinifi.

  • Ma le isi mataupu. Afai o le kamupani e leai se faʻatulagaga faʻapipiʻi faʻatulagaina, ona mafai lea ona tatou faʻaesea se clone manifinifi o le faʻavae oloa ma tuʻuina atu i fesili uumi poʻo faʻamatalaga faʻapitoa e mafai ona faʻaaogaina i auiliiliga.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Faatasi ai ma lenei faiga:

  1. E maualalo le avanoa o mea sese i luga o le "prod", aua na matou faʻataʻitaʻiina suiga uma i luga o faʻamaumauga atoa.

  2. E i ai la matou aganuʻu o suʻega, aua o lenei e te le tau faʻatali mo ni itula mo lou lava tu.

  3. Ma e leai se pa, leai se faʻatali i le va o suʻega. E mafai lava ona e alu e siaki. Ma o le a sili atu i lenei auala pe a tatou faʻavaveina le atinaʻe.

  • O le a faʻaitiitia le toe faʻaleleia. E to'aitiiti ni pepi o le a fa'ai'u ile prod. O le a matou toe fa'afo'i itiiti mulimuli ane.

  • E mafai ona tatou suia suiga e le mafai ona toe fa'afo'isia. E le o le faiga masani lea.

  1. E aoga lenei mea aua matou te faʻasoa punaoa o nofoa suʻega.

Ua lelei, ae o le a se isi mea e mafai ona faatelevaveina?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Faʻafetai i se faiga faʻapea, e mafai ona tatou faʻaititia tele le faʻailoga mo le ulufale atu i ia suʻega.

O le taimi nei o loʻo i ai se liʻo mataʻutia, pe a fai o se tagata e faia le atinaʻe, ina ia mafai ona maua le avanoa i faʻamatalaga moni atoatoa, e tatau ona avea ma se tagata tomai faapitoa. E tatau ona faatuatuaina o ia i lea avanoa.

Ae faʻafefea ona tupu pe afai e le o iai. Ae fa'afefea pe a na'o se seti la'ititi o fa'amaumauga o su'ega e avanoa mo oe? Ona e le maua ai lea o se aafiaga moni.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E fa'afefea ona alu ese mai lenei li'o? I le avea ai ma faʻaoga muamua, faigofie mo tagata atiaʻe o soʻo se tulaga, na matou filifilia le Slack bot. Ae e mafai ona avea ma soʻo se isi atinaʻe.

O le a le mea e mafai ai ona e faia? E mafai ona e faia se fesili patino ma auina atu i se auala faapitoa mo le database. O le a otometi lava ona matou fa'apipi'i se clone manifinifi i sekone. Tatou fa'agaoioi le talosaga lea. Matou te aoina metric ma fautuaga. Se'i o tatou fa'aali atu se fa'aaliga. Ona tumau ai lea o lenei clone ina ia mafai ona faʻamalieina lenei fesili, faʻaopoopo faʻamatalaga, ma isi.

Ma o Slack foʻi e tuʻuina mai ia i matou avanoa mo le galulue faʻatasi mai le pusa. Talu ai ua na o se auala, e mafai ona e amata talanoaina lenei talosaga iina i le filo mo se talosaga, ping au paaga, DBA o loʻo i totonu o le kamupani.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ae e iai lava faafitauli. Talu ai o le lalolagi moni lenei, ma o loʻo matou faʻaogaina se 'auʻaunaga e faʻafeiloaʻi le tele o clones i le taimi e tasi, e tatau ona matou faʻapipiʻi le aofaʻi o le manatua ma le malosi o le CPU o loʻo avanoa i clones.

Ae ina ia faʻamaonia nei suʻega, e tatau ona e foia lenei faʻafitauli.

E manino lava o le itu taua o faʻamatalaga tutusa. Ae ua uma ona tatou maua. Ma matou te mananaʻo e ausia le faʻatulagaga tutusa. Ma e mafai ona matou tuʻuina atu se faʻatulagaga toetoe lava tutusa.

E manaia le i ai o meafaigaluega tutusa e pei o le gaosiga, ae atonu e eseese.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Sei o tatou manatua pe faapefea ona galue Postgres ma manatua. E lua a matou pusa. Tasi mai le faila faila ma le tasi Postgres, o lona uiga, Shared Buffer Cache.

E taua le maitauina o le Shared Buffer Cache e tuʻuina atu pe a amata Postgres, faʻatatau i le tele e te faʻamaonia i le faʻatulagaga.

Ma o le fa'aoga lona lua e fa'aoga uma avanoa avanoa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma a matou faia ni nai clones i luga o le masini e tasi, e foliga mai e faasolosolo malie ona matou faʻatumu le manatua. Ma i se auala lelei, Shared Buffer Cache o le 25% o le aofaʻi atoa o manatua o loʻo avanoa i luga o le masini.

Ma e foliga mai afai tatou te le suia lenei parakalafa, o le a mafai ona tatou tamoʻe naʻo 4 taimi i luga o le masini e tasi, o lona uiga 4 o ia clones manifinifi uma. Ma o lenei, ioe, e leaga, aua tatou te mananaʻo ia maua le tele o mea.

Ae i le isi itu, o le Buffer Cache o loʻo faʻaaogaina e faʻatino ai fesili mo faʻamatalaga, o lona uiga, o le fuafuaga e faʻalagolago i le tele oa tatou caches. Ma afai tatou te faʻaaogaina lenei parakalafa ma faʻaititia, ona mafai lea ona suia tele a tatou fuafuaga.

Mo se faʻataʻitaʻiga, afai o loʻo i ai se matou faʻaoga tele i luga o le prod, ona manaʻo lea o Postgres e faʻaoga se faʻamatalaga. Ma afai e leai, ona i ai lea o SeqScan. Ma o le a le aoga pe afai e le fetaui a tatou fuafuaga?

Ae o iinei tatou te oʻo mai i le faaiuga o le mea moni o le fuafuaga i Postgres e le faʻalagolago i le tele faʻapitoa o loʻo faʻamaonia i le Shared Buffer i le fuafuaga, e faʻalagolago i le effective_cache_size.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Effective_cache_size o le aofaʻi faʻatatau o le cache o loʻo avanoa mo i matou, o lona uiga o le aofaʻi o le Buffer Cache ma faila faila cache. Ua setiina e le config. Ma o lenei manatua e le o faʻasoaina.

Ma ona o lenei parakalafa, e mafai ona matou faʻasese Postgres, fai mai e tele a matou faʻamatalaga o loʻo maua, e tusa lava pe leai a matou faʻamatalaga. Ma o lea, o fuafuaga o le a fetaui lelei ma le gaosiga.

Ae e mafai ona aafia ai le taimi. Ma matou te fa'amalieina fesili e ala i le taimi, ae e taua le fa'atatauina o le taimi i le tele o mea:

  • E fa'alagolago i le uta o lo'o i luga o le prod.

  • E fa'alagolago i uiga o le masini lava ia.

Ma o se faʻataʻitaʻiga le tuusao, ae o le mea moni e mafai ona tatou faʻamaonia saʻo i le aofaʻi o faʻamaumauga o le a faitauina e lenei fesili ina ia maua ai le iʻuga.

Ma afai e te manaʻo i le taimi e latalata i mea o le a tatou vaʻaia i le prod, ona manaʻomia lea ona tatou faʻaaogaina meafaigaluega tutusa ma, atonu, sili atu ina ia fetaui uma clones. Ae o se fetuutuunai lea, o lona uiga o le ae mauaina ia lava fuafuaga, o le a e vaʻai i le tele o faʻamatalaga o le a faitauina e se fesili faapitoa ma o le a mafai ona e faʻaiʻuina pe lelei (poʻo le femalagaaʻi) pe leaga, e manaʻomia pea ona faʻaleleia. .

Se'i o tatou va'ava'ai pe fa'apefea ona fa'asilisiliina Joe.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tatou ave se talosaga mai se faiga moni. I lenei tulaga, o le database o le 1 terabyte. Ma matou te mananaʻo e faitau le aofaʻi o pou fou na sili atu i le 10 fiafia.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

O loʻo matou tusia se feʻau i le alalaupapa, o se clone ua faʻapipiʻiina mo i matou. Ma o le a tatou vaʻai o sea talosaga o le a maeʻa ile 2,5 minute. O le mea muamua lea tatou te matauina.

B Joe o le a faʻaali atu ia te oe fautuaga faʻapitoa e faʻatatau i le fuafuaga ma fua.

O le a tatou va'aia o le fa'atonuga o lo'o fa'againa le tele o fa'amaumauga e maua ai se numera la'ititi o laina. Ma e mana'omia se ituaiga fa'ailoga fa'apitoa, talu ai na matou maitauina e tele naua laina fa'amama i le fesili.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Seʻi o tatou iloilo totoʻa le mea na tupu. O le mea moni, matou te vaʻai ua matou faitau toeitiiti atoa le tasi ma le afa gigabytes o faʻamatalaga mai le faila faila poʻo mai le disk. Ma e le lelei lenei mea, aua na o le 142 laina na matou maua.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma, e foliga mai, o loʻo i ai sa matou faʻamatalaga faʻailoga iinei ma e tatau ona vave galue, ae talu ai na matou faʻamama ese le tele o laina (e tatau ona matou faitauina), na faʻagasolo malie le fesili.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma na tupu lenei mea i le fuafuaga ona o le mea moni o tulaga i le fesili ma tulaga i totonu o le faasino igoa e le fetaui.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Se'i o tatou taumafai e fa'amanino atili le fa'asinomaga ma va'ai pe fa'afefea ona suia le fa'atinoga o fesili pe a uma.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

O le fausiaina o le fa'asinomaga na umi se taimi, ae o lea ua matou siaki le fesili ma va'ai o le taimi nai lo le 2,5 minute e na'o le 156 milliseconds, lea e lava lelei. Ma matou faitau na o le 6 megabytes o faʻamaumauga.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

A'o lea ua matou fa'aogaina na'o le su'esu'e.

O le isi tala taua tatou te mananao e tuuina atu le fuafuaga i se auala e sili atu ona malamalama. Ua matou faʻatinoina le faʻaaliga e faʻaaoga ai Flame Graphs.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E ese lenei talosaga, sili atu le malosi. Ma matou te fausia Flame Graphs e tusa ai ma faʻamaufaʻailoga e lua: o le aofaʻi lea o faʻamaumauga na faitauina e se node faapitoa i le fuafuaga ma le taimi, o lona uiga o le taimi o le faʻatinoina o le node.

O iinei e mafai ona tatou faʻatusatusaina faʻapitoa nodes i le tasi ma le isi. Ma o le a manino po o ai o latou e sili atu pe itiiti, lea e masani ona faigata ona fai i isi auala faʻaliliu.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ioe, e iloa uma e tagata explain.depesz.com. O se vaega lelei o lenei fa'aaliga o lo'o tatou fa'asaoina le fa'asologa o tusitusiga ma tu'u fo'i ni ta'iala fa'avae i totonu ole laulau ina ia mafai ona tatou fa'avasega.

Ma o le au atinaʻe e leʻi suʻesuʻeina lenei autu latou te faʻaaogaina foʻi le explain.depesz.com, aua e sili atu ona faigofie mo i latou ona iloa po o fea metric e taua ma e leai.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

O loʻo i ai se auala fou i le vaʻaia - o le explain.dalibo.com. Latou te faia se ata vaaia o laau, ae e matua faigata lava ona faʻatusatusa pona i le tasi ma le isi. O iinei e mafai ai ona e malamalama lelei i le fausaga, peitaʻi, afai o loʻo i ai se talosaga tele, ona e manaʻomia lea e taʻavale i tua ma luma, ae o se filifiliga foi.

galulue faatasi

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma, e pei ona ou fai atu, Slack tatou te maua le avanoa e galulue faatasi ai. Mo se faʻataʻitaʻiga, afai tatou te maua se fesili lavelave e le o manino pe faʻafefea ona faʻamalieina, e mafai ona tatou faʻamalamalamaina lenei mataupu ma a tatou uo ile filo ile Slack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

E foliga mai ia i matou e taua tele le suʻeina o faʻamaumauga atoa. Ina ia faia lenei mea, matou faia le Update Database Lab meafaigaluega, lea o loʻo avanoa i punaoa tatala. E mafai fo'i ona e fa'aogaina le Joe bot. E mafai ona e ave i le taimi nei ma faʻatino i lou nofoaga. O loʻo avanoa uma taʻiala iina.

E taua foi le maitauina o le fofo lava ia e le o se mea fou, aua o loʻo i ai Delphix, ae o se fofo atinaʻe. Ua tapunia atoa, e taugata tele. Matou te faʻapitoa i Postgres. O nei mea uma o oloa tatala puna'oa. Auai matou!

O le mea lea ou te faaiu ai. Fa'afetai!

Au fesili

Talofa! Faafetai mo le lipoti! E manaia tele, aemaise lava ia te au, aua na ou foia e uiga i le faafitauli lava e tasi i se taimi ua mavae. Ma o lea e tele a'u fesili. Talosia o le a ou maua sina vaega.

Ou te mafaufau pe fa'afefea ona e fuafuaina le nofoaga mo lenei siosiomaga? O le tekinolosi o lona uiga i lalo o tulaga patino, e mafai ona tupu lau clones i le maualuga maualuga. I le tautala fa'alata, afai e iai sau fa'amaumauga e sefulu terabyte ma 10 clones, ona faigofie lea ona fa'ata'ita'iina se tulaga e mamafa ai fa'amaumauga ta'itasi e 10 fa'amatalaga tulaga ese. E fa'afefea ona e fa'atatauina lenei nofoaga, o lona uiga, o le delta lea na e tautala ai, o le a ola ai nei clones?

Lelei fesili. E taua tele le siaki o fa'ailoga fa'apitoa iinei. Ma afai o se clone e tele naua se suiga, ua amata ona tupu, ona mafai lea ona matou tuʻuina atu muamua se lapataiga i le tagata faʻaoga e uiga i lenei mea, pe vave taofi lenei clone ina ia le maua se tatou tulaga toilalo.

Ioe, e iai sa'u fesili fa'aaufa'ato'a. O lona uiga, e fa'apefea ona e fa'amautinoaina le taamilosaga o le olaga o nei modules? O loʻo ia i matou lenei faʻafitauli ma se tala eseʻese atoa. E faapefea ona tupu lenei mea?

E iai ni ttl mo clone ta'itasi. O le mea moni, o loʻo i ai a matou ttl tumau.

Ae faapefea, pe afai e le o se mea lilo?

1 itula, i.e. leai se aoga - 1 itula. Afai e le faʻaaogaina, ona matou paʻu lea. Ae e leai se mea e ofo ai iinei, talu ai e mafai ona tatou siiina le clone i sekone. Ma afai e te toe manaʻomia, faʻamolemole.

Ou te fiafia foi i le filifiliga o tekinolosi, aua, mo se faʻataʻitaʻiga, matou te faʻaogaina le tele o metotia e tutusa mo le tasi mafuaaga poʻo le isi. Aisea ZFS? Aisea na e le fa'aogaina ai le LVM? Na e taʻua e iai faʻafitauli i le LVM. O a ni faafitauli? I loʻu manatu, o le filifiliga sili ona lelei o le teuina, i tulaga o le faʻatinoga.

O le a le fa'afitauli autu ile ZFS? O le mea moni e tatau ona e tamoe i luga o le talimalo tutusa, o lona uiga o mea uma o le a ola i totonu ole OS tutusa. Ma i le tulaga o le teuina, e mafai ona e faʻafesoʻotaʻi meafaigaluega eseese. Ma o le bottleneck na'o na poloka o lo'o i luga o le fa'aputuga. Ma o le fesili o le filifiliga o tekinolosi e manaia. Aisea e le LVM?

Aemaise lava, e mafai ona tatou talanoaina LVM ile feiloaiga. E uiga i le teuina - e taugata lava. E mafai ona matou faʻatinoina le ZFS system i soʻo se mea. E mafai ona e faʻapipiʻi i luga o lau masini. E mafai lava ona e siiina mai le faleteuoloa ma faʻapipiʻi. ZFS e faʻapipiʻiina toetoe lava i soʻo se mea pe a tatou talanoa e uiga i Linux. O lona uiga, tatou te maua se fofo sili ona faigofie. Ma o le ZFS lava ia e tuʻuina atu le tele o mea mai le pusa. E mafai ona e tuʻuina atu le tele o faʻamatalaga e te manaʻo ai, faʻafesoʻotaʻi se numera tele o disks, o loʻo i ai ata. Ma, e pei ona ou fai atu, e faigofie ona faʻatautaia. O lona uiga, e foliga mai e manaia tele le faʻaaogaina. Ua tofotofoina o ia, ua tele ona tausaga. O loʻo ia te ia se faʻalapotopotoga tele lava o loʻo faʻatupulaia. O le ZFS o se fofo sili ona faatuatuaina.

Nikolai Samokhvalov: E mafai ona ou fai atu se faamatalaga atili? O loʻu igoa o Nikolay, matou te galulue faʻatasi ma Anatoly. Ou te ioe e lelei tele le teuina. Ma o nisi o matou tagata faʻatau e iai le Pure Storage etc.

Na taʻua saʻo e Anatoly o loʻo matou taulaʻi i le faʻaogaina. Ma i le lumanaʻi, e mafai ona e faʻatinoina se tasi faʻaoga - ave se ata, fai se clone, faʻaumatia le clone. E faigofie uma. Ma o le teuina e malulu, pe a fai.

Ae o le ZFS e avanoa mo tagata uma. DelPhix ua lava, e 300 a latou tagata faʻatau. O nei mea, o le manuia 100 e 50 tagata faʻatau, o lona uiga o loʻo faʻatatau i le NASA, ma isi. Ua oʻo i le taimi mo tagata uma e maua ai lenei tekinolosi. Ma o le mafuaaga lena ua matou maua ai se punaoa tatala Core. E iai la matou vaega fa'aoga e le'o fa'apogai matala. O le tulaga lea o le a matou faʻaalia. Ae matou te mananaʻo ia maua e tagata uma. Matou te mananaʻo e fai se suiga ina ia taofi uma e suʻega le matemate i luga o le komepiuta. E tatau ona tatou tusi FILIFILI ma vaʻai vave e tuai. Taofi le faʻatali mo le DBA e taʻu atu ia te oe. O le sini autu lea. Ma ou te manatu o le a tatou o mai uma i lenei mea. Ma matou te faia lenei mea mo tagata uma e maua. O le mea lea ZFS, aua o le a maua i soo se mea. Fa'afetai i le nu'u mo le fo'ia o fa'afitauli ma le i ai o se laisene tatala fa'apogai, ma isi.*

Fa'afetai! Faafetai mo le lipoti! O loʻu igoa o Maxim. Sa matou taulimaina ia lava mataupu. Sa latou filifili i latou lava. E fa'afefea ona e fa'asoa alagaoa i le va o nei clones? E mafai e clone taʻitasi ona fai lana lava mea i soʻo se taimi: tasi e suʻe se mea, o le isi, e fausia e se tasi se faasino igoa, e iai se galuega mamafa a se tasi. Ma afai e mafai lava ona e vaevae ile PPU, ona e vaevae lea ile IO, fa'afefea ona e vaevae? O le fesili muamua lea.

Ma o le fesili lona lua e uiga i le eseesega o tulaga. Seʻi tatou fai mai o loʻo ia te aʻu le ZFS iinei ma e manaia mea uma, ae o le kalani i luga o le prod e leai se ZFS, ae ext4, mo se faʻataʻitaʻiga. E faapefea i lenei tulaga?

E lelei tele fesili. Na ou taʻua teisi lenei faʻafitauli i le mea moni tatou te fefaʻasoaaʻi punaoa. Ma o le fofo lea. Va'ai faalemafaufau o lo'o e su'ega ile fa'asologa. E mafai foi ona e maua se tulaga faapena i le taimi lava e tasi e tuuina atu e se tasi le uta, o se isi. Ma o se taunuuga, e te vaʻai i fua faʻatatau e le mafai ona malamalama i ai. E oo lava i le faafitauli lava e tasi e mafai ona i ai i le prod. A e manaʻo e siaki se talosaga ma e te vaʻaia o loʻo i ai se faʻafitauli - e galue lemu, o le mea moni o le faʻafitauli e leʻi i ai i le talosaga, ae i le mea moni o loʻo i ai se ituaiga o uta tutusa.

Ma o le mea lea, e taua ai iinei le taulai atu i le fuafuaga o le ai ai, o a laʻasaga o le a tatou faia i le fuafuaga ma le tele o faʻamaumauga o le a tatou faʻatupuina mo lenei mea. O le mea moni e faapea o tatou tisiki, mo se faʻataʻitaʻiga, o le a utaina i se mea, o le a faʻapitoa ona aʻafia ai le taimi. Ae e mafai ona tatou faʻatusatusa pe faʻafefea le utaina o lenei talosaga i le aofaʻi o faʻamaumauga. E le taua tele i le taimi lava e tasi o le ai ai se ituaiga o faʻasalaga.

E lua a'u fesili. O se mea manaia tele lenei. Na i ai ni mataupu e taua tele ai fa'amaumauga o le gaosiga, e pei o numera o kata fai aitalafu? Ua i ai se mea ua saunia pe o se galuega ese? Ma o le fesili lona lua - e iai se mea faʻapenei mo MySQL?

E uiga i faʻamatalaga. O le a tatou faia fa'alavelave se'ia tatou faia. Ae afai e te faʻapipiʻi tonu Joe, afai e te le tuʻuina atu avanoa i tagata atiae, ona leai lea o se avanoa i faʻamatalaga. Aisea? Aua e le fa'aalia e Joe fa'amaumauga. E na'o le fa'aalia o fua, fuafuaga ma o le mea lena. Na faia ma le faʻamoemoe, aua o se tasi lea o manaʻoga a le matou tagata faʻatau. Na latou mananaʻo ia mafai ona faʻaogaina e aunoa ma le tuʻuina atu i tagata uma le avanoa.

E uiga i MySQL. O lenei faiga e mafai ona faʻaogaina mo soʻo se mea e teu ai setete i luga o le disk. Ma talu ai o loʻo matou faia Postgres, o loʻo matou faia nei uma masini mo Postgres muamua. Matou te mananaʻo e otometi le mauaina o faʻamatalaga mai se faʻamaumauga. O loʻo matou faʻapipiʻiina Postgres saʻo. Matou te iloa le auala e faʻafetaui ai fuafuaga, ma isi.

Ae talu ai e faʻalauteleina le faiga, e mafai foi ona faʻaoga mo MySQL. Ma o loo i ai ni faataitaiga faapena. Yandex ei ai se mea faapena, ae latou te le lolomiina i soo se mea. Latou te faʻaaogaina i totonu o Yandex.Metrica. Ma e na o se tala e uiga i MySQL. Ae o tekinolosi e tutusa, ZFS.

Faafetai mo le lipoti! E i ai foi ni au fesili se lua. Na e taʻua e mafai ona faʻaogaina le cloning mo auʻiliʻiliga, mo se faʻataʻitaʻiga e fausia ai faʻamatalaga faaopoopo iina. E mafai ona e ta'u atu sina mea itiiti e uiga i le faiga?

Ma o le a vave ona ou fesiligia le fesili lona lua e uiga i le tutusa o tulaga, le tutusa o fuafuaga. O le fuafuaga foi e faalagolago i fuainumera na aoina e Postgres. E faapefea ona e foia lenei faafitauli?

E tusa ai ma suʻesuʻega, e leai ni mataupu faʻapitoa, aua matou te leʻi faʻaaogaina, ae o loʻo i ai se avanoa faapena. Afai o loʻo tatou talanoa e uiga i faʻamatalaga, ona mafaufau lea o se fesili o loʻo tuliloaina se laulau ma le fiaselau miliona o faʻamaumauga ma se koluma e masani ona le faʻasinoina i le prod. Ma matou te mananaʻo e fuafua nisi faʻamatalaga iina. Afai e auina atu lenei talosaga i le prod, ona i ai lea o le avanoa o le a faigofie i le prod, aua o le talosaga o le a faagasolo iina mo se minute.

Lelei, se'i o tatou faia se kine manifinifi e le mata'utia e taofi mo ni nai minute. Ma ina ia faʻafaigofie atili le faitau auʻiliʻiliga, matou te faʻaopoopo faʻamatalaga mo na koluma matou te fiafia i ai faʻamatalaga.

O le a faia le faasino igoa i taimi uma?

E mafai ona e faia ina ia matou paʻi i faʻamaumauga, fai ata, ona matou toe faʻaleleia lea mai lenei ata ma faʻauluina talosaga fou. O lona uiga, e mafai ona e faia ina ia mafai ai ona e si'itia ni clones fou ma fa'ailoga ua uma ona fa'apipi'i.

Ae mo le fesili e uiga i fuainumera, afai tatou te toe faʻaleleia mai se faʻamaumauga, afai tatou te faia faʻasologa, o le a tutusa lelei a tatou fuainumera. Talu ai o loʻo ia i matou le faʻatulagaga atoa o faʻamaumauga faʻaletino, o lona uiga, matou te aumaia faʻamaumauga e pei ona i ai ma fua faʻamaumauga uma.

O le isi lea faafitauli. Afai e te faʻaogaina se fofo ao, ona naʻo le faʻaogaina o mea e maua iina, aua Google, Amazon e le faʻatagaina oe e ave se kopi faaletino. O le a iai se faʻafitauli.

Faafetai mo le lipoti. E lua fesili lelei iinei e uiga i MySQL ma le faʻasoaina o punaoa. Ae, o le mea moni, e oʻo mai uma i le mea moni e le o se autu o le DBMS patino, ae o le faila faila atoa. Ma, e tusa ai, o mataupu o le faasoaina atu o punaoa e tatau foi ona foia mai iina, ae le o le faaiuga o le Postgres, ae i le faila faila, i le server, mo se faataitaiga.

E fai si ese la'u fesili. E latalata i le tele-layered database, lea e tele ni laulau. Mo se faʻataʻitaʻiga, matou te setiina se faʻafouga ata e sefulu-terabyte, o loʻo matou toe faia. Ma matou faʻaaoga faapitoa lenei fofo mo faʻamaumauga. O lo'o fa'agasolo pea le toe faia, o lo'o fa'afouina fa'amaumauga. E 100 tagata faigaluega o loʻo galulue faʻatasi, o loʻo faʻaalia pea nei ata eseese. O le a le mea e fai? E faʻafefea ona mautinoa e leai se feteenaiga, na latou faʻalauiloaina se tasi, ona suia ai lea o le faila faila, ma o nei ata na alu uma?

Latou te le alu aua o le auala lena e galue ai le ZFS. E mafai ona tatou tuu eseese i le filo e tasi le suiga o le faiga faila e oo mai ona o le toe faia. Ma fa'atumauina clones o lo'o fa'aogaina e le au atina'e i fa'amaumauga tuai o fa'amaumauga. Ma e aoga mo i tatou, o mea uma e faʻatonuina ma lenei.

E foliga mai o le a faia le faʻafouga o se faʻaopoopoga faʻaopoopo, ma o ata fou uma o le a alu uma, faʻavae i luga o lenei laulau, saʻo?

Mai fa'asologa muamua na sau mai fa'asologa muamua.

O le a paʻuʻu ese le laulau muamua, ae o le a latou faasino i le laulau tuai, ma o le a latou ave ni ata fou mai le vaega mulimuli na maua i le faʻafouga?

I se tulaga lautele, ioe.

Ona o'o mai lea o le a o'o atu i se mati o fa'apapa. Ma i le aluga o taimi latou te manaʻomia le faʻamalosi?

Ioe e sa'o mea uma. E iai se faamalama. Matou te teuina faʻamatalaga i vaiaso taʻitasi. E fa'alagolago i le a le alagaoa o lo'o ia te oe. Afai ei ai sau tomai e teu ai le tele o faʻamatalaga, e mafai ona e teuina ata mo se taimi umi. Latou te le o ese na o i latou. O le a leai ni fa'amatalaga pi'opi'o. Afai o faʻamatalaga ua tuai, e pei ona foliga mai ia i matou, o lona uiga e faʻalagolago i le faiga faʻavae i totonu o le kamupani, ona mafai lea ona matou tapeina ma faʻasaʻo avanoa.

Talofa, faafetai mo le lipoti! Fesili e uiga ia Joe. Na e fai mai e le manaʻo le tagata faʻatau e tuʻuina atu i tagata uma le avanoa i faʻamatalaga. O le tautalaga sa'o, afai e maua e le tagata le fa'ai'uga o le Fa'amatala Iloiloga, ona mafai lea ona ia va'ava'ai i fa'amaumauga.

E faapena. Mo se faʻataʻitaʻiga, e mafai ona tatou tusia: "FILIFILI MAI LE FROM WHERE imeli = i lena". O lona uiga, o le a tatou le vaʻai i faʻamatalaga lava ia, ae mafai ona tatou vaʻaia ni faʻailoga le tuusao. E tatau ona malamalama i ai. Ae i le isi itu, o mea uma lava. E i ai le matou su'ega ogalaau, matou te pulea isi paaga o loʻo vaʻai foi i mea o loʻo faia e le au atinaʻe. Ma afai e taumafai se tasi e faia lenei mea, ona oʻo mai lea o le auaunaga saogalemu ia i latou ma galue i lenei mataupu.

Manuia le aoauli Faafetai mo le lipoti! E i ai sa'u fesili puupuu. Afai e le faʻaaogaina e le kamupani le Slack, pe i ai se faʻamauina i le taimi nei, pe mafai e le au atinaʻe ona faʻapipiʻi faʻataʻitaʻiga ina ia faʻafesoʻotaʻi se suʻega suʻega i faʻamaumauga?

O lea ua i ai se sootaga i Slack, o lona uiga e leai se isi avefeau, ae ou te manaʻo tele e fai se lagolago mo isi avefeau. O le a se mea e mafai ona e faia? E mafai ona e faʻaogaina le DB Lab e aunoa ma Joe, alu ma le fesoasoani a le REST API poʻo le fesoasoani a le matou faʻavae ma fatuina clones ma fesoʻotaʻi ma PSQL. Ae e mafai ona faia lenei mea pe afai ua e sauni e tuʻuina atu i au atinaʻe le avanoa i faʻamaumauga, aua o le a le toe i ai se mata.

Ou te le manaʻomia lenei laulau, ae ou te manaʻomia se avanoa faapena.

Ona ioe, e mafai ona fai.

puna: www.habr.com

Faaopoopo i ai se faamatalaga