DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kedu ka onye nrụpụta azụ azụ si aghọta na ajụjụ SQL ga-arụ ọrụ nke ọma na "prod"? Na nnukwu ụlọ ọrụ ma ọ bụ ngwa ngwa na-eto eto, ọ bụghị onye ọ bụla nwere ike ịnweta "ngwaahịa". Na ịnweta, ọ bụghị arịrịọ niile nwere ike ịlele n'enweghị mgbu, na ịmepụta otu nchekwa data na-ewekarị awa. Iji dozie nsogbu ndị a, anyị mepụtara DBA artificial - Joe. E tinyelarị ya nke ọma n'ọtụtụ ụlọ ọrụ ma na-enyere aka karịa ndị mmepe iri na abụọ.

Video:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ndewo, unu niile! Aha m bụ Anatoly Stansler. Ana m arụ ọrụ maka ụlọ ọrụ postgres.ai. Anyị na-agba mbọ na-eme ka usoro mmepe ahụ dị ngwa site n'iwepụ nkwụsịtụ metụtara ọrụ Postgres site na ndị mmepe, DBAs na QAs.

Anyị nwere nnukwu ndị ahịa na taa akụkụ nke akụkọ ahụ ga-etinye aka na ikpe ndị anyị zutere mgbe anyị na ha na-arụ ọrụ. M ga-ekwu banyere otú anyị si nyere ha aka dozie nnukwu nsogbu.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mgbe anyị na-etolite ma na-eme njem njem dị elu dị mgbagwoju anya, anyị na-ajụ onwe anyị ajụjụ a: "Mbugharị a ọ ga-apụ?". Anyị na-eji nyocha, anyị na-eji ihe ọmụma nke ndị ọrụ ibe nwere ahụmahụ karị, ndị ọkachamara DBA. Ha nwekwara ike mara ma ọ ga-efe efe ma ọ bụ na ọ gaghị efe.

Ma eleghị anya, ọ ga-aka mma ma ọ bụrụ na anyị nwere ike ịnwale ya n'onwe anyị na akwụkwọ zuru oke. Ma taa, anyị ga-ekwu okwu banyere ihe na-eru nso ule bụ ugbu a na otú ọ ga-mere mma na ihe ngwá ọrụ. Anyị ga-ekwukwa banyere uru na ọghọm nke ụzọ ndị dị otú ahụ, yana ihe anyị nwere ike idozi ebe a.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kedu onye merela ndenye aha ozugbo na prod ma ọ bụ mee mgbanwe ọ bụla? Dị nnọọ ntakịrị. Na onye ka nke a mere ka eziokwu ahụ bụ na data efunahụ ma ọ bụ na e nwere downtime? Mgbe ahụ ị mara ihe mgbu a. Daalụ Chineke na enwere nkwado ndabere.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ụzọ mbụ bụ ịnwale na prod. Ma ọ bụ, mgbe onye nrụpụta na-anọdụ ala na igwe mpaghara, o nwere data nyocha, enwere ụdị nhọrọ oke. Na anyị na-atụgharị na prod, anyị na-enweta ọnọdụ a.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ọ na-ewute ya, ọ dị oke ọnụ. Ọ ga-akacha mma ịghara ime ya.

Oleekwa ụzọ kacha mma isi mee ya?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ka anyị were staging wee họrọ akụkụ ụfọdụ nke prod ebe ahụ. Ma ọ bụ na kacha mma, ka anyị were ezigbo prod, niile data. Ma mgbe anyị rụpụtachara ya na mpaghara, anyị ga-elelekwa maka nhazi.

Nke a ga-enye anyị ohere iwepu ụfọdụ njehie, ya bụ igbochi ha ịnọ na prod.

Gịnị bụ nsogbu ndị ahụ?

  • Nsogbu bụ na anyị na ndị ọrụ ibe anyị na-ekerịta mmemme a. Na ọtụtụ mgbe ọ na-eme na ị na-eme mgbanwe ụfọdụ, bam - na enweghị data, ọrụ ahụ na-agbada. Nhazi bụ multi-terabyte. Ma ị ga-echere ogologo oge ka ọ ga-ebili ọzọ. Anyị na-ekpebi imecha ya echi. Nke ahụ bụ ya, anyị nwere mmepe.
  • Na, n'ezie, anyị nwere ọtụtụ ndị ọrụ ibe na-arụ ọrụ n'ebe ahụ, ọtụtụ otu. A ghaghịkwa iji aka mee ya. Ma nke a adịghị mma.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma ọ bara uru ịsị na anyị nwere naanị otu mgbalị, otu ogbugba, ma ọ bụrụ na anyị chọrọ ime mgbanwe ụfọdụ na nchekwa data, metụ data ahụ aka, gbanwee nhazi ahụ. Ma ọ bụrụ na ihe na-ezighị ezi, ọ bụrụ na e nwere njehie na Mbugharị, mgbe ahụ, anyị agaghị ngwa ngwa tụgharịa azụ.

Nke a dị mma karịa ụzọ gara aga, ma a ka nwere ohere dị elu na ụfọdụ ụdị njehie ga-aga na mmepụta.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kedu ihe na-egbochi anyị ịnye onye nrụpụta ọ bụla oche ule, nnomi zuru oke? Echere m na o doro anya ihe na-aga n'ihu.

Kedu onye nwere nchekwa data buru ibu karịa terabyte? Ihe karịrị ọkara ọnụ ụlọ.

Ma o doro anya na idebe igwe maka onye nrụpụta ọ bụla, mgbe enwere nnukwu mmepụta, dị oke ọnụ, ma e wezụga nke ahụ, ọ na-ewe ogologo oge.

Anyị nwere ndị ahịa ghọtara na ọ dị ezigbo mkpa ịnwale mgbanwe niile na mbipụta zuru oke, mana nchekwa data ha erughị terabyte, ọ nweghịkwa akụrụngwa iji dobe oche ule maka onye nrụpụta ọ bụla. Ya mere, ha ga-ebudata ihe mkpofu na mpaghara na igwe ha wee nwalee n'ụzọ dị otú a. Ọ na-ewe ọtụtụ oge.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ọbụlagodi na ị na-eme ya n'ime akụrụngwa, yabụ nbudata otu terabyte nke data kwa elekere adịlarị mma. Mana ha na-eji ihe mkpofu ezi uche eme ihe, ha na-ebudata na mpaghara site na igwe ojii. Maka ha, ọsọ dị ihe dịka 200 gigabytes kwa elekere. Ma ọ ka na-ewe oge iji tụgharịa site na mkpofu ezi uche dị na ya, tụgharịa index, wdg.

Mana ha na-eji usoro a eme ihe n'ihi na ọ na-enye ha ohere idobe ngwaahịa ngwaahịa a pụrụ ịdabere na ya.

Kedu ihe anyị nwere ike ime ebe a? Ka anyị mee bench ule dị ọnụ ala ma nye onye nrụpụta ọ bụla bench ule nke ya.

Nke a ga-ekwe omume.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Na usoro a, mgbe anyị na-eme clones dị mkpa maka onye nrụpụta ọ bụla, anyị nwere ike kesaa ya n'otu igwe. Dịka ọmụmaatụ, ọ bụrụ na ị nwere nchekwa data 10TB ma chọọ inye ya ndị nrụpụta iri, ịkwesighi ịnwe ọdụ data 10 x XNUMXTB. Naanị otu igwe ị ga-achọ ka ị mepụta nbipụta dịpụrụ adịpụ maka onye nrụpụta ọ bụla na-eji otu igwe. Aga m agwa gị ka o si arụ obere oge ma emechaa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ezigbo ọmụmaatụ:

  • DB - 4,5 terabytes.

  • Anyị nwere ike nweta nnomi nke onwe na 30 sekọnd.

Ị gaghị echere ebe nkwụnye ule ma dabere n'otú ọ si buru ibu. Ị nwere ike nweta ya n'ime sekọnd. Ọ ga-abụ ebe dịpụrụ adịpụ kpamkpam, mana nke na-ekerịta data n'etiti onwe ha.

Nke a dị mma. N'ebe a, anyị na-ekwu maka anwansi na mbara igwe yiri ya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

N'ọnọdụ anyị, nke a na-arụ ọrụ site na iji usoro OpenZFS.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

OpenZFS bụ sistemụ faịlụ na-edegharị na-akwado snapshots na clones na igbe ahụ. Ọ bụ ihe a pụrụ ịdabere na ya ma nwee ike ịgbatị. Ọ dị nnọọ mfe ijikwa. Enwere ike itinye ya n'ụzọ nkịtị na otu abụọ.

Enwere nhọrọ ndị ọzọ:

  • NSB,

  • Nchekwa (dịka ọmụmaatụ, Nchekwa dị ọcha).

Database Lab m na-ekwu maka ya bụ modular. Enwere ike ime ya site na iji nhọrọ ndị a. Mana ugbu a, anyị lekwasịrị anya na OpenZFS, n'ihi na enwere nsogbu na LVM kpọmkwem.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kedu ka o si arụ ọrụ? Kama idegharị data ahụ oge ọ bụla anyị gbanwere ya, anyị na-echekwa ya site n'ịkanye naanị na data ọhụrụ a sitere na oge ọhụrụ na oge, foto ọhụrụ.

Na n'ọdịnihu, mgbe anyị chọrọ rollback ma ọ bụ na anyị chọrọ ime ka a ọhụrụ mmepụta oyiri si ụfọdụ ochie version, anyị dị nnọọ na-ekwu: "OK, nye anyị ndị a blocks nke data na-akara dị ka nke a."

Na onye ọrụ a ga-arụ ọrụ na nhazi data dị otú ahụ. Ọ ga-eji nwayọọ nwayọọ gbanwee ha, mee foto nke ya.

Na anyị ga-alaka ụlọ ọrụ. Onye nrụpụta ọ bụla n'ọnọdụ anyị ga-enwe ohere ịnweta clone nke ya nke ọ na-edezi, na data nke ekesara ga-ekekọrịta n'etiti onye ọ bụla.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Iji tinye usoro dị otú ahụ n'ụlọ, ịkwesịrị idozi nsogbu abụọ:

  • Nke mbụ bụ isi iyi nke data, ebe ị ga-esi na ya. Ị nwere ike melite mmegharị ya na mmepụta. Ị nwere ike ijikwa nkwado ndabere na mpaghara ị haziri, enwere m olileanya. WAL-E, WAL-G ma ọ bụ Barman. Ma ọ bụrụgodi na ị na-eji ụdị ngwọta igwe ojii dị ka RDS ma ọ bụ Cloud SQL, mgbe ahụ ị nwere ike iji ihe mkpofu ezi uche dị na ya. Ma anyị ka na-adụ ọdụ ka ị jiri nkwado ndabere na mpaghara, n'ihi na site na usoro a, ị ga-ejikwa usoro anụ ahụ nke faịlụ ahụ, nke ga-enye gị ohere ịbịaru nso na metrics ị ga-ahụ na mmepụta iji jide nsogbu ndị ahụ dị.

  • Nke abụọ bụ ebe ịchọrọ ịkwado Database Lab. Ọ nwere ike ịbụ igwe ojii, ọ nwere ike ịbụ na ụlọ. Ọ dị mkpa ikwu ebe a na ZFS na-akwado mkpakọ data. Ọ na-eme ya nke ọma.

Were ya na maka ụdị mmepụta ihe ọ bụla, dabere na arụmọrụ anyị na-eme na isi, ụdị dev ga-eto. Maka nke a, dev ga-achọkwa ohere. Mana n'ihi eziokwu ahụ bụ na anyị were ntọala 4,5 terabytes, ZFS ga-agbakọ ya na terabytes 3,5. Nke a nwere ike ịdị iche dabere na ntọala. Ma anyị ka nwere ohere maka dev.

Enwere ike iji usoro dị otú ahụ mee ihe maka ikpe dị iche iche.

  • Ndị a bụ ndị nrụpụta, DBA maka nkwado ajụjụ, maka nkwalite.

  • Enwere ike iji nke a na nyocha QA iji nwalee otu mbugharị tupu anyị ebugharịa ya na prod. Anyị nwekwara ike ibuli gburugburu pụrụ iche maka QA na ezigbo data, ebe ha nwere ike ịnwale ọrụ ọhụrụ. Ọ ga-ewe sekọnd kama ichere awa, ma eleghị anya, ụbọchị na ụfọdụ ndị ọzọ ọnọdụ ebe mkpa oyiri na-adịghị eji.

  • Na ikpe ọzọ. Ọ bụrụ na ụlọ ọrụ ahụ enweghị usoro nhazi nhazi, mgbe ahụ, anyị nwere ike ịwepụ ihe mkpuchi dị mkpa nke isi ngwaahịa ma nye ya ogologo ajụjụ ma ọ bụ indexes pụrụ iche nke enwere ike iji na nyocha.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Site na usoro a:

  1. Ohere dị ala nke mperi na "prod", n'ihi na anyị nwalere mgbanwe niile na data zuru oke.

  2. Anyị nwere omenala nke nnwale, n'ihi na ugbu a, ị na-adịghị na-echere ọtụtụ awa maka gị onwe gị nguzo.

  3. Ma ọ dịghị ihe mgbochi, ọ dịghị nchere n'etiti ule. Ị nwere ike ịga lelee. Ọ ga-aka mma n'ụzọ dị otú a ka anyị na-eme ngwa ngwa mmepe ahụ.

  • A ga-enwe obere refactoring. Nchinchi ole na ole ga-ejedebe na prod. Anyị ga-emeghachi ha obere oge.

  • Anyị nwere ike weghaghachi mgbanwe na-enweghị ike ịgbanwe. Nke a abụghị usoro ọkọlọtọ.

  1. Nke a bara uru n'ihi na anyị na-ekerịta akụrụngwa nke bench ule.

Ọ dị mma, mana kedu ihe ọzọ enwere ike ime ngwa ngwa?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ekele maka usoro dị otú ahụ, anyị nwere ike belata ọnụ ụzọ maka ịbanye ule dị otú ahụ.

Ugbu a enwere ajọ okirikiri, mgbe onye nrụpụta, iji nweta ezigbo data zuru oke, ga-abụrịrị ọkachamara. A ghaghị ịtụkwasị ya obi na ohere dị otú ahụ.

Ma ka esi eto ma ọ bụrụ na ọ bụghị n'ebe ahụ. Mana gịnị ma ọ bụrụ na ị nwere naanị obere data nnwale dị gị? Mgbe ahụ ị gaghị enweta ezigbo ahụmịhe.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kedu ka esi esi na okirikiri a pụta? Dị ka interface mbụ, dị mma maka ndị mmepe nke ọkwa ọ bụla, anyị họọrọ Slack bot. Ma ọ nwere ike ịbụ ihe ọ bụla ọzọ interface.

Kedu ihe ọ na-enye gị ohere ime? Ị nwere ike iwere ajụjụ akọwapụtara ma ziga ya na ọwa pụrụ iche maka nchekwa data. Anyị ga-ebuga clone dị mkpa na akpaghị aka n'ime sekọnd. Ka anyị mee arịrịọ a. Anyị na-anakọta metrik na ndụmọdụ. Ka anyị gosi nhụta anya. Ma mgbe ahụ nke a mmepụta oyiri ga-anọgide ka ajụjụ a nwere ike n'ụzọ ụfọdụ kachasị, tinye indexes, wdg.

Nakwa Slack na-enye anyị ohere maka imekọ ihe n'ime igbe. Ebe ọ bụ na nke a bụ naanị ọwa, ị nwere ike ịmalite ikwurịta arịrịọ a ozugbo na eri maka arịrịọ dị otú ahụ, ping ndị ọrụ ibe gị, DBA ndị dị n'ime ụlọ ọrụ ahụ.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma enwere nsogbu n'ezie. N'ihi na nke a bụ ụwa n'ezie, na anyị na-eji ihe nkesa na-anabata ọtụtụ clones n'otu oge, anyị ga-ejikọta ọnụ ọgụgụ ebe nchekwa na ike CPU dị na clones.

Mana ka ule ndị a bụrụ eziokwu, ịkwesịrị idozi nsogbu a n'ụzọ ụfọdụ.

O doro anya na isi ihe dị mkpa bụ otu data ahụ. Ma anyị enweelarị ya. Na anyị chọrọ iji nweta otu nhazi ahụ. Na anyị nwere ike inye ndị dị otú ahụ ihe fọrọ nke nta ka yiri nhazi.

Ọ ga-adị mma ịnwe otu ngwaike dị na mmepụta, mana ọ nwere ike ịdị iche.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ka anyị cheta ka Postgres si arụ ọrụ na ebe nchekwa. Anyị nwere cache abụọ. Otu sitere na sistemụ faịlụ yana otu Postgres, ya bụ Cache Buffer Shared.

Ọ dị mkpa iburu n'obi na a na-ekenye Cache Buffer Shared mgbe Postgres malitere, dabere na nha ole ị depụtara na nhazi ahụ.

Na cache nke abụọ na-eji ohere niile dị.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma mgbe anyị na-eme ọtụtụ clones na otu igwe, ọ na-apụta na anyị ji nwayọọ nwayọọ na-ejupụta ebe nchekwa. Na n'ụzọ dị mma, Shared Buffer Cache bụ 25% nke ngụkọta ego nke ebe nchekwa dị na igwe.

Ma ọ tụgharịrị na ọ bụrụ na anyị agbanweghị oke a, mgbe ahụ, anyị ga-enwe ike ịgba ọsọ naanị 4 n'otu igwe, i.e. 4 nke clones ndị dị otú ahụ dị mkpa. Ma nke a, n'ezie, dị njọ, n'ihi na anyị chọrọ inwe ọtụtụ n'ime ha.

Mana n'aka nke ọzọ, Buffer Cache na-eji mebie ajụjụ maka ndeksi, ya bụ, atụmatụ a dabere n'otú cache anyị si buru ibu. Ma ọ bụrụ na anyị ewere oke a ma belata ya, mgbe ahụ atụmatụ anyị nwere ike ịgbanwe nke ukwuu.

Dịka ọmụmaatụ, ọ bụrụ na anyị nwere nnukwu cache na prod, mgbe ahụ Postgres ga-ahọrọ iji ndeksi. Ma ọ bụghị ya, a ga-enwe SeqScan. Ma gịnị ga-abụ isi ihe ma ọ bụrụ na atụmatụ anyị adabaghị?

Ma ebe a anyị na-abịa ná nkwubi okwu na n'ezie atụmatụ na Postgres adịghị adabere kpọmkwem size kpọmkwem na Shared Buffer na atụmatụ, ọ dabere na effect_cache_size.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Effective_cache_size bụ ọnụọgụ cache echere anyị, ya bụ nchikota nke cache nchekwa na cache sistemụ faịlụ. Emebere nke a site na nhazi. Na ebe nchekwa a adịghị ekenye ya.

N'ihi oke a, anyị nwere ike ịghọ aghụghọ Postgres, na-ekwu na anyị nwere ọtụtụ data dị, ọbụlagodi na anyị enweghị data a. Ya mere, atụmatụ ndị ahụ ga-adaba na mmepụta.

Ma nke a nwere ike imetụta oge. Ma anyị na-ebuli ajụjụ site na oge, mana ọ dị mkpa na oge na-adabere n'ọtụtụ ihe:

  • Ọ dabere na ibu nke dị ugbu a na prod.

  • Ọ dabere na njirimara nke igwe n'onwe ya.

Ma nke a bụ paramita na-apụtaghị ìhè, mana n'ezie anyị nwere ike ịkwalite kpọmkwem site na ọnụọgụ data nke ajụjụ a ga-agụ iji nweta nsonaazụ ya.

Ma ọ bụrụ na ịchọrọ ka oge ahụ dị nso na ihe anyị ga-ahụ na prod, mgbe ahụ, anyị kwesịrị iwere ngwaike kachasị yiri ya na, ikekwe, ọbụna karịa ka clones niile dabara. Mana nke a bụ nkwekọrịta, ya bụ, ị ga-enweta otu atụmatụ ahụ, ị ​​ga-ahụ ole data otu ajụjụ ga-agụ ma ị ga-enwe ike ikwubi ma ajụjụ a ọ dị mma (ma ọ bụ ịkwaga) ma ọ bụ ihe ọjọọ, ọ ka kwesịrị ịkwalite ya. .

Ka anyị leba anya ka esi eme ka Joe dị mma.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ka anyị were arịrịọ sitere na ezigbo sistemụ. N'okwu a, nchekwa data bụ 1 terabyte. Ma anyị chọrọ ịgụ ọnụ ọgụgụ nke ọhụrụ posts nwere ihe karịrị 10 mmasị.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Anyị na-ede ozi na ọwa, e debere clone maka anyị. Anyị ga-ahụkwa na arịrịọ dị otú ahụ ga-emecha na nkeji 2,5. Nke a bụ ihe mbụ anyị na-achọpụta.

B Joe ga-egosi gị ndụmọdụ akpaaka dabere na atụmatụ na metrik.

Anyị ga-ahụ na ajụjụ a na-ahazi ọtụtụ data iji nweta ọnụọgụ ahịrị dị ntakịrị. Na ụfọdụ ụdị index index dị mkpa, ebe ọ bụ na anyị chọpụtara na e nwere ọtụtụ nzacha ahịrị na ajụjụ.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ka anyị lebakwuo anya n’ihe merenụ. N'ezie, anyị na-ahụ na anyị agụwo ihe fọrọ nke nta ka ọ bụrụ otu gigabytes na ọkara nke data sitere na cache faịlụ ma ọ bụ ọbụna site na diski. Ma nke a adịghị mma, n'ihi na anyị nwetara naanị 142 ahịrị.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma, ọ ga-adị ka, anyị nwere nyocha index ebe a kwesịrị ịrụ ọrụ ngwa ngwa, ma ebe ọ bụ na anyị kpochara ọtụtụ ahịrị (anyị ga-agụta ha), arịrịọ ahụ ji nwayọọ nwayọọ rụọ ọrụ.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Na nke a mere na atụmatụ n'ihi eziokwu ahụ bụ na ọnọdụ dị na ajụjụ na ọnọdụ ndị dị na index adịghị adabara.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ka anyị nwaa ime ka ndeksi ahụ bụrụ nke ziri ezi ma hụ ka mmezu ajụjụ si agbanwe mgbe nke ahụ gasịrị.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ihe okike nke ndeksi were ogologo oge, ma ugbu a, anyị na-elele ajụjụ ahụ wee hụ na oge kama 2,5 nkeji bụ naanị 156 milliseconds, nke dị mma. Anyị na-agụkwa naanị 6 megabytes nke data.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma ugbu a, anyị na-eji naanị nyocha index.

Akụkọ ọzọ dị mkpa bụ na anyị chọrọ iwepụta atụmatụ ahụ n'ụzọ ụfọdụ nwere nghọta. Anyị ejirila eserese ọkụ mejuputa ọhụụ.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nke a bụ arịrịọ dị iche, nke siri ike karị. Ma anyị na-ewu Eserese ọkụ dị ka paramita abụọ si dị: nke a bụ ọnụọgụ data nke otu ọnụ ọnụ na-agụ na atụmatụ na oge, ya bụ oge igbu nke ọnụ.

N'ebe a, anyị nwere ike iji ọnụ ọgụgụ ụfọdụ tụnyere ibe ha. Ọ ga-edokwa anya onye n'ime ha na-ewe karịa ma ọ bụ obere, nke na-esirikarị ike ime na ụzọ nsụgharị ndị ọzọ.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

N'ezie, onye ọ bụla maara explain.depesz.com. Akụkụ dị mma nke nhụhụta a bụ na anyị na-echekwa atụmatụ ederede ma tinyekwa ụfọdụ parampat n'ime tebụl ka anyị nwee ike ịhazi ya.

Na ndị mmepe nke na-abanyebeghị n'ime isiokwu a na-ejikwa nkọwa.depesz.com, n'ihi na ọ dịịrị ha mfe ịchọpụta nke metrics dị mkpa na nke na-adịghị.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Enwere uzo ohuru maka ikiri ihe - nke a kọwara.dalibo.com. Ha na-eme nhụta osisi, mana ọ siri ike iji ọnụ ọnụ na ibe ha atụnyere. N'ebe a, ị nwere ike ịghọta usoro ahụ nke ọma, Otú ọ dị, ọ bụrụ na enwere nnukwu arịrịọ, mgbe ahụ, ị ​​​​ga-achọ ịpịgharịa azụ na azụ, kamakwa nhọrọ.

mmekorita

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ma, dị ka m kwuru, Slack na-enye anyị ohere imekọ ihe ọnụ. Dịka ọmụmaatụ, ọ bụrụ na anyị zutere ajụjụ mgbagwoju anya nke edoghị anya ka esi ebuli elu, anyị nwere ike ịkọwa okwu a na ndị ọrụ ibe anyị na eri na Slack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ọ dị anyị ka ọ dị mkpa ịnwale na data zuru oke. Iji mee nke a, anyị mere Nwelite Database Lab ngwá ọrụ, nke dị na oghere mepere emepe. Ị nwekwara ike iji Joe bot. Ị nwere ike were ya ugbu a ma mejuputa ya na ebe gị. Ntuziaka niile dị ebe ahụ.

Ọ dịkwa mkpa iburu n'obi na ngwọta n'onwe ya abụghị mgbanwe, n'ihi na e nwere Delphix, mana ọ bụ ngwọta ụlọ ọrụ. A na-emechi ya kpamkpam, ọ dị oke ọnụ. Anyị pụrụ iche na Postgres. Ndị a niile bụ ngwaahịa mepere emepe. Sonyere anyị!

Nke a bụ ebe m kwụsịrị. Daalụ!

Ajụjụ gị

Nnọọ! Daalụ maka akụkọ ahụ! Ihe na-atọ ụtọ nke ukwuu, karịsịa nye m, n'ihi na edozira m otu nsogbu ahụ oge ụfọdụ gara aga. Ya mere enwere m ọtụtụ ajụjụ. Enwere m olileanya na m ga-enweta opekata mpe akụkụ ya.

A na m eche ka ị ga-esi gbakọọ ebe maka gburugburu ebe a? Nkà na ụzụ pụtara na n'okpuru ọnọdụ ụfọdụ, clones gị nwere ike itolite ruo oke. N'ikwu okwu n'ụzọ dị mfe, ọ bụrụ na ị nwere nchekwa data terabyte iri na clones 10, mgbe ahụ ọ dị mfe ịmegharị ọnọdụ ebe clone ọ bụla na-atụle data 10 pụrụ iche. Kedu ka ị ga-esi gbakọọ ebe a, ya bụ, delta nke ị kwuru banyere ya, nke clones ndị a ga-ebi?

Ajuju di mma. Ọ dị mkpa idobe usoro clones akọwapụtara ebe a. Ma ọ bụrụ na a mmepụta oyiri nwere ụfọdụ oke nnukwu mgbanwe, ọ na-amalite na-eto eto, mgbe ahụ anyị nwere ike ibu ụzọ nye ịdọ aka ná ntị onye ọrụ banyere nke a, ma ọ bụ ozugbo kwụsị a mmepụta oyiri nke mere na anyị na-adịghị a ọdịda ọnọdụ.

Ee, enwere m ajụjụ akwu. Ya bụ, kedu ka ị ga-esi hụ na okirikiri ndụ nke modul ndị a? Anyị nwere nsogbu a na akụkọ dị iche iche. Kedu ka nke a si eme?

Enwere ụfọdụ tl maka clone ọ bụla. N'ụzọ bụ isi, anyị nwere ttl a kapịrị ọnụ.

Gịnị ma ọ bụrụ na ọ bụghị ihe nzuzo?

1 hour, i.. arụ ọrụ - 1 hour. Ọ bụrụ na ejighị ya, anyị na-akụ ya. Ma ọ dịghị ihe ijuanya ebe a, ebe anyị nwere ike ibuli clone na sekọnd. Ma ọ bụrụ na ịchọrọ ya ọzọ, biko.

Enwere m mmasị na nhọrọ nke teknụzụ, n'ihi na, dịka ọmụmaatụ, anyị na-eji ụzọ dị iche iche eme ihe n'otu ihe ma ọ bụ ọzọ. Gịnị kpatara ZFS? Gịnị kpatara na ị naghị eji LVM? Ị kwuru na enwere nsogbu na LVM. Olee nsogbu ndị ahụ? N'uche nke m, nhọrọ kachasị mma bụ na nchekwa, n'ihe gbasara arụmọrụ.

Kedu nsogbu bụ isi na ZFS? Eziokwu ahụ bụ na ị ga-agba ọsọ na otu onye ọbịa, ya bụ, oge niile ga-ebi n'ime otu OS. Na n'ihe banyere nchekwa, ị nwere ike jikọọ ngwá ọrụ dị iche iche. Na ihe mgbochi bụ naanị ihe mgbochi ndị dị na sistemụ nchekwa. Na ajụjụ nke nhọrọ nke teknụzụ na-adọrọ mmasị. Gịnị kpatara na ọ bụghị LVM?

Kpọmkwem, anyị nwere ike ikwurịta LVM na meetup. Banyere nchekwa - ọ dị oke ọnụ. Anyị nwere ike mejuputa usoro ZFS ebe ọ bụla. Ị nwere ike tinye ya na igwe gị. Naanị ị nwere ike budata ebe nchekwa ahụ wee bugharịa ya. Awụnyere ZFS fọrọ nke nta ka ọ bụrụ ebe niile ma ọ bụrụ na anyị na-ekwu maka Linux. Ya bụ, anyị na-enweta ngwọta na-agbanwe agbanwe. Na site na igbe ahụ, ZFS na-enye ọtụtụ ihe. Ị nwere ike bulite data dị ka ịchọrọ, jikọọ ọnụ ọgụgụ buru ibu nke diski, enwere snapshots. Ma, dị ka m kwuru, ọ dị mfe nchịkwa. Ya bụ, ọ dị ezigbo ụtọ iji. A nwalere ya, ọ dị ọtụtụ afọ. O nwere nnukwu obodo na-eto eto. ZFS bụ ngwọta a pụrụ ịdabere na ya.

Nikolai Samokhvalov: Enwere m ike ikwukwu? Aha m bụ Nikolay, anyị na Anatoly na-arụkọ ọrụ. Ekwenyere m na nchekwa dị mma. Na ụfọdụ ndị ahịa anyị nwere Nchekwa Ọcha wdg.

Anatoly kwuru n'ụzọ ziri ezi na anyị na-elekwasị anya na modularity. Na n'ọdịnihu, ị nwere ike mejuputa otu interface - were foto, mee clone, bibie clone. Ọ dị mfe. Na nchekwa dị mma, ma ọ bụrụ na ọ dị.

Mana ZFS dị maka onye ọ bụla. DelPhix ezuola, ha nwere ndị ahịa 300. N'ime ndị a, uba 100 nwere ndị ahịa 50, ya bụ, ha na-achọ NASA, wdg. Ọ bụ oge maka onye ọ bụla iji nweta nkà na ụzụ a. Ọ bụ ya mere anyị ji nwee isi mmalite Core. Anyị nwere akụkụ interface nke na-adịghị emeghe isi mmalite. Nke a bụ ikpo okwu anyị ga-egosi. Mana anyị chọrọ ka onye ọ bụla nweta ya. Anyị chọrọ ime mgbanwe ka ndị nyocha niile kwụsị ịkọ nkọ na laptọọpụ. Anyị ga-ede SELECT wee hụ ozugbo na ọ dị nwayọ. Kwụsị ichere ka DBA gwa gị gbasara ya. Nke a bụ isi ihe mgbaru ọsọ. Echere m na anyị niile ga-abịa na nke a. Anyị na-emekwa ihe a ka onye ọ bụla nwee. Ya mere ZFS, n'ihi na ọ ga-adị ebe niile. Ekele dịrị ndị obodo maka idozi nsogbu yana maka inwe akwụkwọ ikike mepere emepe, wdg.*

Ekele! Daalụ maka akụkọ ahụ! Aha m bụ Maxim. Anyị emewokwa otu okwu ahụ. Ha kpebiri n'onwe ha. Kedu otu esi ekekọrịta akụrụngwa n'etiti clones ndị a? Onye ọ bụla clone nwere ike ime ihe nke ya n'oge ọ bụla: otu na-anwale otu ihe, ọzọ, onye na-ewu index, onye nwere ọrụ dị arọ. Ma ọ bụrụ na ị ka nwere ike kewaa site na CPU, yabụ site na IO, kedu ka ị ga-esi kewaa? Nke a bụ ajụjụ mbụ.

Na ajụjụ nke abụọ bụ banyere dissimilarity nke nkwụnye. Ka anyị kwuo na enwere m ZFS ebe a na ihe niile dị mma, mana onye ahịa na prod enweghị ZFS, mana ext4, dịka ọmụmaatụ. Olee otú na nke a?

Ajụjụ ndị ahụ dị ezigbo mma. Ekwuru m nsogbu a ntakịrị na eziokwu na anyị na-ekerịta akụrụngwa. Na ngwọta bụ nke a. Were ya na ị na-anwale na nhazi. Ị nwekwara ike ịnwe ọnọdụ dị otú ahụ n'otu oge ahụ na mmadụ na-enye otu ibu, onye ọzọ. Na n'ihi ya, ị na-ahụ metrics enweghị nghọta. Ọbụna otu nsogbu ahụ nwere ike ịbụ na prod. Mgbe ịchọrọ ịlele ụfọdụ arịrịọ ma hụ na enwere nsogbu na ya - ọ na-arụ ọrụ nwayọọ nwayọọ, mgbe ahụ n'eziokwu, nsogbu ahụ adịghị na arịrịọ ahụ, ma n'eziokwu na e nwere ụdị ụfọdụ nke ibu yiri ya.

Ya mere, ọ dị mkpa ebe a ilekwasị anya n'ihe atụmatụ a ga-abụ, usoro ndị anyị ga-eme na atụmatụ na ole data anyị ga-ebuli maka nke a. Eziokwu ahụ na diski anyị, dịka ọmụmaatụ, ga-ebu ihe, ọ ga-emetụta kpọmkwem oge. Mana anyị nwere ike ịkọwa etu esi eburu arịrịọ a site na ọnụọgụ data. Ọ bụghị ihe dị mkpa na n'otu oge ahụ a ga-enwe ụdị ogbugbu.

Enwere m ajụjụ abụọ. Nke a bụ ihe dị mma. Enweela ikpe ebe data mmepụta dị oke mkpa, dị ka nọmba kaadị kredit? Enwerelarị ihe dị njikere ka ọ bụ ọrụ dị iche? Na ajụjụ nke abụọ - enwere ihe dị ka nke a maka MySQL?

Banyere data. Anyị ga-eme obfuscation ruo mgbe anyị mere. Ma ọ bụrụ na ị na-ebugharị kpọmkwem Joe, ọ bụrụ na ị nyeghị ohere ndị mmepe, mgbe ahụ enweghị ohere na data. Gịnị kpatara? N'ihi na Joe anaghị egosi data. Ọ na-egosi naanị metrik, atụmatụ na nke ahụ bụ ya. Emere nke a na ebumnuche, n'ihi na nke a bụ otu n'ime ihe ndị ahịa anyị chọrọ. Ha chọrọ ka ha nwee ike ịkwalite na-enyeghị onye ọ bụla ohere.

Banyere MySQL. Enwere ike iji usoro a maka ihe ọ bụla na-echekwa steeti na diski. Ma ebe anyị na-eme Postgres, anyị na-emezi akpaaka niile maka Postgres mbụ. Anyị chọrọ imezi ịnweta data site na nkwado ndabere. Anyị na-ahazi Postgres nke ọma. Anyị maara otu esi eme atụmatụ dakọtara, wdg.

Ma ebe ọ bụ na usoro ahụ bụ extensible, ọ nwekwara ike iji maka MySQL. E nwekwara ihe atụ ndị dị otú ahụ. Yandex nwere ihe yiri ya, mana ha anaghị ebipụta ya ebe ọ bụla. Ha na-eji ya n'ime Yandex.Metrica. Ma enwere naanị akụkọ gbasara MySQL. Mana teknụzụ bụ otu, ZFS.

Daalụ maka akụkọ ahụ! Enwere m ajụjụ abụọ. Ị kwuru na enwere ike iji cloning maka nyocha, dịka ọmụmaatụ iji wuo ndeksi ọzọ ebe ahụ. Ị nwere ike ịkọ ntakịrị maka ka ọ si arụ ọrụ?

M ga-ajụ ozugbo ajụjụ nke abụọ banyere myirịta nke nkwụnye, myirịta nke atụmatụ. Atụmatụ a dabere na ọnụ ọgụgụ Postgres anakọtara. Kedu otu esi edozi nsogbu a?

Dị ka nyocha ahụ si kwuo, ọ dịghị ihe ọ bụla akọwapụtara, n'ihi na anyị ejibeghị ya, ma enwere ohere dị otú ahụ. Ọ bụrụ na anyị na-ekwu maka ndeksi, were ya na ajụjụ na-achụso tebụl nke nwere ọtụtụ narị nde ndekọ na kọlụm nke na-anaghị edenyekarị aha na prod. Ma anyị chọrọ ịgbakọ ụfọdụ data ebe ahụ. Ọ bụrụ na ezigara arịrịọ a na prod, mgbe ahụ enwere ike na ọ ga-adị mfe na prod, n'ihi na a ga-edozi arịrịọ ahụ maka otu nkeji.

Ọ dị mma, ka anyị mee clone dị mkpa nke na-adịghị egwu ịkwụsị maka nkeji ole na ole. Na iji mee ka ọ dịkwuo mfe ịgụ nchịkọta, anyị ga-agbakwunye indices maka ogidi ndị ahụ nke anyị nwere mmasị na data.

A ga-emepụta ndeksi oge ọ bụla?

Ị nwere ike ime ya ka anyị metụ data ahụ aka, mee snapshots, mgbe ahụ, anyị ga-agbake na foto a ma mee arịrịọ ọhụrụ. Ya bụ, ị nwere ike ime ya ka ị nwee ike ibuli clones ọhụrụ nwere indices etinyelarị.

Banyere ajụjụ gbasara ọnụ ọgụgụ, ọ bụrụ na anyị weghachi site na ndabere, ọ bụrụ na anyị na-eme mmegharị, mgbe ahụ, ọnụ ọgụgụ anyị ga-abụ otu ihe ahụ. N'ihi na anyị nwere usoro data anụ ahụ dum, ya bụ, anyị ga-eweta data ahụ dịka ọ dị na metrik niile.

Nke a bụ nsogbu ọzọ. Ọ bụrụ na ị na-eji ngwọta ígwé ojii, mgbe ahụ, ọ bụ naanị mkpofu ezi uche dị n'ebe ahụ, n'ihi na Google, Amazon anaghị ekwe ka ị were otu anụ ahụ. A ga-enwe nsogbu.

Daalụ maka akụkọ ahụ. Enwere ezigbo ajụjụ abụọ ebe a gbasara MySQL na nkekọrịta akụrụngwa. Mana, n'ezie, ihe niile na-agbadata n'eziokwu na nke a abụghị isiokwu nke DBMS akọwapụtara, mana nke sistemụ faịlụ n'ozuzu ya. Na, n'ihi ya, a ga-edozikwa okwu gbasara ikesa ihe onwunwe site n'ebe ahụ, ọ bụghị na njedebe na ọ bụ Postgres, kama na faịlụ faịlụ, na ihe nkesa, dịka ọmụmaatụ.

Ajụjụ m dịtụ iche. Ọ dị nso na nchekwa data multi-layered, ebe enwere ọtụtụ ọkwa. Dịka ọmụmaatụ, anyị na-edozi ihe oyiyi terabyte iri, anyị na-emegharị. Ma anyị na-eji ngwọta a kpọmkwem maka ọdụ data. Mmụgharị na-aga n'ihu, a na-emelite data. Enwere ndị ọrụ 100 na-arụ ọrụ n'otu ebe ebe a, bụ ndị na-ebupụta egbe ndị a dị iche iche mgbe niile. Ihe a ga-eme? Kedu ka esi jide n'aka na ọ dịghị esemokwu, na ha malitere otu, wee gbanwee usoro faịlụ ahụ, na foto ndị a niile gara?

Ha agaghị aga n'ihi na otu a ka ZFS si arụ ọrụ. Anyị nwere ike idowe iche n'otu eri usoro faịlụ na-agbanwe n'ihi mmegharị. Ma debe clones nke ndị mmepe na-eji na ụdị data ochie. Na ọ na-arụ ọrụ maka anyị, ihe niile dị n'usoro na nke a.

Ọ tụgharịrị na mmelite ahụ ga-ewere ọnọdụ dị ka oyi akwa ọzọ, na foto ọhụrụ niile ga-agarịrị, dabere na oyi akwa a, nri?

Site n'ígwé ndị gara aga nke sitere na mmegharị gara aga.

N'ígwé ndị gara aga ga-adapụ, ma ha ga-ezo aka na oyi akwa ochie, ha ga-ewerekwa ihe oyiyi ọhụrụ site na oyi akwa ikpeazụ nke natara na mmelite ahụ?

N'ozuzu, ee.

Mgbe ahụ, n'ihi ya, anyị ga-enwe ruo otu fig nke n'ígwé. Ma ka oge na-aga, ọ ga-adị mkpa ka a chịkọta ha?

Ee ihe niile ziri ezi. Enwere windo ụfọdụ. Anyị na-edobe snapshot kwa izu. Ọ dabere n'ụdị akụrụngwa ị nwere. Ọ bụrụ na ị nwere ike ịchekwa ọtụtụ data, ị nwere ike ịchekwa snapshots ruo ogologo oge. Ha agaghị apụ n'onwe ha. A gaghị enwe mmebi data. Ọ bụrụ na snapshots bụ ihe ochie, dị ka ọ dị anyị, ya bụ, ọ dabere na amụma ụlọ ọrụ ahụ, mgbe ahụ, anyị nwere ike ihichapụ ha naanị ma hapụ ohere.

Ndewo, daalụ maka akụkọ ahụ! Ajụjụ gbasara Joe. Ị kwuru na onye ahịa ahụ achọghị inye onye ọ bụla ohere ịnweta data ahụ. N'ikwu ya n'ụzọ ziri ezi, ọ bụrụ na mmadụ nwere nsonaazụ nke Kọwaa Analyze, mgbe ahụ ọ nwere ike ịhụ data ahụ.

Ọ dị ka nke ahụ. Dịka ọmụmaatụ, anyị nwere ike dee: "Họrọ site na ebe email = gaa na nke ahụ". Ya bụ, anyị agaghị ahụ data n'onwe ya, ma anyị nwere ike ịhụ ụfọdụ akara ngosi. A ghaghị ịghọta nke a. Mana n'aka nke ọzọ, ihe niile dị ebe ahụ. Anyị nwere nyocha log, anyị nwere njikwa nke ndị ọrụ ibe ndị ọzọ na-ahụkwa ihe ndị mmepe na-eme. Ma ọ bụrụ na mmadụ anwa ime nke a, mgbe ahụ, ndị ọrụ nchekwa ga-abịakwute ha ma rụọ ọrụ na nke a.

Ehihie ọma Daalụ maka akụkọ ahụ! Enwere m ajụjụ dị nkenke. Ọ bụrụ na ụlọ ọrụ ahụ ejighị Slack, ọ nwere ihe ọ bụla jikọrọ ya ugbu a, ma ọ bụ ọ ga-ekwe omume maka ndị mmepe wepụta oge iji jikọọ ngwa ule na ọdụ data?

Ugbu a enwere njikọ na Slack, yabụ enweghị onye ozi ọzọ, mana achọrọ m ịkwado ndị ozi ndị ọzọ. Kedu ihe ị ga-eme? Ị nwere ike ibuga DB Lab na-enweghị Joe, gaa na enyemaka nke REST API ma ọ bụ site n'enyemaka nke ikpo okwu anyị wee mepụta clones na jikọọ na PSQL. Mana enwere ike ịme nke a ma ọ bụrụ na ị dị njikere inye ndị mmepe gị ohere ịnweta data ahụ, n'ihi na a gaghị enwe ihuenyo ọ bụla ọzọ.

Achọghị m oyi akwa a, mana achọrọ m ohere dị otú ahụ.

Mgbe ahụ ee, enwere ike ime ya.

isi: www.habr.com

Tinye a comment