DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mugadziri webackend anonzwisisa sei kuti mubvunzo weSQL uchashanda zvakanaka pa "prod"? Mumakambani makuru kana ari kukurumidza kukura, havasi vese vanogona kuwana "chigadzirwa". Uye nekuwana, hazvisi zvese zvikumbiro zvinogona kutariswa zvisina kurwadza, uye kugadzira kopi yedhatabhesi kunowanzotora maawa. Kuti tigadzirise matambudziko aya, takagadzira yekunyepedzera DBA - Joe. Yakatoitwa zvinobudirira mumakambani akati wandei uye inobatsira vanopfuura gumi nevaviri vanogadzira.

Vhidhiyo:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mhoroi mose! Ini ndinonzi Anatoly Stansler. Ndinoshanda kune imwe kambani postgres.ai. Isu takazvipira kukurumidza kusimudzira maitiro nekubvisa kunonoka kunoenderana nebasa rePostgres kubva kuvagadziri, DBAs uye QAs.

Tine vatengi vakanyanya uye nhasi chikamu chemushumo chichapihwa kune nyaya dzatakasangana nadzo tichishanda navo. Ndichataura pamusoro pekuti takavabatsira sei kugadzirisa matambudziko akakomba.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Patinenge tichigadzira uye tichiita kutama kwakaoma kwekutakura, tinozvibvunza mubvunzo: "Kutama uku kuchaenda here?". Isu tinoshandisa ongororo, isu tinoshandisa ruzivo rwevakawanda vane ruzivo vatinoshanda navo, DBA nyanzvi. Uye vanogona kuziva kuti ichabhururuka here kana kuti kwete.

Asi pamwe zvingava nani kana tikazviedza isu pachedu pamakopi akazara. Uye nhasi tichangotaura nezve nzira dzipi dzekuyedza ikozvino uye kuti zvingaitwe nani uye nemidziyo ipi. Tichazotaurawo nezve zvakanakira nekuipira nzira dzakadai, uye zvatingagadzirisa pano.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ndiani akambogadzira indexes zvakananga paprod kana kuita chero shanduko? Zvishoma. Uye izvi zvakatungamira ani kune chokwadi chekuti data rakarasika kana kuti pakanga paine nguva yekudzikira? Ipapo unoziva kurwadziwa uku. Thank God kune ma backups.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nzira yekutanga ndeyekuedza mu prod. Kana, kana mugadziri akagara pamushini wemuno, ane data rekuyedza, pane imwe mhando yesarudzo shoma. Uye isu tinoburitsa kune prod, uye tinowana mamiriro aya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Zvinorwadza, zvinodhura. Zvingangodaro zvakanaka kuti usadaro.

Uye ndeipi nzira yakanakisisa yekuzviita?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ngatitorei staging tosarudza chimwe chikamu cheprod ipapo. Kana zvakanyanya, ngatitorei prod chaiyo, data rese. Uye mushure mekunge tazvigadzira munharaunda, isu tichazoongororazve nhanho.

Izvi zvinotibvumira kubvisa zvimwe zvikanganiso, i.e. kudzivirira kuti dzisave paprod.

Zvinetso ndezvipi?

  • Dambudziko nderekuti tinogovana chiitiko ichi nevatinoshanda navo. Uye kazhinji zvinoitika kuti iwe unoita imwe mhando yekuchinja, bam - uye hapana data, basa riri pasi pemvura. Staging yaive multi-terabyte. Uye iwe unofanirwa kumirira kwenguva yakareba kuti isimuke zvakare. Uye isu tinosarudza kuipedzisa mangwana. Ndizvozvo, tine budiriro.
  • Uye, hongu, tine vakawanda vatinoshanda navo vanoshanda ikoko, zvikwata zvakawanda. Uye inofanira kuitwa nemaoko. Uye izvi hazvibatsiri.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye zvakakosha kuti titaure kuti isu tine kuyedza kumwe chete, pfuti imwe, kana tichida kuita shanduko kune dhatabhesi, bata data, shandura chimiro. Uye kana chimwe chinhu chisina kumira zvakanaka, kana pakange paine chikanganiso mukutama, saka isu hatisi kukurumidza kudzokera kumashure.

Izvi zviri nani pane nzira yapfuura, asi kuchine mukana wakakura wekuti imwe mhando yekukanganisa ichaenda kukugadzirwa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Chii chinotitadzisa kupa mugadziri wega wega bhenji rekuyedza, saizi yakazara kopi? Ndinofunga zviri pachena kuti chii chinopinda munzira.

Ndiani ane database yakakura kudarika terabyte? Inopfuura hafu yekamuri.

Uye zviri pachena kuti kuchengetedza michina yemugadziri wega wega, kana paine yakakura kudaro kugadzirwa, inodhura zvakanyanya, uye kunze, zvinotora nguva yakareba.

Tine vatengi vakaona kuti zvakakosha kuedza kuchinja kwese pamakopi akazara, asi dhatabhesi yavo iri pasi pe terabyte, uye hapana zvigadziro zvekuchengetedza bhenji rekuedza kune umwe neumwe mugadziri. Naizvozvo, ivo vanofanirwa kudhawunirodha marasi emunharaunda kumuchina wavo uye kuyedza nenzira iyi. Zvinotora nguva yakawanda.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kunyangwe iwe ukazviita mukati mezvivakwa, ipapo kurodha imwe terabyte yedata paawa yatove yakanaka kwazvo. Asi vanoshandisa dumps zvine musoro, vanotora munharaunda kubva mugore. Kwavari, kumhanya kunosvika 200 gigabytes paawa. Uye zvichiri kutora nguva kutendeuka kubva pakurasira zvine musoro, kupeta ma indexes, nezvimwe.

Asi vanoshandisa nzira iyi nekuti inovatendera kuti vachengete prod yakavimbika.

Chii chatingaita pano? Ngatiite mabhenji ebvunzo akachipa uye tipe wega wega bhenji rekuyedza.

Uye izvi zvinogoneka.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye nenzira iyi, kana tichigadzira zvidhori zvitete zvemugadziri wega wega, tinogona kugovera pamushini mumwe. Semuenzaniso, kana uine 10TB dhatabhesi uye uchida kuipa kuvagadziri gumi, haufanirwe kuve negumi x 10TB dhatabhesi. Iwe unongoda muchina mumwe chete kugadzira makopi akatetepa ega ega ega anovandudza uchishandisa muchina mumwe. Ndichakuudza kuti inoshanda sei pave paya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Muenzaniso chaiwo:

  • DB - 4,5 terabytes.

  • Tinogona kuwana makopi akazvimirira mumasekonzi makumi matatu.

Haufanire kumirira test stand uye zvinoenderana nekuti yakakura sei. Unogona kuiwana mumasekonzi. Ichave yakasarudzika nharaunda, asi iyo inogovana data pakati pavo.

Izvi zvakanaka. Pano tiri kutaura nezvemashiripiti uye chadenga chakafanana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kwatiri, izvi zvinoshanda uchishandisa OpenZFS system.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

OpenZFS ikopi-pa-kunyora faira system inotsigira snapshots uye clones kunze kwebhokisi. Inovimbika uye inokura. Ari nyore kwazvo kubata. Inogona kuiswa muzvikwata zviviri.

Pane dzimwe sarudzo:

  • lvm,

  • Kuchengetedza (somuenzaniso, Pure Storage).

Iyo Database Lab yandiri kutaura nezvayo ndeye modular. Inogona kushandiswa uchishandisa idzi sarudzo. Asi parizvino, isu takatarisana neOpenZFS, nekuti pakanga paine matambudziko neLVM chaizvo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Inoshanda sei? Panzvimbo pekunyora iyo data pese patinoichinja, tinoichengetedza nekungomaka kuti iyi data nyowani iri kubva pane imwe nzvimbo munguva, snapshot nyowani.

Uye mune ramangwana, kana tichida kudzoreredza kana kuti tichida kugadzira clone nyowani kubva kune imwe yekare vhezheni, tinongoti: "Zvakanaka, tipei aya mabhuroki edata akanyorwa seizvi."

Uye mushandisi uyu achashanda neiyo data seti. Achavashandura zvishoma nezvishoma, oita snapshots yake.

Uye isu tichabata. Mumwe nemumwe anovandudza mune yedu achave nemukana wekuve newake clone waanogadzirisa, uye iyo data inogovaniswa ichagoverwa pakati pemunhu wese.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuti uise system yakadaro kumba, unofanirwa kugadzirisa matambudziko maviri:

  • Yekutanga ndiyo tsime re data, kwaunozoitora kubva. Iwe unogona kuseta replication nekugadzira. Iwe unogona kutoshandisa ma backups awakagadzirisa, ndinovimba. WAL-E, WAL-G kana Barman. Uye kunyangwe iwe uri kushandisa imwe mhando ye Cloud mhinduro senge RDS kana Cloud SQL, saka unogona kushandisa zvine musoro dumps. Asi isu tichiri kukuraira kuti ushandise backups, nekuti neiyi nzira iwe unozochengetawo chimiro chechimiro chemafaira, izvo zvinokutendera iwe kuti uswedere pedyo nemametrics aunoona mukugadzira kuitira kubata iwo matambudziko aripo.

  • Yechipiri ndipo paunoda kugamuchira iyo Database Lab. Inogona kunge iri Cloud, inogona kunge iri On-premise. Izvo zvakakosha kutaura pano kuti ZFS inotsigira kudzvanywa kwedata. Uye inoita chaizvo.

Fungidzira kuti kune yega yega clone, zvichienderana nemashandiro atinoita ne base, imwe mhando ye dev inokura. Kune izvi, dev inodawo nzvimbo. Asi nekuda kwekuti isu takatora hwaro hwe4,5 terabytes, ZFS ichaimanikidza kusvika 3,5 terabytes. Izvi zvinogona kusiyana zvichienderana nezvirongwa. Uye tichine nzvimbo ye dev.

Sistimu yakadaro inogona kushandiswa kumatare akasiyana.

  • Ava ndivo vagadziri, maDBA ekusimbisa mubvunzo, kuitira optimization.

  • Izvi zvinogona kushandiswa mukuyedzwa kweQA kuyedza kumwe kutama tisati taburitsa kune prod. Uye isu tinogona zvakare kusimudza akakosha nharaunda dzeQA nedata chairo, kwavanogona kuyedza mashandiro matsva. Uye zvinotora masekondi panzvimbo yemaawa ekumirira, uye pamwe mazuva mune dzimwe nguva apo makopi matete asingashandiswe.

  • Uye imwe nyaya. Kana iyo kambani isina analytics system yakamisikidzwa, saka isu tinokwanisa kupatsanura yakatetepa clone yechigadziko chechigadzirwa uye tochipa kumibvunzo mirefu kana yakakosha indexes inogona kushandiswa muanalytics.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nenzira iyi:

  1. Yakaderera mukana wekukanganisa pa "prod", nekuti isu takaedza zvese shanduko pane yakazara-saizi data.

  2. Isu tine tsika yekuyedza, nekuti ikozvino haufanirwe kumirira kwemaawa kune yako kumira.

  3. Uye hapana chipingamupinyi, hapana kumirira pakati pebvunzo. Iwe unogona chaizvo kuenda uye kutarisa. Uye zvichava nani nenzira iyi sezvo isu tichikurumidzira budiriro.

  • Pachava zvishoma refactoring. Zvipembenene zvishoma zvinozopedzisira zvave muprod. Tichazvigadzirisa zvishoma gare gare.

  • Tinogona kudzosera shanduko dzisingadzoreki. Iyi haisiriyo nzira yakajairika.

  1. Izvi zvinobatsira nekuti tinogovana zviwanikwa zvemabhenji ebvunzo.

Yatove yakanaka, asi chii chimwe chinogona kukurumidzirwa?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nekuda kwehurongwa hwakadaro, tinogona kuderedza zvakanyanya chikumbaridzo chekupinda mukuyedzwa kwakadaro.

Ikozvino kune denderedzwa rakashata, apo mugadziri, kuti awane kuwana chaiyo yakazara-saizi data, anofanira kuve nyanzvi. Anofanira kuvimbwa nekuwana kwakadaro.

Asi kukura sei kana isipo. Asi ko kana iwe uchingove nediki diki seti yebvunzo data inowanikwa kwauri? Ipapo iwe hauzowana chero chiitiko chaicho.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nzira yekubuda mudenderedzwa iri? Seyekutanga interface, yakanakira vanogadzira chero nhanho, isu takasarudza iyo Slack bot. Asi inogona kuva chero imwe interface.

Chii chinokubvumira kuita? Iwe unogona kutora chaiwo mubvunzo wotumira kune yakakosha chiteshi chedhatabhesi. Isu tinozoisa otomatiki clone yakatetepa mumasekonzi. Ngatimhanye chikumbiro ichi. Isu tinounganidza metrics uye kurudziro. Ngatiratidze chiono. Uye ipapo iyi clone icharamba iripo kuitira kuti mubvunzo uyu ugone kugadziridzwa neimwe nzira, wedzera indexes, nezvimwe.

Uye zvakare Slack inotipa mikana yekubatana kunze kwebhokisi. Sezvo ichi chingori chiteshi, unogona kutanga kukurukura chikumbiro ichi ipapo mushinda yechikumbiro chakadaro, ping vamwe vako, maDBA ari mukati mekambani.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Asi pane, hongu, matambudziko. Nekuti iyi ndiyo nyika chaiyo, uye isu tiri kushandisa sevha inobata akawanda clones kamwechete, isu tinofanirwa kudzvanya huwandu hwendangariro uye CPU simba rinowanikwa kune clones.

Asi kuti bvunzo idzi dzive dzinonzwisisika, unofanirwa kugadzirisa dambudziko iri neimwe nzira.

Zviri pachena kuti pfungwa inokosha ndeye data yakafanana. Asi isu tatova nayo. Uye isu tinoda kuwana zvakafanana kumisikidzwa. Uye isu tinogona kupa yakada kufanana configuration.

Zvingave zvakanaka kuve neiyo hardware yakafanana neyekugadzira, asi inogona kusiyana.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ngatiyeukei kuti Postgres inoshanda sei nendangariro. Tine cache mbiri. Imwe kubva kufaira system uye imwe yemuno Postgres, i.e. Yakagoverwa Buffer Cache.

Izvo zvakakosha kuti uzive kuti iyo Shared Buffer Cache inopihwa kana Postgres yatanga, zvichienderana nesaizi yaunotsanangura mukugadzirisa.

Uye yechipiri cache inoshandisa yese iripo nzvimbo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye kana tikaita akawanda clones pamushini mumwe, zvinoitika kuti tinozadza ndangariro zvishoma nezvishoma. Uye nenzira yakanaka, Shared Buffer Cache ndeye 25% yehuwandu hwendangariro huripo pamushini.

Uye zvinozoitika kuti kana tikasachinja iyi parameter, isu tichakwanisa kumhanya chete 4 zviitiko pamushini mumwe, i.e. 4 yeese matete clones akadaro. Uye izvi, hongu, zvakaipa, nekuti isu tinoda kuva nezvakawanda zvavo.

Asi nerumwe rutivi, Buffer Cache inoshandiswa kuita mibvunzo yema indexes, ndiko kuti, chirongwa chinoenderana nekukura kwakaita macache edu. Uye kana tikangotora iyi parameter toideredza, saka zvirongwa zvedu zvinogona kuchinja zvakanyanya.

Semuenzaniso, kana isu tiine cache hombe pane prod, saka Postgres inosarudza kushandisa index. Uye kana zvisiri, ipapo pachava neSeqScan. Uye chii chaizobatsira kana zvirongwa zvedu zvikasapindirana?

Asi pano tasvika kumhedziso yekuti chokwadi chirongwa chiri muPostgres hachitsamiri pane chaiyo saizi inotsanangurwa muShared Buffer muchirongwa, zvinoenderana neiyo inoshanda_cache_size.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Effective_cache_size ndiyo inofungidzirwa huwandu hwecache inowanikwa kwatiri, kureva huwandu hweBuffer Cache uye faira system cache. Izvi zvinogadziriswa ne config. Uye iyi ndangariro haina kugoverwa.

Uye nekuda kweiyi paramita, tinogona kunyengedza Postgres, tichitaura kuti isu tine yakawanda data iripo, kunyangwe isu tisina iyi data. Uye nokudaro, zvirongwa zvichanyatsoenderana nekugadzirwa.

Asi izvi zvinogona kukanganisa nguva. Uye isu tinokwidziridza mibvunzo nekuita nguva, asi zvakakosha kuti nguva inoenderana nezvakawanda zvinhu:

  • Zvinoenderana nemutoro uri pari zvino pane prod.

  • Izvo zvinoenderana nehunhu hwemuchina pachawo.

Uye iyi ndiyo isina kunanga paramende, asi kutaura zvazviri isu tinogona kukwirisa chaizvo nehuwandu hwe data ichaverengwa nemubvunzo uyu kuti uwane mhedzisiro.

Uye kana iwe uchida kuti nguva ive padyo nezvatichaona muprod, saka isu tinoda kutora yakanyanya kufanana Hardware uye, pamwe, zvakanyanya kuitira kuti ma clones ese akwane. Asi uku kukanganisa, kureva kuti iwe uchawana zvirongwa zvakafanana, iwe uchaona kuti yakawanda sei data iyo mubvunzo uchaverenga uye iwe uchakwanisa kupedzisa kuti mubvunzo uyu wakanaka (kana kutama) kana wakashata, uchiri kuda kuvandudzwa. .

Ngatitarisei kuti Joe akagadziridzwa sei chaizvo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ngatitore chikumbiro kubva kuhurongwa chaihwo. Muchiitiko ichi, database ndeye 1 terabyte. Uye isu tinoda kuverenga huwandu hwezvinyorwa zvitsva zvaive neanopfuura gumi anoda.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tiri kunyora meseji kune chiteshi, clone yakatumirwa isu. Uye isu tichaona kuti chikumbiro chakadaro chinopera mumaminitsi 2,5. Ichi ndicho chinhu chekutanga chatinoona.

B Joe anokuratidza otomatiki kurudziro zvichienderana nehurongwa uye metrics.

Tichaona kuti mubvunzo unobata data rakawandisa kuti uwane nhamba shoma yemitsara. Uye imwe mhando yehunyanzvi index inodiwa, sezvo takaona kuti kune mitsetse yakawandisa yakasefa mumubvunzo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ngatimbonyatsoongorora zvakaitika. Zvechokwadi, tinoona kuti takaverenga inenge imwe nehafu gigabytes yedata kubva kufaira cache kana kunyange kubva ku diski. Uye izvi hazvina kunaka, nekuti isu tine mitsara 142 chete.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye, zvinoita sekunge, isu tine index scan pano uye taifanira kunge tashanda nekukasira, asi sezvo takasefa mitsetse yakawandisa (taifanira kuiverenga), mubvunzo wakafamba zvishoma nezvishoma.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye izvi zvakaitika muchirongwa nekuda kwekuti mamiriro emubvunzo uye mamiriro ari mune index zvishoma haaenderane.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ngatiedzei kuita kuti index yacho inyatsojeka uye tione kuti mhinduro yemubvunzo inoshanduka sei mushure meizvozvo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kusikwa kweindekisi kwakatora nguva yakareba, asi ikozvino tinotarisa mubvunzo uye tinoona kuti nguva panzvimbo ye 2,5 maminetsi inongova 156 milliseconds, izvo zvakanaka zvakakwana. Uye isu tinoverenga chete 6 megabytes yedata.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye zvino isu tinoshandisa index chete scan.

Imwe nyaya inokosha ndeyokuti tinoda kupa hurongwa neimwe nzira inonzwisisika. Isu takaita zvekuona tichishandisa Flame Grafu.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ichi chikumbiro chakasiyana, chakanyanya. Uye isu tinovaka Flame Graphs maererano nemiganhu miviri: iyi ndiyo nhamba ye data iyo imwe node yakaverengwa muurongwa uye nguva, i.e. nguva yekuuraya ye node.

Pano tinogona kuenzanisa node dzakananga kune mumwe nemumwe. Uye zvichava pachena kuti ndeupi wavo anotora zvakawanda kana zvishoma, izvo zvinowanzoomera kuita mune dzimwe nzira dzekupa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ehe, munhu wese anoziva explain.depesz.com. Chinhu chakanaka chekutarisa uku ndechekuti isu tinochengetedza chinyorwa chinyorwa uye zvakare tinoisa mamwe ekutanga ma paramita mutafura kuti isu tigone kuronga.

Uye vanogadzira vasati vapinda mumusoro wenyaya iyi vanoshandisawo explain.depesz.com, nekuti zviri nyore kwavari kuti vaone kuti ndeapi metrics akakosha uye ayo asina.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Pane nzira nyowani yekuona - iyi inotsanangura.dalibo.com. Ivo vanoita mucherechedzo wemuti, asi zvakaoma kwazvo kuenzanisa node nemumwe. Pano iwe unogona kunzwisisa chimiro chacho zvakanaka, zvisinei, kana pane chikumbiro chakakura, saka iwe uchada kutenderera mberi nekudzoka, asiwo sarudzo.

kubatana

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Uye, sezvandakataura, Slack inotipa mukana wekubatana. Semuyenzaniso, kana tikasangana nemubvunzo wakaoma usiri pachena kuti wokwirisa sei, tinogona kujekesa nyaya iyi nevatinoshanda navo mune tambo muSlack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Zvinoratidzika kwatiri kuti zvakakosha kuyedza pane yakazara saizi data. Kuti tiite izvi, takagadzira iyo Yekuvandudza Database Lab chishandiso, inowanikwa mune yakavhurika sosi. Unogona kushandisa Joe bot futi. Iwe unogona kuzvitora iye zvino wozvishandisa panzvimbo yako. Madhairekitori ese anowanikwa ipapo.

Izvo zvakakoshawo kuziva kuti mhinduro pachayo haisi yekuchinja, nekuti kune Delphix, asi iri bhizinesi mhinduro. Yakavharwa zvachose, inodhura zvikuru. Isu tinonyanya hunyanzvi muPostgres. Izvi zvese zvakavhurwa sosi zvigadzirwa. Join us!

Apa ndipo pandinogumira. Ndatenda!

Mibvunzo yako

Mhoro! Ndatenda neshumo! Zvinonakidza kwazvo, kunyanya kwandiri, nekuti ndakagadzirisa nezvedambudziko rimwe chete nguva yapfuura. Uye saka ndine akati wandei mibvunzo. Ndinovimba ndichawana kana chikamu chayo.

Ndinoshamisika kuti unoverenga sei nzvimbo yenzvimbo ino? Tekinoroji inoreva kuti mune mamwe mamiriro ezvinhu, ma clones ako anogona kukura kusvika pakukura. Zvichireva kutaura, kana uine gumi terabyte dhatabheti uye gumi clones, saka zviri nyore kutevedzera mamiriro apo clone yega yega inoyera gumi yakasarudzika data. Unoverenga sei nzvimbo ino, kureva kuti, iyo delta yawakataura nezvayo, pachagara ma clones aya?

Mubvunzo wakanaka. Izvo zvakakosha kuti utarise chaiwo clones pano. Uye kana clone iine shanduko yakakura kwazvo, inotanga kukura, saka tinogona kutanga tapa yambiro kumushandisi nezvazvo, kana nekukasira kumisa iyi clone kuti tisaite yekutadza mamiriro.

Hongu, ndine mubvunzo wakasununguka. Ndokunge, unoita sei shuwa kutenderera kwehupenyu hweaya ma module? Tine dambudziko iri uye nyaya yakasiyana. Izvi zvinoitika sei?

Kune imwe ttl kune yega yega clone. Chaizvoizvo, isu tine yakagadziriswa ttl.

Ko, kana chisiri chakavanzika?

1 awa, i.e. isina basa - 1 awa. Kana ikasashandiswa, tinoirova. Asi hapana chinoshamisa pano, sezvo isu tichigona kusimudza clone mumasekonzi. Uye kana iwe uchichida zvakare, saka ndapota.

Iniwo ndinofarira kusarudzwa kwetekinoroji, nekuti, semuenzaniso, tinoshandisa nzira dzinoverengeka mukufanana kune chimwe chikonzero kana chimwe. Nei ZFS? Sei usina kushandisa LVM? Iwe wakataura kuti pane matambudziko neLVM. Matambudziko aiva api? Mune maonero angu, iyo yakanyanya kunaka sarudzo ndeyekuchengetedza, maererano nekuita.

Dambudziko guru reZFS nderei? Icho chokwadi chekuti iwe unofanirwa kumhanya pane imwechete saiti, i.e. zviitiko zvese zvinogara mukati meiyo OS imwechete. Uye munyaya yekuchengetedza, unogona kubatanidza michina yakasiyana. Uye iyo bhodhoro ingori zvivharo izvo zviri pane yekuchengetedza system. Uye mubvunzo wekusarudzwa kwemichina inonakidza. Nei isiri LVM?

Kunyanya, isu tinogona kukurukura LVM pamusangano. Nezvekuchengetedza - zvinongodhura. Tinogona kuita iyo ZFS system chero kupi. Unogona kuiisa pamushini wako. Iwe unogona kungo dhawunirodha repository uye woitumira. ZFS yakaiswa pese pese kana tiri kutaura nezve Linux. Ndiko kuti, tinowana mhinduro inoshanduka. Uye kunze kwebhokisi, ZFS inopa zvakawanda. Iwe unogona kurodha data rakawanda sezvaunoda, batanidza nhamba huru yemadhisiki, pane snapshots. Uye, sezvandakataura, zviri nyore kutonga. Ndiko kuti, zvinoita sekunakidza chaizvo kushandisa. Anoedzwa, ane makore akawanda. Ane nzanga yakakura kwazvo iri kukura. ZFS mhinduro yakavimbika kwazvo.

Nikolai Samokhvalov: Ndingataure zvimwe here? Zita rangu ndiNikolay, tinoshanda pamwe chete naAnatoly. Ndinobvuma kuti kuchengetedza kwakanaka. Uye vamwe vevatengi vedu vane Pure Storage etc.

Anatoly akacherekedza nenzira kwayo kuti isu takatarisana ne modularity. Uye mune ramangwana, unogona kushandisa imwe interface - tora mufananidzo, gadzira clone, paradza clone. Zvose zviri nyore. Uye kuchengetedza kunotonhorera, kana zvakadaro.

Asi ZFS inowanikwa kune wese munhu. DelPhix yatokwana, vane 300 vatengi. Pakati peizvi, mhanza zana ine vatengi makumi mashanu, i.e. yakanangana neNASA, nezvimwewo. Inguva yekuti munhu wese awane tekinoroji iyi. Uye ndosaka tine yakavhurika sosi Core. Isu tine interface chikamu chisina kuvhurika sosi. Iyi ndiyo puratifomu yaticharatidza. Asi tinoda kuti iwanikwe nemunhu wese. Tinoda kuita shanduko kuti vese vanoedza vasiye kufungidzira pamalaptops. Tinofanira kunyora SELECT tobva taona kuti yanonoka. Rega kumirira kuti DBA ikuudze nezvazvo. Heino chinangwa chikuru. Uye ndinofunga kuti tese tichauya kune izvi. Uye isu tinoita chinhu ichi kuti munhu wese ave nacho. Naizvozvo ZFS, nekuti ichave iripo kwese kwese. Tinotenda nharaunda nekugadzirisa matambudziko uye nekuva nerezinesi rakavhurika, nezvimwe.*

Kwaziwai! Ndatenda nemushumo! Ini ndinonzi Maxim. Takatarisana nenyaya dzakafanana. Vakasarudza vega. Iwe unogovana sei zviwanikwa pakati peaya clones? Imwe neimwe clone inogona kuita zvayo chero nguva: mumwe anoedza chimwe chinhu, chimwe chimwe, mumwe anovaka index, mumwe ane basa rinorema. Uye kana iwe uchikwanisa kugovera neCPU, zvino neIO, unogovanisa sei? Uyu ndiwo mubvunzo wekutanga.

Uye mubvunzo wechipiri uri pamusoro pekusiyana kwezvimire. Ngatitii ndine ZFS pano uye zvese zvakanaka, asi mutengi ari paprod haana ZFS, asi ext4, semuenzaniso. Sei munyaya iyi?

Mibvunzo yakanaka kwazvo. Ndakataura dambudziko iri zvishoma nenyaya yekuti tinogovana zviwanikwa. Uye mhinduro ndeiyi. Fungidzira kuti uri kuyedza pane staging. Iwe unogonawo kuva nemamiriro ezvinhu akadaro panguva imwe chete iyo mumwe munhu anopa mumwe mutoro, mumwe munhu. Uye semhedzisiro, iwe unoona zvisinganzwisisike metrics. Kunyange dambudziko rimwechete rinogona kuva neprod. Paunenge uchida kutarisa chimwe chikumbiro uye ona kuti pane imwe dambudziko nayo - inoshanda zvishoma nezvishoma, saka chaizvoizvo dambudziko rakanga risiri mukukumbira, asi mukuti kune imwe mhando yemutoro wakafanana.

Uye saka, zvakakosha pano kuti titarise kuti chirongwa chichave chii, matanho api atichatora muurongwa uye kuti ingani data yatichasimudza nekuda kweizvi. Icho chokwadi chekuti madhisiki edu, semuenzaniso, achatakurwa nechimwe chinhu, achanyanya kukanganisa nguva. Asi isu tinogona kufungidzira kuti chikumbiro ichi chakaremerwa sei nehuwandu hwe data. Hazvina kunyanya kukosha kuti panguva imwe chete pachava nerumwe rudzi rwekuuraya.

Ndine mibvunzo miviri. Izvi zvinhu zvakanaka kwazvo. Pane zviitiko apo data yekugadzira yakakosha, senge nhamba dzekadhi rechikwereti? Patova nechimwe chinhu chakagadzirira here kana kuti ibasa rakasiyana? Uye mubvunzo wechipiri - pane chimwe chinhu chakadai cheMySQL?

Nezve data. Tichaita obfuscation kusvikira taita. Asi kana iwe ukaendesa chaizvo Joe, kana iwe ukasapa mukana kune vanogadzira, saka hapana mukana kune iyo data. Sei? Nekuti Joe haaratidze data. Inongoratidza metrics, zvirongwa uye ndizvozvo. Izvi zvakaitwa nemaune, nekuti ichi ndicho chimwe chezvinodiwa nemutengi wedu. Vaida kukwanisa kukwirisa pasina kupa munhu wese mukana.

Nezve MySQL. Iyi sisitimu inogona kushandiswa kune chero chinhu chinochengeta nyika pane dhisiki. Uye sezvo tiri kuita Postgres, isu tave kuita zvese otomatiki zvePostgres kutanga. Tinoda kuita otomatiki kuwana data kubva kune backup. Isu tiri kugadzirisa Postgres nenzira kwayo. Isu tinoziva maitiro ekuita zvirongwa zvinoenderana, nezvimwe.

Asi sezvo sisitimu yacho ichiwedzera, inogona zvakare kushandiswa kuMySQL. Uye kune mienzaniso yakadaro. Yandex ine chinhu chakafanana, asi havaibudise chero kupi. Vanoishandisa mukati meYandex.Metrica. Uye pane nyaya chete nezveMySQL. Asi matekinoroji akafanana, ZFS.

Ndatenda nemushumo! Ndinewo mibvunzo miviri. Iwe wakataura kuti cloning inogona kushandiswa kune analytics, semuenzaniso kuvaka mamwe ma indexes ipapo. Unogona here kutaura zvishoma nezve mashandiro ayo?

Uye ini ndichakurumidza kubvunza mubvunzo wechipiri pamusoro pekufanana kwezvimire, kufanana kwezvirongwa. Urongwa uhwu hunoenderanawo nenhamba dzakaunganidzwa nePostgres. Unogadzirisa sei dambudziko iri?

Maererano neanalytics, hapana zviitiko zvakananga, nokuti isu hatisati taishandisa, asi pane mukana wakadaro. Kana tiri kutaura nezve indexes, saka fungidzira kuti mubvunzo uri kudzingirira tafura ine mazana emamiriyoni emarekodhi uye koramu isingawanzo kurongedzerwa muprod. Uye isu tinoda kuverenga imwe data ipapo. Kana chikumbiro ichi chikatumirwa kune prod, saka pane mukana wekuti zvichave nyore pane prod, nekuti chikumbiro chichagadziriswa ipapo kweminiti.

Ok, ngatiite jira rakatetepa risinga tyise kumira kwemaminetsi mashoma. Uye kuitira kuti iwedzere kugadzikana kuverenga analytics, isu tichawedzera indices kune iwo makoramu ayo isu tinofarira data.

Iyo index ichagadzirwa nguva imwe neimwe?

Iwe unogona kuzviita kuitira kuti tibate iyo data, gadzira zvipfupi, tobva tapora kubva pane iyi snapshot uye kutyaira zvikumbiro zvitsva. Ndokunge, iwe unogona kuzviita kuitira kuti iwe ugone kusimudza ma clones matsva ane akatomisikidzwa indices.

Kana uri mubvunzo wezviverengero, kana tikadzoreredza kubva kune backup, kana tikaita kudzokorora, ipapo manhamba edu achafanana chaizvo. Nekuti isu tine ese emuviri data chimiro, ndiko kuti, isu tichaunza iyo data sezvairi neayo ese manhamba metrics futi.

Heino rimwe dambudziko. Kana iwe ukashandisa cloud solution, ipapo marara ane musoro chete anowanikwa ipapo, nokuti Google, Amazon haibvumiri kuti utore kopi yemuviri. Pachava nedambudziko.

Ndatenda neshumo. Paive nemibvunzo miviri yakanaka pano nezveMySQL uye kugovana zviwanikwa. Asi, chaizvoizvo, zvose zvinouya kune chokwadi chokuti iyi haisi nyaya yeDBMS chaiyo, asi yefaira system yose. Uye, saizvozvo, nyaya dzekugovera zviwanikwa dzinofanirawo kugadziriswa kubva ipapo, kwete pakupedzisira kuti iri Postgres, asi mufaira system, mune sevha, semuenzaniso.

Mubvunzo wangu wakati siyanei. Iyo iri padyo neakawanda-layered database, uko kune akati wandei akaturikidzana. Semuenzaniso, isu tinogadzira gumi-terabyte mufananidzo wekuvandudza, isu tiri kudzokorora. Uye isu tinonyanya kushandisa iyi mhinduro kune databases. Kudzokorora kuri kuitika, data iri kuvandudzwa. Kune vashandi ve100 vari kushanda pamwe chete, avo vanogara vachiparura mapfuti akasiyana. Kuita sei? Nzira yekuita sei shuwa kuti hapana kupokana, kuti vakatanga imwe, uye ipapo iyo faira system yakachinja, uye mifananidzo iyi yese yakaenda?

Havaendi nekuti ndiwo mashandiro anoita ZFS. Tinogona kuramba takaparadzana mune imwe tambo shanduko yefaira system inouya nekuda kwekudzokorora. Uye chengeta ma clones anoshandiswa nevagadziri pane ekare mavhezheni e data. Uye inoshanda kwatiri, zvese zviri muhurongwa neizvi.

Zvinoitika kuti iyo yekuvandudza ichaitika seyekuwedzera layer, uye mifananidzo yese mitsva ichatoenda, zvichibva pane iyi layer, handiti?

Kubva pazvikamu zvakapfuura izvo zvaibva kune zvakambodzokororwa.

Iwo maturu apfuura achadonha, asi ivo vanozoreva kune yekare dhizaini, uye ivo vachatora mifananidzo mitsva kubva kune yekupedzisira layer yakagamuchirwa mukuvandudza?

Kazhinji, hongu.

Zvino semhedzisiro tichava neanosvika kuonde rematanho. Uye nekufamba kwenguva vachada kumanikidzwa?

Hongu zvese zviri right. Pane rimwe hwindo. Isu tinochengeta vhiki nevhiki snapshots. Zvinoenderana nekuti une pfuma ipi. Kana iwe uchikwanisa kuchengetedza data rakawanda, unogona kuchengeta snapshots kwenguva yakareba. Havazoendi vega. Hapazovi nehuwori hwe data. Kana iyo snapshots yakare, sezvazvinoratidzika kwatiri, i.e. zvinoenderana nepolicy mukambani, saka tinogona kungodzidzima nekusunungura nzvimbo.

Mhoro, ndatenda neshumo! Mubvunzo pamusoro paJoe. Iwe wati mutengi aisada kupa munhu wese mukana kune iyo data. Kunyatsotaura, kana munhu aine mhedzisiro yeTsanangura Ongorora, ipapo anogona kutarisa iyo data.

Zvakadaro. Semuenzaniso, tinogona kunyora kuti: "SARUDZA KUBVA KUBVA email = kune iyo". Ndiko kuti, isu hatisi kuzoona iyo data pachayo, asi isu tinogona kuona zvimwe zvisina kunanga zviratidzo. Izvi zvinofanira kunzwisiswa. Asi kune rumwe rutivi, zvose zviripo. Tine log audit, tine masimba evamwe vatinoshanda navo vanoonawo zviri kuitwa nevagadziri. Uye kana mumwe munhu akaedza kuita izvi, ipapo basa rekuchengetedza richauya kwavari uye rishande panyaya iyi.

Masikati akanaka Ndatenda nemushumo! Ndine mubvunzo mupfupi. Kana iyo kambani isingashandise Slack, pane inosunga kwairi izvozvi, kana kuti zvinokwanisika here kuti vanogadzira vatumire zviitiko kuitira kuti ubatanidze bvunzo application kune dhatabhesi?

Ikozvino pane chinongedzo kuSlack, kureva kuti hakuna imwe mutumwa, asi ini ndinoda chaizvo kutsigira dzimwe nhume zvakare. Chii chaungaita? Iwe unogona kutumira DB Lab pasina Joe, enda nerubatsiro rweREST API kana nerubatsiro rwepuratifomu yedu uye kugadzira clones uye kubatana nePSQL. Asi izvi zvinogona kuitwa kana iwe wakagadzirira kupa vagadziri vako mukana kune iyo data, nekuti hakuchave nechero skrini.

Ini handidi iyi layer, asi ini ndinoda mukana wakadaro.

Ipapo hongu, zvinogona kuitwa.

Source: www.habr.com

Voeg