DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ahoana no ahafantaran'ny developer backend fa ny fangatahana SQL dia hiasa tsara amin'ny "prod"? Amin'ny orinasa lehibe na mitombo haingana dia tsy ny rehetra no mahazo ny "vokatra". Ary miaraka amin'ny fidirana, tsy ny fangatahana rehetra no azo jerena tsy misy fanaintainana, ary ny famoronana dika mitovy amin'ny angon-drakitra matetika dia maharitra ora maro. Mba hamahana ireo olana ireo dia namorona DBA artifisialy izahay - Joe. Efa nampiharina tamin'ny orinasa maromaro izy io ary manampy mpamorona maherin'ny am-polony.

horonan-tsary:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Salama daholo! Anatoly Stansler no anarako. Miasa amina orinasa aho postgres.ai. Manolo-tena hanafaingana ny fizotran'ny fampandrosoana izahay amin'ny alàlan'ny fanesorana ny fahatarana mifandraika amin'ny asan'ny Postgres avy amin'ny mpamorona, DBA ary QA.

Manana mpanjifa lehibe izahay ary anio ny ampahany amin'ny tatitra dia natokana ho an'ireo tranga nihaona taminay nandritra ny fiaraha-miasa tamin'izy ireo. Hiresaka momba ny fomba nanampianay azy ireo hamaha olana goavana aho.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Rehefa mivoatra sy manao fifindra-monina be pitsiny be pitsiny isika, dia manontany tena hoe: "Handeha ve ity fifindra-monina ity?". Mampiasa famerenana izahay, mampiasa ny fahalalan'ny mpiara-miasa efa za-draharaha kokoa, manam-pahaizana DBA. Ary afaka milaza izy ireo na hanidina na tsia.

Fa angamba tsara kokoa raha afaka mitsapa izany ny tenantsika amin'ny dika mitovy habe. Ary androany dia hiresaka fotsiny momba ny fomba fiasa amin'ny fitsapana amin'izao fotoana izao isika ary ahoana no ahafahana manao izany tsara kokoa ary amin'ny fitaovana inona. Hiresaka momba ny mahatsara sy maharatsy ny fomba fiasa toy izany koa isika, ary inona no azontsika amboarina eto.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Iza no efa nanao index mivantana tamin'ny prod na nanao fanovana? Somary kely. Ary ho an'iza no nahatonga an'izany ho very ny angon-drakitra na nisy fotoana tsy nampoizina? Dia fantatrao izany fanaintainana izany. Misaotra an'Andriamanitra fa misy backup.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ny fomba voalohany dia ny fitsapana amin'ny prod. Na, rehefa mipetraka amin'ny milina eo an-toerana ny mpamorona iray, dia manana angon-drakitra fitsapana izy, misy karazana fifantenana voafetra. Ary miroso amin'ny prod izahay, ary mahazo ity toe-javatra ity.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Marary, lafo. Tsara angamba raha tsy izany.

Ary inona no fomba tsara indrindra hanaovana izany?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Andao haka an-tsehatra ary hifantina ampahany amin'ny prod ao. Na ny tsara indrindra, andao haka tena prod, ny angona rehetra. Ary rehefa avy novolavolaina teto an-toerana, dia hojerentsika koa ny fanaovana fampisehoana.

Izany dia ahafahantsika manala ny sasany amin'ireo lesoka, izany hoe manakana azy ireo tsy ho eo amin'ny prod.

Inona avy ireo olana?

  • Ny olana dia ny fizarana ity sehatra ity amin'ny mpiara-miasa. Ary matetika no mitranga fa manao karazana fiovana ianao, bam - ary tsy misy angon-drakitra, ny asa dia midina. Ny fandaharana dia multi-terabyte. Ary tsy maintsy miandry ela vao hitsangana indray. Ary manapa-kevitra ny hamita izany izahay rahampitso. Izay ilay izy, manana fivoarana isika.
  • Ary, mazava ho azy, manana mpiara-miasa maro miasa ao, ekipa maro. Ary tsy maintsy atao amin'ny tanana izany. Ary tsy mety izany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary mendrika ny milaza fa tsy manana afa-tsy andrana iray isika, tifitra iray, raha te hanao fanovana sasany amin'ny angon-drakitra isika, hikasika ny data, hanova ny rafitra. Ary raha nisy zavatra tsy nety, raha nisy fahadisoana tamin'ny fifindra-monina, dia tsy hihemotra haingana isika.

Tsara kokoa noho ny fomba teo aloha izany, saingy mbola misy ny mety hisian'ny karazana fahadisoana sasany mankany amin'ny famokarana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Inona no manakana antsika tsy hanome dabilio fitsapana, kopia feno habe? Heveriko fa mazava ny zavatra manelingelina.

Iza no manana tahiry lehibe kokoa noho ny terabyte? Mihoatra ny antsasaky ny efitrano.

Ary mazava ho azy fa ny fitazonana milina ho an'ny developer tsirairay, rehefa misy famokarana lehibe toy izany, dia lafo be, ary ankoatra izany, dia mila fotoana lava.

Manana mpanjifa izahay izay nahatsapa fa tena zava-dehibe ny hizaha toetra ny fiovana rehetra amin'ny dika mitovy habe, fa ny tahiry dia latsaky ny terabyte, ary tsy misy loharanon-karena hitazonana dabilio fitsapana ho an'ny mpamorona tsirairay. Noho izany, tsy maintsy misintona ireo fanariam-pako any an-toerana amin'ny milinany izy ireo ary manao fitsapana toy izany. Mitaky fotoana be izany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Na dia manao izany ao anatin'ny fotodrafitrasa aza ianao, dia efa tena tsara ny misintona data iray terabyte isan'ora. Saingy mampiasa fanariana lojika izy ireo, misintona eo an-toerana avy amin'ny rahona. Ho azy ireo dia manodidina ny 200 gigabytes isan'ora ny hafainganam-pandehany. Ary mbola mila fotoana ny hihodinana avy amin'ny fanariam-pako lojika, manodina ny index, sns.

Saingy mampiasa io fomba io izy ireo satria mamela azy ireo hitazona ny prod azo itokisana.

Inona no azontsika atao eto? Andao ataontsika mora ny dabilio andrana ary omeo ny dabilio fitsapana azy manokana ny mpamorona tsirairay.

Ary azo atao izany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary amin'ity fomba ity, rehefa manao clones manify ho an'ny developer tsirairay isika dia afaka mizara izany amin'ny milina iray. Ohatra, raha manana tahiry 10TB ianao ary te hanome izany ho an'ny mpamorona 10 dia tsy mila manana tahiry XNUMX x XNUMXTB ianao. Mila milina iray ihany ianao hanaovana kopia mitokana manify ho an'ny mpamorona tsirairay mampiasa milina iray. Holazaiko aminao ny fomba fiasan'izy io aoriana kely.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ohatra tena izy:

  • DB - 4,5 terabytes.

  • Afaka mahazo kopia tsy miankina isika ao anatin'ny 30 segondra.

Tsy mila miandry toeram-panadinana ianao ary miankina amin'ny habeny. Afaka mahazo izany ao anatin'ny segondra ianao. Ho tontolo mitoka-monina tanteraka izy io, saingy mizara angon-drakitra.

Tsara izany. Eto isika dia miresaka momba ny majika sy izao rehetra izao parallèle.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Amin'ity tranga ity dia miasa amin'ny rafitra OpenZFS izany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

OpenZFS dia rafitra rakitra kopia amin'ny fanoratana izay manohana ireo sary sy clones ivelan'ny boaty. Azo itokisana sy azo scalable izy io. Tena mora ny mitantana azy. Azo apetraka ara-bakiteny amin'ny ekipa roa izany.

Misy safidy hafa:

  • lvm,

  • Storage (ohatra, Pure Storage).

Ny Database Lab resahiko dia modular. Azo ampiharina amin'ny fampiasana ireo safidy ireo. Saingy amin'izao fotoana izao, nifantoka tamin'ny OpenZFS izahay, satria nisy olana tamin'ny LVM manokana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ahoana ny fandehany? Raha tokony hosoloina ny angon-drakitra isaky ny manova azy, dia tehirizinay amin'ny alalan'ny marika fotsiny fa avy amin'ny fotoana vaovao, sary vaovao ity angona vaovao ity.

Ary amin'ny ho avy, rehefa te-hiverina na te-hanao clone vaovao avy amin'ny dikan-teny taloha izahay dia miteny fotsiny hoe: "OK, omeo anay ireto sakana misy angon-drakitra voamarika toy izao."

Ary ity mpampiasa ity dia hiasa amin'ny angon-drakitra toy izany. Hanova azy ireo tsikelikely izy, hanao ny sariny manokana.

Ary hisampana isika. Ny mpamorona tsirairay amin'ity tranga ity dia hanana fahafahana hanana ny kloneny manokana izay ovainy, ary ny angona zaraina dia hozaraina amin'ny rehetra.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mba hametrahana rafitra toy izany ao an-trano dia mila mamaha olana roa ianao:

  • Ny voalohany dia ny loharanon'ny angon-drakitra, izay hitondranao azy. Azonao atao ny mametraka replication miaraka amin'ny famokarana. Efa azonao ampiasaina ny backups izay namboarinao, manantena aho. WAL-E, WAL-G na Barman. Ary na dia mampiasa karazana rahona toy ny RDS na Cloud SQL aza ianao, dia azonao atao ny mampiasa fanariana lojika. Saingy mbola manoro hevitra anao izahay hampiasa backups, satria amin'ity fomba ity dia hitazona ny firafitry ny rakitra ara-batana ihany koa ianao, izay ahafahanao manakaiky kokoa ny metrika izay ho hitanao amin'ny famokarana mba hisambotra ireo olana misy.

  • Ny faharoa dia ny toerana tianao hampiantranoana ny Database Lab. Mety ho Cloud izany, mety ho On-premise. Zava-dehibe ny milaza eto fa ny ZFS dia manohana ny famatrarana data. Ary manao izany tsara.

Alaivo sary an-tsaina fa ho an'ny clone tsirairay toy izany, miankina amin'ny asa ataontsika amin'ny fototra, dia hitombo ny karazana dev. Mba hanaovana izany dia mila toerana ihany koa ny dev. Saingy noho ny nakantsika fototra 4,5 terabytes, ZFS dia hanery azy ho 3,5 terabytes. Mety miovaova arakaraka ny toe-javatra izany. Ary mbola manana toerana ho an'ny dev izahay.

Ny rafitra toy izany dia azo ampiasaina amin'ny tranga samihafa.

  • Ireo dia mpamorona, DBA ho fanamarinana ny fangatahana, ho an'ny fanatsarana.

  • Ity dia azo ampiasaina amin'ny fitsapana QA hitsapana fifindra-monina manokana alohan'ny hanolorantsika azy ho prod. Ary afaka manangana tontolo manokana ho an'ny QA miaraka amin'ny angon-drakitra tena izy, izay ahafahan'izy ireo mitsapa fiasa vaovao. Ary haharitra segondra izany fa tsy ora fiandrasana, ary mety ho andro maromaro amin'ny tranga hafa izay tsy ampiasaina ny kopia manify.

  • Ary tranga iray hafa. Raha tsy manana rafitra famakafakana napetraka ny orinasa, dia azontsika atao ny manasaraka clone manify amin'ny fototry ny vokatra ary manome izany amin'ny fanontaniana lava na fanondro manokana azo ampiasaina amin'ny analytics.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Miaraka amin'ity fomba ity:

  1. Kely ny mety hisian'ny lesoka amin'ny "prod", satria nanandrana ny fiovana rehetra tamin'ny angon-drakitra feno izahay.

  2. Manana kolontsaina fitsapana isika, satria tsy mila miandry ora maro ianao amin'ny fijoroanao manokana.

  3. Ary tsy misy sakana, tsy misy fiandrasana eo anelanelan'ny fitsapana. Tena afaka mandeha mijery ianao. Ary ho tsara kokoa izany fomba izany rehefa manafaingana ny fampandrosoana.

  • Hihena ny refactoring. Vitsy kokoa ny bibikely hiafara amin'ny prod. Haverinay indray izy ireo aoriana kely.

  • Afaka mamadika ny fiovana tsy azo ovaina isika. Tsy fomba fanao mahazatra izany.

  1. Mahasoa izany satria mizara ny loharanon'ny dabilio fitsapana izahay.

Efa tsara, fa inona koa no azo hafainganana?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Noho ny rafitra toy izany dia afaka mampihena be ny tokonam-baravarana amin'ny fidirana amin'ny fitsapana toy izany isika.

Ankehitriny dia misy faribolana masiaka, rehefa ny developer, mba hahazoana ny fidirana amin'ny tena angona feno, dia tsy maintsy ho lasa manam-pahaizana. Tsy maintsy atokisana amin'ny fidirana toy izany izy.

Ahoana anefa no hitombo raha tsy eo. Ahoana anefa raha manana angon-drakitra fitsapana kely dia kely azonao omena anao? Dia tsy hahazo traikefa tena izy.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ahoana no hialana amin'ity faribolana ity? Amin'ny maha-interface voalohany, mety ho an'ny mpamorona amin'ny ambaratonga rehetra, dia nisafidy ny bot Slack izahay. Saingy mety ho interface hafa izany.

Inona no mamela anao hanao izany? Afaka maka fanontaniana manokana ianao ary mandefa izany amin'ny fantsona manokana ho an'ny angon-drakitra. Hapetraka ho azy ny clone manify ao anatin'ny segondra. Andeha hataontsika ity fangatahana ity. Manangona metrika sy tolo-kevitra izahay. Andao haneho sary an-tsaina. Ary avy eo dia hijanona io clone io mba ahafahana manatsara ity fangatahana ity, manampy index, sns.

Ary koa Slack dia manome antsika fahafahana hiara-miasa ivelan'ny boaty. Koa satria fantsona fotsiny ity, dia afaka manomboka miresaka momba an'io fangatahana io ianao ao amin'ny loha-hevitra momba ny fangatahana toy izany, ping amin'ny mpiara-miasa aminao, DBA izay ao anatin'ny orinasa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Saingy misy, mazava ho azy, ny olana. Satria izao no tontolo tena izy, ary mampiasa mpizara mampiantrano klones maro indray mandeha izahay, dia tsy maintsy manindry ny habetsaky ny fitadidiana sy ny herin'ny CPU azo ampiasaina amin'ny klones.

Saingy mba ho azo itokisana ireo fitsapana ireo dia mila mamaha ity olana ity ianao.

Mazava fa ny hevi-dehibe dia ny angon-drakitra mitovy. Fa efa manana izany isika. Ary tiantsika ny hahatratra ny fanamafisana mitovy. Ary afaka manome fanamafisam-peo saika mitovy isika.

Tsara ny manana fitaovana mitovy amin'ny famokarana, saingy mety tsy mitovy.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Andeha hotadidintsika ny fomba fiasan'ny Postgres amin'ny fitadidiana. Manana cache roa izahay. Iray avy amin'ny rafi-drakitra ary Postgres teratany iray, izany hoe Shared Buffer Cache.

Zava-dehibe ny manamarika fa ny Shared Buffer Cache dia omena rehefa manomboka ny Postgres, miankina amin'ny habeny voafaritra ao amin'ny configuration.

Ary ny cache faharoa dia mampiasa ny habaka rehetra misy.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary rehefa manao clones maromaro amin'ny milina iray isika, dia hita fa mameno tsikelikely ny fahatsiarovana. Ary amin'ny fomba tsara, Shared Buffer Cache dia 25% amin'ny fitambaran'ny fitadidiana hita ao amin'ny milina.

Ary hita fa raha tsy manova an'io mari-pamantarana io isika, dia tsy afaka mandeha afa-tsy 4 amin'ny milina iray, izany hoe 4 amin'ireo clones manify ireo. Ary izany, mazava ho azy, dia ratsy, satria tiantsika ny hanana bebe kokoa amin'izy ireo.

Saingy amin'ny lafiny iray, ny Buffer Cache dia ampiasaina amin'ny fametrahana fanontaniana momba ny indexes, izany hoe ny drafitra dia miankina amin'ny haben'ny cache-tsika. Ary raha raisintsika fotsiny io paramètre io ary ahena, dia mety hiova be ny drafitra ataontsika.

Ohatra, raha manana cache lehibe amin'ny prod isika, dia aleon'ny Postgres mampiasa index. Ary raha tsy izany dia hisy ny SeqScan. Ary inona no ho vokany raha tsy nifanojo ny fikasantsika?

Saingy eto isika dia tonga amin'ny fanatsoahan-kevitra fa ny drafitra ao amin'ny Postgres dia tsy miankina amin'ny habe voafaritra voafaritra ao amin'ny Shared Buffer ao amin'ny drafitra, miankina amin'ny effective_cache_size izany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Effective_cache_size dia tombanana ny habetsaky ny cache izay azonay, izany hoe ny fitambaran'ny Buffer Cache sy ny fichier cache. Ity dia napetraky ny config. Ary tsy atokana io fahatsiarovana io.

Ary noho io mari-pamantarana io dia afaka mamitaka ny Postgres isika, milaza fa manana angon-drakitra be dia be isika, na dia tsy manana an'io data io aza. Ary araka izany, ny drafitra dia hifanaraka tanteraka amin'ny famokarana.

Mety hisy fiantraikany amin’ny fotoana anefa izany. Ary manatsara ny fanontaniana amin'ny fotoana izahay, saingy zava-dehibe ny miankina amin'ny lafin-javatra maro ny fotoana:

  • Miankina amin'ny entana misy amin'izao fotoana izao ny prod.

  • Izany dia miankina amin'ny toetra mampiavaka ny milina.

Ary mari-pamantarana ankolaka izany, fa raha ny marina dia azontsika atao tsara ny manatsara ny habetsaky ny angon-drakitra hovakian'ity fanontaniana ity mba hahazoana ny valiny.

Ary raha tianao ny hanakaiky ny fotoana ho hitantsika ao amin'ny prod, dia mila maka ny fitaovana mitovitovy indrindra isika ary, angamba, bebe kokoa mba hifanaraka amin'ny klones rehetra. Fa marimaritra iraisana izany, izany hoe hahazo drafitra mitovy ianao, ho hitanao hoe ohatrinona ny angon-drakitra hovakian'ny fanontaniana iray manokana ary ho afaka hanatsoaka hevitra ianao na tsara (na fifindra-monina) io fanontaniana io na ratsy, mbola mila amboarina. .

Andeha hojerentsika ny fomba nanatsarana manokana an'i Joe.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Andeha isika haka fangatahana avy amin'ny rafitra tena izy. Amin'ity tranga ity, ny tahiry dia 1 terabyte. Ary tianay ny manisa ny isan'ireo lahatsoratra vaovao izay nanana tia mihoatra ny 10.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Manoratra hafatra ho an'ny fantsona izahay, misy clone napetraka ho anay. Ary ho hitantsika fa ho vita ao anatin'ny 2,5 minitra ny fangatahana toy izany. Izany no zavatra voalohany tsikaritra.

B Joe dia hampiseho aminao tolo-kevitra mandeha ho azy mifototra amin'ny drafitra sy ny metrika.

Ho hitantsika fa ny fangatahana dia manodina angona be loatra mba hahazoana laharana somary vitsy. Ary ilaina ny karazana fanondroana manokana, satria tsikaritray fa be loatra ny andalana voasivana ao amin'ny fangatahana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Andeha hojerentsika akaiky ny zava-nitranga. Eny tokoa, hitantsika fa efa namaky ny angona iray sy sasany gigabytes avy amin'ny rakitra cache na avy amin'ny disk. Ary tsy tsara izany, satria tsipika 142 ihany no azonay.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary, toa, manana index index eto izahay ary tokony ho vita haingana, fa noho izahay nanasivana andalana be loatra (tsy maintsy nanisa azy ireo izahay), dia nandeha tsikelikely ilay fangatahana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary izany dia nitranga tao amin'ny drafitra noho ny zava-misy fa ny fepetra ao amin'ny fanontaniana sy ny fepetra ao amin'ny index dia tsy mifanaraka amin'ny ampahany.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Andao hiezaka ny hanao ny fanondroana ho marimarina kokoa ary hojerentsika ny fiovan'ny famonoana fanontaniana aorian'izay.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Naharitra ela ny famoronana ny fanondroana, saingy izao nojerentsika ny fanontaniana ary hitantsika fa ny fotoana fa tsy 2,5 minitra dia 156 milliseconds ihany, izay ampy. Ary tsy mamaky afa-tsy 6 megabytes izahay.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary ankehitriny dia mampiasa scan index ihany izahay.

Ny tantara manan-danja iray hafa dia ny tiantsika haseho amin'ny fomba azo takarina kokoa ilay drafitra. Nametraka sary tamin'ny alàlan'ny Flame Graphs izahay.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Fangatahana hafa ity, mafonja kokoa. Ary manangana Flame Graphs izahay araka ny mari-pamantarana roa: izany no habetsaky ny angon-drakitra voaisa amin'ny node manokana ao amin'ny drafitra sy ny fotoana, izany hoe ny fotoana famonoana ny node.

Eto isika dia afaka mampitaha nodes manokana amin'ny tsirairay. Ary ho hita mazava hoe iza amin'izy ireo no mila mihoatra na latsaka, izay matetika sarotra atao amin'ny fomba fandikana hafa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mazava ho azy fa fantatry ny rehetra ny explain.depesz.com. Ny endri-javatra tsara amin'ity sary ity dia ny mitahiry ny drafitry ny lahatsoratra ary mametraka ihany koa ireo masontsivana fototra ao anaty latabatra mba hahafahantsika mandamina.

Ary ireo mpamorona mbola tsy nandalina an'io lohahevitra io koa dia mampiasa ny explain.depesz.com, satria mora kokoa amin'izy ireo ny mamantatra hoe inona ny metrika manan-danja ary iza no tsy.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Misy fomba fiasa vaovao amin'ny fijerena sary - izany no explain.dalibo.com. Manao sary an-tsaina amin'ny hazo izy ireo, saingy sarotra be ny mampitaha ny nodes. Eto ianao dia afaka mahatakatra tsara ny rafitra, na izany aza, raha misy fangatahana lehibe, dia mila mihodinkodina miverina ianao, fa safidy ihany koa.

fiaraha-miasa

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ary, araka ny nolazaiko, Slack dia manome antsika fahafahana hiara-miasa. Ohatra, raha sendra fanontaniana sarotra izay tsy mazava tsara ny fomba fanatsarana, dia afaka manazava io olana io miaraka amin'ny mpiara-miasa amin'ny kofehy ao amin'ny Slack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Toa anay fa zava-dehibe ny fitsapana amin'ny angon-drakitra feno. Mba hanaovana izany, dia nanao ny Update Database Lab fitaovana, izay hita amin'ny loharano misokatra. Azonao atao koa ny mampiasa ny Joe bot. Azonao atao ny mandray izany dieny izao ary mampihatra izany eo amin'ny toerana misy anao. Misy ny mpitari-dalana rehetra ao.

Zava-dehibe ihany koa ny manamarika fa ny vahaolana dia tsy revolisionera, satria misy Delphix, fa vahaolana orinasa. Mikatona tanteraka, lafo be. Manampahaizana manokana momba ny Postgres izahay. Ireo dia vokatra open source avokoa. Avia ho namanay!

Eto no iafarako. Misaotra anao!

Ny fanontanianao

Salama! Misaotra tamin'ny tatitra! Tena mahaliana, indrindra ho ahy, satria namaha olana iray ihany aho taloha. Ary noho izany dia manana fanontaniana maromaro aho. Manantena aho fa hahazo ampahany amin'izany farafaharatsiny.

Manontany tena aho hoe ahoana no kajy ny toerana ho an'ity tontolo ity? Ny teknôlôjia dia midika fa amin'ny toe-javatra sasany, ny klonenao dia mety hitombo amin'ny habeny ambony indrindra. Raha lazaina amin'ny teny manodidina, raha manana angona terabyte folo sy klones 10 ianao, dia mora ny maka tahaka ny toe-javatra misy ny klone tsirairay milanja angona tokana 10. Ahoana no kajy ity toerana ity, izany hoe, ilay delta nolazainao, izay hitoeran'ireo klones ireo?

Fanontaniana tsara. Zava-dehibe ny manara-maso ireo klones manokana eto. Ary raha misy fiovana lehibe loatra ny clone iray dia manomboka mitombo izany, dia afaka manome fampitandremana ho an'ny mpampiasa momba izany aloha isika, na atsahatra avy hatrany ity clone ity mba tsy hisian'ny toe-javatra tsy mahomby.

Eny, manana fanontaniana mipetraka aho. Izany hoe, ahoana no hiantohanao ny tsingerin'ny fiainan'ireo modules ireo? Manana io olana io isika ary tantara iray misaraka. Ahoana no mitranga izany?

Misy ttl ho an'ny clone tsirairay. Amin'ny ankapobeny, manana ttl raikitra izahay.

Ahoana raha tsy tsiambaratelo?

1 ora, izany hoe tsy miasa - 1 ora. Raha tsy ampiasaina izy io, dia hikapoka azy isika. Saingy tsy misy mahagaga eto, satria afaka mampiakatra ny clone ao anatin'ny segondra isika. Ary raha mila izany indray ianao dia azafady.

Izaho koa dia liana amin'ny fisafidianana ny teknolojia, satria, ohatra, dia mampiasa fomba maromaro mifanitsy amin'ny antony iray na hafa. Nahoana no ZFS? Nahoana ianao no tsy nampiasa LVM? Nilaza ianao fa nisy olana tamin'ny LVM. Inona no olana? Raha ny hevitro, ny safidy tsara indrindra dia amin'ny fitahirizana, amin'ny lafiny fampisehoana.

Inona no olana lehibe amin'ny ZFS? Ny hoe tsy maintsy mihazakazaka amin'ny mpampiantrano iray ihany ianao, izany hoe ny tranga rehetra dia hiaina ao anatin'ny OS iray ihany. Ary amin'ny tranga fitahirizana dia azonao atao ny mampifandray fitaovana samihafa. Ary ny bottleneck dia ireo sakana izay ao amin'ny rafitra fitahirizana ihany. Ary mahaliana ny fanontaniana momba ny fisafidianana ny teknolojia. Nahoana no tsy LVM?

Amin'ny ankapobeny dia afaka miresaka momba ny LVM isika amin'ny fihaonana. Momba ny fitahirizana - lafo fotsiny izany. Afaka mampihatra ny rafitra ZFS na aiza na aiza. Azonao atao ny mametraka izany amin'ny masininao. Azonao atao ny misintona fotsiny ny tahiry ary mametraka izany. ZFS dia napetraka saika na aiza na aiza raha miresaka momba ny Linux isika. Izany hoe, mahazo vahaolana tena mora azo. Ary ny ZFS mihitsy no manome betsaka avy ao anaty boaty. Azonao atao ny mampakatra angona betsaka araka izay tianao, mampifandray kapila marobe, misy snapshots. Ary, araka ny nolazaiko, mora ny mitantana. Izany hoe, toa mahafinaritra be ny mampiasa azy. Voasedra izy, efa taona maro. Manana vondrom-piarahamonina tena lehibe izy izay mitombo. ZFS dia vahaolana azo itokisana.

Nikolai Samokhvalov: Afaka maneho hevitra bebe kokoa ve aho? Nikolay no anarako, miara-miasa amin'i Anatoly izahay. Ekeko fa tsara ny fitahirizana. Ary ny sasany amin'ireo mpanjifanay dia manana Pure Storage sns.

Anatoly dia nanamarika tsara fa mifantoka amin'ny modularity isika. Ary amin'ny ho avy, afaka mampihatra interface tsara ianao - maka sary, manao clone, manimba ny clone. Mora daholo izany. Ary mangatsiaka ny fitahirizana, raha misy izany.

Fa ny ZFS dia azon'ny rehetra atao. DelPhix dia efa ampy, manana mpanjifa 300 izy ireo. Amin'ireo dia manana mpanjifa 100 ny fortune 50, izany hoe mikendry ny NASA, sns. Fotoana tokony hahazoan'ny rehetra io teknolojia io. Ary izany no antony ananantsika Core open source. Manana ampahany interface izay tsy open source izahay. Io no sehatra hasehontsika. Saingy tianay ho azon'ny rehetra idirana izany. Te hanao revolisiona izahay mba hampitsahatra ny maminavina amin'ny solosaina finday ny mpanandrana rehetra. Tsy maintsy manoratra SELECT isika ary mahita avy hatrany fa miadana. Atsaharo ny fiandrasana ny DBA hilaza aminao momba izany. Ity ny tena tanjona. Ary heveriko fa ho tonga amin'izany isika rehetra. Ary ataonay ho an'ny rehetra izany zavatra izany. Noho izany ZFS, satria ho hita na aiza na aiza. Misaotra ny vondrom-piarahamonina tamin'ny famahana olana sy ny fananana fahazoan-dàlana misokatra, sns.*

Miarahaba! Misaotra tamin'ny tatitra! Maxim no anarako. Niatrika olana mitovy izahay. Nanapa-kevitra samirery izy ireo. Ahoana no fizarana loharanon-karena amin'ireo klones ireo? Ny klone tsirairay dia afaka manao ny azy manokana amin'ny fotoana rehetra: ny iray mizaha zavatra iray, ny iray hafa, ny olona iray manangana tondro, misy olona manana asa mavesatra. Ary raha mbola afaka mizara amin'ny CPU ianao, avy eo amin'ny IO, ahoana ny fizaranao? Io no fanontaniana voalohany.

Ary ny fanontaniana faharoa dia momba ny tsy fitovizan'ny fijoroana. Andeha atao hoe manana ZFS eto aho ary mahafinaritra ny zava-drehetra, fa ny mpanjifa amin'ny prod dia tsy manana ZFS, fa ext4, ohatra. Ahoana amin'ity tranga ity?

Tena tsara ny fanontaniana. Nolazaiko kely ity olana ity amin'ny hoe mizara loharano isika. Ary ny vahaolana dia izao. Alao sary an-tsaina hoe manao fitsapana amin'ny sehatra ianao. Azonao atao ihany koa ny manana toe-javatra toy izany amin'ny fotoana iray izay manome entana iray, olon-kafa. Ary vokatr'izany dia mahita metrika tsy takatry ny saina ianao. Na dia ny olana mitovy aza dia mety amin'ny prod. Rehefa te-hijery ny fangatahana sasany ianao ary hahita fa misy olana amin'izany - miasa miadana izany, raha ny marina dia tsy tao amin'ny fangatahana ny olana, fa noho ny fisian'ny karazana enta-mavesatra.

Ary noho izany, zava-dehibe eto ny fifantohana amin'ny hoe inona ny drafitra, inona no dingana horaisinay amin'ny drafitra ary ohatrinona ny angon-drakitra horaisinay momba izany. Ny zava-misy fa ny disks, ohatra, dia ho feno zavatra, dia hisy fiantraikany manokana ny fotoana. Saingy azontsika atao ny manombatombana ny habetsaky ny angona io fangatahana io. Tsy dia zava-dehibe loatra fa amin'izay fotoana izay dia hisy karazana famonoana.

Manana fanontaniana roa aho. Tena zavatra mahafinaritra ity. Efa nisy ve ny tranga izay tena zava-dehibe ny angon-drakitra famokarana, toy ny laharan'ny carte de crédit? Efa misy vonona ve sa asa mitokana? Ary ny fanontaniana faharoa - misy zavatra toy izany ve ho an'ny MySQL?

Momba ny angona. Hanao obfuscation izahay mandra-pahavitanay. Fa raha mametraka an'i Joe marina ianao, raha tsy manome fidirana amin'ny mpamorona ianao, dia tsy misy fidirana amin'ny angon-drakitra. Nahoana? Satria tsy mampiseho angona i Joe. Mampiseho metrika, drafitra ary izay ihany. Niniana natao izany, satria anisan’ny takin’ny mpanjifanay izany. Tian'izy ireo ny ho afaka manatsara nefa tsy manome fidirana amin'ny rehetra.

Momba ny MySQL. Ity rafitra ity dia azo ampiasaina amin'ny zavatra rehetra mitahiry fanjakana amin'ny kapila. Ary satria manao Postgres izahay dia manao ny automation rehetra ho an'ny Postgres aloha izahay. Te-hanao ho azy ny fahazoana angona avy amin'ny backup izahay. Manamboatra tsara ny Postgres izahay. Fantatray ny fomba hampifanaraka ny drafitra, sns.

Saingy satria azo itarina ny rafitra dia azo ampiasaina amin'ny MySQL ihany koa. Ary misy ohatra toy izany. Manana zavatra mitovy amin'izany i Yandex, saingy tsy avoakany na aiza na aiza. Ampiasain'izy ireo ao anatin'ny Yandex.Metrica izany. Ary misy tantara momba ny MySQL fotsiny. Fa ny teknolojia dia mitovy, ZFS.

Misaotra tamin'ny tatitra! Manana fanontaniana roa koa aho. Nolazainao fa azo ampiasaina amin'ny analyse ny cloning, ohatra mba hananganana index fanampiny any. Afaka milaza zavatra kely momba ny fomba fiasan'izy io ve ianao?

Ary hanontany avy hatrany ny fanontaniana faharoa momba ny fitoviana amin'ny fijoroana aho, ny fitoviana amin'ny drafitra. Miankina amin'ny antontan'isa nangonin'ny Postgres ihany koa ny drafitra. Ahoana no fomba hamahana ity olana ity?

Araka ny fanadihadiana dia tsy misy tranga manokana, satria tsy mbola nampiasa izany izahay, fa misy ny fahafahana toy izany. Raha miresaka momba ny fanondroana isika dia alaivo sary an-tsaina hoe manenjika latabatra misy firaketana an-jatony tapitrisa sy tsanganana iray izay matetika tsy voatanisa ao anaty prod ny fangatahana. Ary te-hikajy angon-drakitra sasany any izahay. Raha alefa any amin'ny prod io fangatahana io dia misy ny mety ho tsotra amin'ny prod, satria ao anatin'ny iray minitra ny fangatahana.

Ok, andao hanao clone manify izay tsy mahatahotra hijanona mandritra ny minitra vitsivitsy. Ary mba hahamora kokoa ny famakiana ny analyse, dia hampiditra indices ho an'ireo tsanganana izay mahaliana anay amin'ny data izahay.

Hoforonina isaky ny misy ny fanondroana?

Azonao atao izany mba hikasika ny angon-drakitra izahay, hanaovana sary, dia ho tafarina amin'ity sary ity izahay ary hitondra fangatahana vaovao. Izany hoe, azonao atao izany mba hahafahanao manangana clones vaovao misy indices efa mipetaka.

Raha ny fanontaniana momba ny statistika, raha mamerina amin'ny backup isika, raha manao replication, dia hitovy tanteraka ny antontan'isa. Satria manana ny firafitry ny angon-drakitra ara-batana manontolo isika, izany hoe hitondra ny angon-drakitra toy ny amin'ny metrika statistika rehetra ihany koa.

Ity misy olana hafa. Raha mampiasa vahaolana rahona ianao, dia ny fanariana lojika ihany no misy ao, satria Google, Amazon dia tsy mamela anao haka kopia ara-batana. Hisy olana.

Misaotra tamin'ny tatitra. Nisy fanontaniana roa tsara teto momba ny MySQL sy ny fizarana loharano. Saingy, raha ny marina, izany rehetra izany dia tonga amin'ny zava-misy fa tsy lohahevitra momba ny DBMS manokana izany, fa ny rafitra rakitra amin'ny ankapobeny. Ary, araka izany, ny olana amin'ny fifampizaràna loharanon-karena dia tokony ho voavaha avy eo, tsy amin'ny farany hoe Postgres, fa ao amin'ny rafi-drakitra, ao amin'ny server, ohatra.

Hafa kely ny fanontaniako. Manakaiky kokoa ny angon-drakitra misy sosona maromaro izy io, izay misy sosona maromaro. Ohatra, manangana fanavaozana sary folo terabyte izahay, mamerina indray. Ary mampiasa manokana ity vahaolana ity ho an'ny angon-drakitra izahay. Eo am-panaovana ny famerenam-bola, havaozina ny angon-drakitra. Miisa 100 ny mpiasa miara-miasa eto, izay tsy mitsaha-mitombo ireo tifitra samihafa ireo. Ny hatao? Ahoana no hahazoana antoka fa tsy misy fifandirana, nanokatra iray izy ireo, ary avy eo niova ny rafi-drakitra, ary nandeha daholo ireo sary ireo?

Tsy handeha izy ireo satria izany no fomba fiasan'ny ZFS. Afaka mitazona misaraka amin'ny kofehy iray ny fiovan'ny rafi-drakitra izay tonga noho ny replication. Ary tehirizo ireo klone ampiasain'ny mpamorona amin'ny dikan-teny tranainy kokoa. Ary miasa ho antsika izany, milamina ny zava-drehetra amin'ity.

Hita fa ny fanavaozana dia hatao ho sosona fanampiny, ary ny sary vaovao rehetra dia handeha sahady, mifototra amin'ity sosona ity, sa tsy izany?

Avy amin'ny sosona teo aloha izay avy amin'ny replication teo aloha.

Hirodana ny sosona teo aloha, fa hanondro ny sosona taloha, ary haka sary vaovao avy amin'ny sosona farany voaray tamin'ny fanavaozana ve izy ireo?

Amin'ny ankapobeny, eny.

Avy eo, ho vokatr'izany dia hanana aviavy iray isika. Ary rehefa mandeha ny fotoana dia mila compresses izy ireo?

Eny marina ny zava-drehetra. Misy varavarankely. Mitahiry sary isan-kerinandro izahay. Miankina amin'ny loharano anananao izany. Raha manana fahafahana mitahiry angon-drakitra be dia be ianao dia afaka mitahiry snapshots mandritra ny fotoana maharitra. Tsy handeha irery izy ireo. Tsy hisy ny kolikoly data. Raha lany andro ny snapshots, araka ny fahitantsika azy, izany hoe miankina amin'ny politika ao amin'ny orinasa, dia afaka mamafa azy ireo fotsiny isika ary manafaka toerana.

Salama, misaotra amin'ny tatitra! Fanontaniana momba an'i Joe. Nilaza ianao fa tsy te-hanome ny olona rehetra miditra amin'ny data ny mpanjifa. Raha ny marina, raha manana ny vokatry ny Explain Analyze ny olona iray, dia afaka mijery ny angon-drakitra izy.

Tahaka izany. Ohatra, afaka manoratra isika hoe: "FIDIO AVY AIZA ny mailaka = amin'izany". Izany hoe, tsy ho hitantsika mihitsy ny angon-drakitra, fa mahita famantarana ankolaka vitsivitsy. Tokony ho takatra izany. Saingy etsy ankilany, misy izany rehetra izany. Manana fanaraha-maso ny diary izahay, manana ny fanaraha-maso ny mpiara-miasa hafa izay mahita ihany koa ny ataon'ny mpamorona. Ary raha misy olona manandrana manao izany, dia ho avy any amin'izy ireo ny serivisy fiarovana ary hiasa amin'ity olana ity.

Salama Misaotra tamin'ny tatitra! Manana fanontaniana fohy aho. Raha tsy mampiasa Slack ny orinasa, misy mifamatotra amin'izany ve izao, sa azon'ny mpamorona mametraka ohatra mba hampifandraisana ny rindranasa fitsapana amin'ny angon-drakitra?

Ankehitriny dia misy rohy mankany amin'ny Slack, izany hoe tsy misy messenger hafa, fa tena te hanao fanohanana ho an'ny iraka hafa koa aho. Inona no azonao atao? Azonao atao ny mametraka DB Lab tsy misy an'i Joe, mandehana miaraka amin'ny fanampian'ny REST API na miaraka amin'ny fanampian'ny sehatray ary mamorona klones ary mifandray amin'ny PSQL. Saingy azo atao izany raha vonona ny hanome fidirana amin'ny angon-drakitra ny mpamorona anao, satria tsy hisy efijery intsony.

Tsy mila an'io sosona io aho, fa mila fahafahana toy izany.

Dia eny, azo atao izany.

Source: www.habr.com

Add a comment