DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ciamar a tha leasaiche backend a’ tuigsinn gun obraich ceist SQL gu math air “prod”? Ann an companaidhean mòra no a tha a 'fàs gu luath, chan eil cothrom aig a h-uile duine air an "toradh". Agus le ruigsinneachd, chan urrainnear a h-uile iarrtas a sgrùdadh gun phian, agus bidh cruthachadh leth-bhreac den stòr-dàta gu tric a’ toirt uairean. Gus na duilgheadasan sin fhuasgladh, chruthaich sinn DBA fuadain - Joe. Tha e mar-thà air a bhith air a chur an gnìomh gu soirbheachail ann an grunn chompanaidhean agus a 'cuideachadh còrr is dusan luchd-leasachaidh.

Bhidio:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Hi uile! Is e m ’ainm Anatoly Stansler. Tha mi ag obair airson companaidh postgres.ai. Tha sinn dealasach a thaobh am pròiseas leasachaidh a luathachadh le bhith a’ toirt air falbh an dàil co-cheangailte ri obair Postgres bho luchd-leasachaidh, DBAn agus QAn.

Tha luchd-dèiligidh fìor mhath againn agus an-diugh bidh pàirt den aithisg air a thoirt do na cùisean ris an do choinnich sinn fhad ‘s a bha sinn ag obair còmhla riutha. Bruidhnidh mi mu mar a chuidich sinn iad le bhith a’ fuasgladh dhuilgheadasan fìor dhona.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Nuair a bhios sinn a’ leasachadh agus a’ dèanamh imrich iom-fhillte làn luchdan, bidh sinn a’ faighneachd dhuinn fhìn a’ cheist: “An toir an imrich seo dheth?”. Bidh sinn a 'cleachdadh lèirmheas, bidh sinn a' cleachdadh eòlas co-obraichean nas eòlaiche, eòlaichean DBA. Agus faodaidh iad a ràdh am bi e ag itealaich no nach eil.

Ach is dòcha gum biodh e na b’ fheàrr nam b’ urrainn dhuinn sinn fhèin a dhearbhadh air lethbhric làn-mheud. Agus an-diugh bruidhnidh sinn mu na dòighean deuchainn a th’ ann an-dràsta agus mar as urrainnear a dhèanamh nas fheàrr agus leis na h-innealan. Bruidhnidh sinn cuideachd mu na buannachdan agus na h-eas-bhuannachdan a tha aig na dòighean sin, agus dè as urrainn dhuinn a rèiteachadh an seo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Cò a rinn clàran-amais gu dìreach air prod no a rinn atharrachaidhean sam bith? Gu math beagan. Agus cò dha a dh’ adhbhraich seo gun deach dàta a chall no gun robh ùine downt ann? An uairsin bidh fios agad air a 'phian seo. Tapadh le Dia tha cùl-taic ann.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Is e a’ chiad dòigh-obrach deuchainn ann am prod. No, nuair a bhios leasaiche na shuidhe air inneal ionadail, tha dàta deuchainn aige, tha taghadh cuibhrichte de sheòrsa air choreigin ann. Agus bidh sinn a’ ruith a-mach gu prod, agus gheibh sinn an suidheachadh seo.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tha e goirt, tha e daor. Is dòcha gu bheil e nas fheàrr gun a bhith.

Agus dè an dòigh as fheàrr air a dhèanamh?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Gabhamaid stèidse agus tagh sinn pàirt de phrod an sin. No aig a’ char as fheàrr, gabhamaid fìor phrothaid, an dàta gu lèir. Agus às deidh dhuinn a leasachadh gu h-ionadail, nì sinn sgrùdadh cuideachd airson an àrd-ùrlar.

Leigidh seo leinn cuid de na mearachdan a thoirt air falbh, i.e. casg a chuir orra bho bhith air prod.

Dè na duilgheadasan a th’ ann?

  • Is e an duilgheadas a th’ ann gu bheil sinn a’ roinn an àrd-ùrlar seo le co-obraichean. Agus glè thric bidh e a 'tachairt gun dèan thu seòrsa de dh' atharrachadh, bam - agus chan eil dàta ann, tha an obair sìos an drèana. Bha an àrd-ùrlar ioma-terabyte. Agus feumaidh tu feitheamh ùine mhòr gus an èirich e a-rithist. Agus tha sinn a’ co-dhùnadh crìoch a chuir air a-màireach. Sin e, tha leasachadh againn.
  • Agus, gu dearbh, tha mòran cho-obraichean againn ag obair ann, mòran sgiobaidhean. Agus feumaidh e bhith air a dhèanamh le làimh. Agus tha seo mì-ghoireasach.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus is fhiach a ràdh nach eil againn ach aon oidhirp, aon dhealbh, ma tha sinn airson beagan atharrachaidhean a dhèanamh air an stòr-dàta, suathadh air an dàta, atharraich an structar. Agus ma chaidh rudeigin ceàrr, ma bha mearachd san imrich, cha bhith sinn air ais gu sgiobalta.

Tha seo nas fheàrr na an dòigh-obrach roimhe, ach tha coltas ann fhathast gun tèid mearachd de sheòrsa air choreigin gu cinneasachadh.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Dè a tha gar casg bho bhith a’ toirt being deuchainn, leth-bhreac làn-mheud do gach leasaiche? Tha mi a’ smaoineachadh gu bheil e soilleir dè a tha a’ faighinn air adhart.

Cò aig a bheil stòr-dàta nas motha na terabyte? Barrachd air leth an t-seòmair.

Agus tha e soilleir gu bheil a bhith a 'cumail innealan airson gach leasaiche, nuair a tha leithid de riochdachadh mòr ann, gu math daor, agus a bharrachd air an sin, bheir e ùine mhòr.

Tha teachdaichean againn a tha air faighinn a-mach gu bheil e glè chudromach deuchainn a dhèanamh air a h-uile atharrachadh air leth-bhreacan làn-mheud, ach tha an stòr-dàta aca nas lugha na terabyte, agus chan eil goireasan ann airson being deuchainn a chumail airson gach leasaiche. Mar sin, feumaidh iad na dumps a luchdachadh sìos gu h-ionadail chun inneal aca agus deuchainn a dhèanamh san dòigh seo. Bheir e tòrr ùine.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Fiù ma nì thu e taobh a-staigh a ’bhun-structair, tha luchdachadh sìos aon terabyte de dhàta san uair mar-thà fìor mhath. Ach bidh iad a’ cleachdadh dumps loidsigeach, bidh iad a’ luchdachadh sìos gu h-ionadail bhon sgòth. Dhaibhsan, tha an astar timcheall air 200 gigabytes san uair. Agus bheir e ùine fhathast tionndadh bhon dump loidsigeach, cuir suas na clàran-amais, msaa.

Ach bidh iad a 'cleachdadh an dòigh seo oir tha e a' toirt cothrom dhaibh am bathar a chumail earbsach.

Dè as urrainn dhuinn a dhèanamh an seo? Dèanamaid beingean deuchainn saor agus bheir sinn a’ bheing deuchainn aca fhèin do gach leasaiche.

Agus tha seo comasach.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus san dòigh-obrach seo, nuair a nì sinn clones tana airson gach leasaiche, is urrainn dhuinn a roinn air aon inneal. Mar eisimpleir, ma tha stòr-dàta 10TB agad agus gu bheil thu airson a thoirt do 10 leasaiche, cha leig thu leas stòran-dàta XNUMX x XNUMXTB a bhith agad. Chan fheum thu ach aon inneal gus lethbhric tana iomallach a dhèanamh airson gach leasaiche a’ cleachdadh aon inneal. Innsidh mi dhut mar a tha e ag obair beagan nas fhaide air adhart.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Fìor eisimpleir:

  • DB - 4,5 terabytes.

  • Gheibh sinn lethbhric neo-eisimeileach ann an 30 diog.

Chan fheum thu feitheamh airson seasamh deuchainn agus bidh e an urra ri dè cho mòr sa tha e. Gheibh thu e ann an diogan. Bidh e na àrainneachdan gu tur iomallach, ach a bhios a’ roinn dàta eatorra fhèin.

Tha seo sgoinneil. An seo tha sinn a 'bruidhinn mu dheidhinn draoidheachd agus cruinne-cruinne co-shìnte.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Anns a 'chùis againn, bidh seo ag obair a' cleachdadh siostam OpenZFS.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Is e siostam faidhle leth-bhreac-air-sgrìobhaidh a th’ ann an OpenZFS a bheir taic do dhealbhan agus clones a-mach às a’ bhogsa. Tha e earbsach agus scalable. Tha i gu math furasta a riaghladh. Gu litearra faodar a chleachdadh ann an dà sgioba.

Tha roghainnean eile ann:

  • lvm,

  • Stòradh (mar eisimpleir, Stòradh Pure).

Tha an Stòr-dàta Lab air a bheil mi a’ bruidhinn modular. Faodar a chuir an gnìomh a’ cleachdadh nan roghainnean sin. Ach airson a-nis, tha sinn air fòcas a chuir air OpenZFS, oir bha duilgheadasan ann le LVM gu sònraichte.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ciamar a tha e ag obair? An àite a bhith ag ath-sgrìobhadh an dàta a h-uile uair a dh’ atharraicheas sinn e, bidh sinn ga shàbhaladh le bhith dìreach a’ comharrachadh gu bheil an dàta ùr seo bho àm ùr, dealbh ùr.

Agus san àm ri teachd, nuair a tha sinn airson gluasad air ais no ma tha sinn airson clon ùr a dhèanamh bho dhreach nas sine, tha sinn dìreach ag ràdh: “Ceart gu leòr, thoir dhuinn na blocaichean dàta sin a tha air an comharrachadh mar seo."

Agus obraichidh an neach-cleachdaidh seo le seata dàta mar sin. Mean air mhean atharraichidh e iad, nì e na dealbhan aige fhèin.

Agus bidh sinn ga roinn. Bidh cothrom aig gach leasaiche sa chùis againn an clon aige fhèin a bhios e a’ deasachadh, agus thèid an dàta a thèid a cho-roinn a roinn eadar a h-uile duine.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Gus siostam mar seo a chleachdadh aig an taigh, feumaidh tu dà dhuilgheadas fhuasgladh:

  • Is e a’ chiad fhear stòr an dàta, cò às a bheir thu e. Faodaidh tu ath-riochdachadh a stèidheachadh le cinneasachadh. Faodaidh tu na cùl-taic a shuidhich thu a chleachdadh mu thràth, tha mi an dòchas. WAL-E, WAL-G or Barman. Agus eadhon ged a tha thu a’ cleachdadh fuasgladh Cloud mar RDS no Cloud SQL, faodaidh tu dumps loidsigeach a chleachdadh. Ach tha sinn fhathast a’ toirt comhairle dhut cùl-taic a chleachdadh, oir leis an dòigh-obrach seo cumaidh tu cuideachd structar fiosaigeach nam faidhlichean, a leigeas leat a bhith eadhon nas fhaisge air na meatrach a chitheadh ​​​​tu ann an cinneasachadh gus na duilgheadasan sin a tha ann a ghlacadh.

  • Is e an dàrna fear far a bheil thu airson aoigheachd a thoirt don Lab Stòr-dàta. Dh’ fhaodadh gur e Cloud a th’ ann, dh’ fhaodadh e a bhith On-premise. Tha e cudromach a ràdh an seo gu bheil ZFS a’ toirt taic do dhlùthadh dàta. Agus tha e ga dhèanamh gu math.

Smaoinich, airson gach clon mar sin, a rèir na h-obrach a bhios sinn a’ dèanamh leis a’ bhunait, gum fàs seòrsa dev. Airson seo, bidh feum aig dev air àite cuideachd. Ach air sgàth gun do ghabh sinn bunait de 4,5 terabytes, bidh ZFS ga dhlùthadh gu 3,5 terabytes. Faodaidh seo atharrachadh a rèir nan roghainnean. Agus tha àite againn fhathast airson dev.

Faodar siostam mar seo a chleachdadh airson diofar chùisean.

  • Is iad sin luchd-leasachaidh, DBAn airson dearbhadh ceist, airson optimization.

  • Faodar seo a chleachdadh ann an deuchainn QA gus deuchainn a dhèanamh air imrich sònraichte mus cuir sinn a-steach e gu prod. Agus is urrainn dhuinn cuideachd àrainneachdan sònraichte a thogail airson QA le fìor dhàta, far an urrainn dhaibh comas-gnìomh ùr a dhearbhadh. Agus bheir e diogan an àite uairean feitheimh, agus is dòcha làithean ann an cuid de chùisean eile far nach eilear a’ cleachdadh lethbhric tana.

  • Agus cùis eile. Mura h-eil siostam anailis aig a’ chompanaidh, is urrainn dhuinn clon tana de bhunait an toraidh a sgaradh agus a thoirt do cheistean fada no clàran-amais sònraichte a ghabhas cleachdadh ann an anailisean.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Leis an dòigh-obrach seo:

  1. Ìosal coltachd mhearachdan air an “prod”, oir rinn sinn deuchainn air na h-atharrachaidhean air fad air dàta làn-mheud.

  2. Tha cultar de dheuchainnean againn, oir a-nis chan fheum thu feitheamh uairean a thìde airson do sheasamh fhèin.

  3. Agus chan eil bacadh sam bith ann, chan eil feitheamh eadar deuchainnean. Faodaidh tu gu dearbh a dhol agus sgrùdadh. Agus bidh e nas fheàrr san dòigh seo agus sinn a’ luathachadh an leasachaidh.

  • Bidh nas lugha de refactoring ann. Bidh nas lugha de bhiteagan a’ tighinn gu crìch ann am prod. Nì sinn ath-bheachdachadh orra nas lugha nas fhaide air adhart.

  • Is urrainn dhuinn atharrachaidhean nach gabh atharrachadh a thionndadh air ais. Chan e seo an dòigh àbhaisteach.

  1. Tha seo buannachdail oir bidh sinn a’ roinn goireasan nam beingean deuchainn.

Math mu thràth, ach dè eile a dh’ fhaodadh a bhith air a luathachadh?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Taing do leithid de shiostam, is urrainn dhuinn an stairsneach airson a dhol a-steach don deuchainn seo a lughdachadh gu mòr.

A-nis tha cearcall borb ann, nuair a dh’ fheumas leasaiche, gus faighinn gu fìor dhàta làn-mheud, a bhith na eòlaiche. Feumaidh earbsa a bhith ann le leithid de chothrom.

Ach mar a dh'fhàsas tu mura h-eil e ann. Ach dè mura h-eil agad ach seata glè bheag de dhàta deuchainn ri fhaighinn dhut? An uairsin chan fhaigh thu fìor eòlas sam bith.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ciamar a gheibh thu a-mach às a 'chearcall seo? Mar a’ chiad eadar-aghaidh, goireasach dha luchd-leasachaidh aig ìre sam bith, thagh sinn am bot Slack. Ach faodaidh e a bhith eadar-aghaidh sam bith eile.

Dè a leigeas leat a dhèanamh? Faodaidh tu ceist shònraichte a ghabhail agus a chuir gu sianal sònraichte airson an stòr-dàta. Cuiridh sinn clon tana gu fèin-ghluasadach ann an diogan. Leig leinn an t-iarrtas seo a ruith. Bidh sinn a’ cruinneachadh slatan-tomhais agus molaidhean. Leig leinn sealladh lèirsinneach a shealltainn. Agus an uairsin fuirichidh an clon seo gus an tèid a’ cheist seo a bharrachadh ann an dòigh air choireigin, cuir clàran-amais, msaa.

Agus cuideachd tha Slack a’ toirt chothroman dhuinn airson co-obrachadh a-mach às a’ bhogsa. Leis gur e dìreach seanal a tha seo, faodaidh tu tòiseachadh air an iarrtas seo a dheasbad an sin anns an t-snàthainn airson iarrtas mar sin, ping do cho-obraichean, DBAn a tha taobh a-staigh a’ chompanaidh.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ach, gu dearbh, tha duilgheadasan ann. Leis gur e seo an fhìor shaoghal, agus gu bheil sinn a’ cleachdadh frithealaiche a bhios a’ toirt aoigheachd do dh’iomadh clones aig an aon àm, feumaidh sinn an ìre de chuimhne agus cumhachd CPU a tha ri fhaighinn dha na clones a dhlùthadh.

Ach airson na deuchainnean sin a bhith so-chreidsinneach, feumaidh tu dòigh air choireigin fuasgladh fhaighinn air an duilgheadas seo.

Tha e soilleir gur e an aon dàta am puing chudromach. Ach tha e againn mu thràth. Agus tha sinn airson an aon rèiteachadh a choileanadh. Agus is urrainn dhuinn a leithid de rèiteachadh cha mhòr co-ionann a thoirt seachad.

Bhiodh e fionnar na h-aon bhathar-cruaidh a bhith agad agus a tha ann an cinneasachadh, ach dh’ fhaodadh e a bhith eadar-dhealaichte.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Cuimhnichidh sinn mar a tha Postgres ag obair le cuimhne. Tha dà caches againn. Aon bhon t-siostam faidhle agus aon Postgres dùthchasach, ie Cache Buffer Co-roinnte.

Tha e cudromach toirt fa-near gu bheil an Taisce Buffer Co-roinnte air a riarachadh nuair a thòisicheas Postgres, a rèir dè am meud a shònraicheas tu san rèiteachadh.

Agus bidh an dàrna tasgadan a’ cleachdadh a h-uile àite a tha ri fhaighinn.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus nuair a nì sinn grunn clones air aon inneal, tha e a 'tionndadh a-mach gu bheil sinn a' lìonadh a 'chuimhne mean air mhean. Agus ann an dòigh mhath, tha Shared Buffer Cache na 25% den àireamh iomlan de chuimhne a tha ri fhaighinn air an inneal.

Agus tha e a 'tionndadh a-mach, mura h-atharraich sinn am paramadair seo, is urrainn dhuinn dìreach 4 cùisean a ruith air aon inneal, ie 4 de na clones tana sin. Agus tha seo, gu dearbh, dona, oir tha sinn airson tòrr a bharrachd dhiubh a bhith againn.

Ach air an làimh eile, tha Buffer Cache air a chleachdadh gus ceistean airson clàran-amais a chuir an gnìomh, is e sin, tha am plana an urra ri dè cho mòr sa tha na caches againn. Agus ma ghabhas sinn am paramadair seo agus gun lughdaich sinn e, faodaidh na planaichean againn atharrachadh gu mòr.

Mar eisimpleir, ma tha tasgadan mòr againn air prod, is fheàrr le Postgres clàr-amais a chleachdadh. Agus mura h-eil, bidh SeqScan ann. Agus dè a’ phuing a bhiodh ann mura biodh na planaichean againn aig an aon àm?

Ach an seo thig sinn chun cho-dhùnadh gu dearbh nach eil am plana ann am Postgres an urra ris a ’mheud shònraichte a tha air a shònrachadh anns a’ Bhufair Co-roinnte sa phlana, tha e an urra ris an effective_cache_size.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Is e effective_cache_size an tomhas de thasgadh a tha ri fhaighinn dhuinn, ie an t-suim de Buffer Cache agus tasgadan siostam faidhle. Tha seo air a shuidheachadh leis an config. Agus chan eil an cuimhne seo air a riarachadh.

Agus air sgàth a’ pharamadair seo, is urrainn dhuinn seòrsa de chleas a dhèanamh air Postgres, ag ràdh gu bheil tòrr dàta againn ri fhaighinn, eadhon ged nach eil an dàta seo againn. Agus mar sin, bidh na planaichean gu tur aig an aon àm ri cinneasachadh.

Ach faodaidh seo buaidh a thoirt air an ùine. Agus bidh sinn a’ dèanamh an fheum as fheàrr de cheistean a rèir ùine, ach tha e cudromach gum bi an t-àm an urra ri mòran fhactaran:

  • Tha e an urra ris an luchd a tha air prod an-dràsta.

  • Tha e an urra ri feartan an inneil fhèin.

Agus is e paramadair neo-dhìreach a tha seo, ach gu dearbh is urrainn dhuinn an ìre as fheàrr a dhèanamh leis an ìre de dhàta a leughas a ’cheist seo gus an toradh fhaighinn.

Agus ma tha thu airson gum bi an t-àm faisg air na chì sinn ann am prod, feumaidh sinn am bathar-cruaidh as coltaiche a ghabhail agus, is dòcha, eadhon nas motha gus am bi na clones gu lèir iomchaidh. Ach is e co-rèiteachadh a tha seo, i.e. gheibh thu na h-aon phlanaichean, chì thu na tha de dhàta a leughas ceist shònraichte agus bidh e comasach dhut co-dhùnadh a bheil a’ cheist seo math (no imrich) no dona, feumar a mheudachadh fhathast .

Bheir sinn sùil air mar a tha Joe air a mheudachadh gu sònraichte.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Gabhamaid iarrtas bho shiostam fìor. Anns a 'chùis seo, tha an stòr-dàta 1 terabyte. Agus tha sinn airson an àireamh de phuist ùra a chunntadh aig an robh còrr air 10 coltas.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tha sinn a’ sgrìobhadh teachdaireachd chun t-sianail, chaidh clone a chuir a-steach dhuinn. Agus chì sinn gun tèid an leithid de iarrtas a chrìochnachadh ann an 2,5 mionaidean. Is e seo a’ chiad rud a mhothaicheas sinn.

Seallaidh B Joe molaidhean fèin-ghluasadach dhut stèidhichte air a’ phlana agus na meatrach.

Chì sinn gu bheil a’ cheist a’ pròiseasadh cus dàta gus àireamh bheag de shreathan fhaighinn. Agus tha feum air clàr-amais sònraichte de sheòrsa air choreigin, leis gun do mhothaich sinn gu bheil cus sreathan sìoltachaidh anns a’ cheist.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Bheir sinn sùil nas mionaidiche air na thachair. Gu dearbh, chì sinn gu bheil sinn air faisg air aon gu leth gigabytes de dhàta a leughadh bhon tasglann faidhle no eadhon bhon diosc. Agus chan eil seo math, oir cha d’ fhuair sinn ach 142 loidhne.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus, tha e coltach, tha sgrùdadh clàr-amais againn an seo agus bu chòir dha a bhith air obrachadh a-mach gu sgiobalta, ach bhon a chuir sinn a-mach cus loidhnichean (b’ fheudar dhuinn an cunntadh), dh’ obraich an t-iarrtas gu slaodach.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus thachair seo sa phlana air sgàth 's nach eil na suidheachaidhean anns a' cheist agus na cumhaichean sa chlàr-amais gu ìre a 'freagairt.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Feuchaidh sinn ris a’ chlàr-amais a dhèanamh nas mionaidiche agus faicinn mar a bhios coileanadh na ceiste ag atharrachadh às deidh sin.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Thug cruthachadh a 'chlàr-amais ùine mhòr, ach a-nis bidh sinn a' sgrùdadh a 'cheist agus a' faicinn nach eil an ùine an àite 2,5 mionaidean ach 156 milliseconds, a tha math gu leòr. Agus cha do leugh sinn ach 6 megabytes de dhàta.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus a-nis bidh sinn a’ cleachdadh scan clàr-amais a-mhàin.

Is e sgeulachd chudromach eile gu bheil sinn airson am plana a thaisbeanadh ann an dòigh air choireigin nas so-thuigsinn. Tha sinn air fradharc a chuir an gnìomh a’ cleachdadh Flame Graphs.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Is e iarrtas eadar-dhealaichte a tha seo, nas dian. Agus bidh sinn a’ togail grafaichean lasrach a rèir dà pharamadair: is e seo an ìre de dhàta a bha nòta sònraichte a’ cunntadh sa phlana agus an t-àm, ie àm cur an gnìomh an nód.

An seo faodaidh sinn coimeas a dhèanamh eadar nodan sònraichte le chèile. Agus bidh e soilleir cò dhiubh a bheir barrachd no nas lugha, a tha mar as trice duilich a dhèanamh ann an dòighean tairgse eile.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Gu dearbh, tha fios aig a h-uile duine explain.depesz.com. Is e feart math den t-sealladh seo gun sàbhail sinn am plana teacsa agus gun cuir sinn cuid de pharaimearan bunaiteach ann an clàr gus an urrainn dhuinn a sheòrsachadh.

Agus bidh luchd-leasachaidh nach do rannsaich a-steach don chuspair seo cuideachd a’ cleachdadh explain.depesz.com, oir tha e nas fhasa dhaibh faighinn a-mach dè na meatrach a tha cudromach agus dè nach eil.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tha dòigh-obrach ùr ann airson fradharc - is e seo explain.dalibo.com. Bidh iad a’ dèanamh fradharc craoibhe, ach tha e gu math duilich coimeas a dhèanamh eadar nodan le chèile. An seo faodaidh tu an structar a thuigsinn gu math, ge-tà, ma tha iarrtas mòr ann, feumaidh tu gluasad air ais is air adhart, ach cuideachd roghainn.

co-obrachadh

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Agus, mar a thuirt mi, tha Slack a’ toirt cothrom dhuinn co-obrachadh. Mar eisimpleir, ma thig sinn tarsainn air ceist iom-fhillte nach eil soilleir ciamar a nì sinn an fheum as fheàrr, is urrainn dhuinn a’ chùis seo a shoilleireachadh le ar co-obraichean ann an snàithlean ann an Slack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tha e coltach dhuinn gu bheil e cudromach deuchainn a dhèanamh air dàta làn-mheud. Gus seo a dhèanamh, rinn sinn an inneal Update Database Lab, a tha ri fhaighinn ann an còd fosgailte. Faodaidh tu an Joe bot a chleachdadh cuideachd. Faodaidh tu a ghabhail an-dràsta agus a chuir an gnìomh nad àite. Tha a h-uile stiùireadh ri fhaighinn an sin.

Tha e cuideachd cudromach cuimhneachadh nach eil am fuasgladh fhèin rèabhlaideach, oir tha Delphix ann, ach is e fuasgladh iomairt a th’ ann. Tha e dùinte gu tur, tha e gu math daor. Tha sinn gu sònraichte sònraichte ann am Postgres. Tha iad sin uile nan toraidhean stòr fosgailte. Thig còmhla rinn!

Seo far a bheil mi a’ crìochnachadh. Tapadh leat!

Do cheistean

Halò! Tapadh leibh airson an aithris! Gu math inntinneach, gu sònraichte dhòmhsa, oir dh’ fhuasgail mi mun aon dhuilgheadas o chionn ùine air ais. Agus mar sin tha grunn cheistean agam. Tha mi an dòchas gum faigh mi co-dhiù pàirt dheth.

Saoil ciamar a nì thu cunntas air an àite airson na h-àrainneachd seo? Tha an teicneòlas a’ ciallachadh gum faod na clones agad fàs chun na h-ìre as àirde ann an suidheachaidhean sònraichte. Gu ìre mhòr, ma tha stòr-dàta deich terabyte agad agus 10 clones, tha e furasta atharrais a dhèanamh air suidheachadh far a bheil cuideam 10 dàta sònraichte aig gach clon. Cionnas a dh’àirmheas tu an t-àite seo, is e sin, an delt sin air an do labhair thu, anns am bi na clones sin beò?

Deagh cheist. Tha e cudromach sùil a chumail air clones sònraichte an seo. Agus ma tha atharrachadh ro mhòr aig clon, tòisichidh e a’ fàs, is urrainn dhuinn an-toiseach rabhadh a thoirt don neach-cleachdaidh mu dheidhinn seo, no stad a chuir air a’ chlon seo sa bhad gus nach bi suidheachadh fàiligeadh againn.

Tha, tha ceist neadachaidh agam. Is e sin, ciamar a nì thu cinnteach à cearcall beatha nam modalan sin? Tha an duilgheadas seo againn agus sgeulachd gu tur air leth. Ciamar a tha seo a’ tachairt?

Tha beagan ttl ann airson gach clon. Gu bunaiteach, tha ttl stèidhichte againn.

Dè, mura h-eil e dìomhair?

1 uair, i.e. idle - 1 uair. Mura tèid a chleachdadh, bidh sinn ga bhualadh. Ach chan eil iongnadh sam bith an seo, oir is urrainn dhuinn an clone a thogail ann an diogan. Agus ma tha feum agad air a-rithist, mas e do thoil e.

Tha ùidh agam cuideachd anns an roghainn theicneòlasan, oir, mar eisimpleir, bidh sinn a 'cleachdadh grunn dhòighean ann an co-shìnte airson aon adhbhar no tè eile. Carson a tha ZFS? Carson nach do chleachd thu LVM? Dh'ainmich thu gu robh duilgheadasan ann le LVM. Dè na duilgheadasan a bh’ ann? Nam bheachd-sa, is e an roghainn as fheàrr le stòradh, a thaobh coileanadh.

Dè am prìomh dhuilgheadas le ZFS? Leis gum feum thu ruith air an aon aoigh, ie bidh a h-uile suidheachadh beò taobh a-staigh an aon OS. Agus a thaobh stòradh, faodaidh tu diofar uidheamachd a cheangal. Agus chan eil anns a’ bhotal ach na blocaichean sin a tha air an t-siostam stòraidh. Agus tha a 'cheist mu roghainn theicneòlasan inntinneach. Carson nach eil LVM?

Gu sònraichte, is urrainn dhuinn bruidhinn mu LVM aig coinneamh. Mu stòradh - tha e dìreach daor. Is urrainn dhuinn an siostam ZFS a chuir an gnìomh an àite sam bith. Faodaidh tu a chuir air an inneal agad. Faodaidh tu dìreach an stòr a luchdachadh sìos agus a chleachdadh. Tha ZFS air a chuir a-steach cha mhòr anns a h-uile àite ma tha sinn a’ bruidhinn mu dheidhinn Linux. Is e sin, gheibh sinn fuasgladh gu math sùbailte. Agus a-mach às a 'bhogsa, tha ZFS a' toirt mòran. Faodaidh tu na h-uimhir de dhàta a tha thu ag iarraidh a luchdachadh suas, àireamh mhòr de dhioscaichean a cheangal, tha dealbhan ann. Agus, mar a thuirt mi, tha e furasta a rianachd. Is e sin, tha e coltach gu bheil e gu math tlachdmhor a chleachdadh. Tha e fo dheuchainn, tha e iomadh bliadhna a dh'aois. Tha coimhearsnachd glè mhòr aige a tha a’ fàs. Tha ZFS na fhuasgladh fìor earbsach.

Nikolai Samokhvalov: Am faod mi tuilleadh beachd a thoirt seachad? Is e m ’ainm Nikolay, bidh sinn ag obair còmhla ri Anatoly. Tha mi ag aontachadh gu bheil stòradh math. Agus tha Pure Storage aig cuid den luchd-ceannach againn msaa.

Thug Anatoly fa-near gu ceart gu bheil sinn a’ cuimseachadh air modularity. Agus san àm ri teachd, faodaidh tu aon eadar-aghaidh a chuir an gnìomh - gabh dealbh, dèan clon, sgrios an clone. Tha e uile furasta. Agus tha stòradh fionnar, ma tha.

Ach tha ZFS ri fhaighinn don h-uile duine. Tha DelPhix mar-thà gu leòr, tha 300 neach-dèiligidh aca. Dhiubh sin, tha luchd-dèiligidh 100 aig fortan 50, ie tha iad ag amas air NASA, msaa. Tha an t-àm ann don h-uile duine an teicneòlas seo fhaighinn. Agus is ann air sgàth sin a tha stòr fosgailte Core againn. Tha pàirt eadar-aghaidh againn nach eil stòr fosgailte. Is e seo an àrd-ùrlar a sheallas sinn. Ach tha sinn airson gum bi e ruigsinneach don h-uile duine. Tha sinn airson ar-a-mach a dhèanamh gus nach stad a h-uile neach-dearbhaidh a bhith a’ tomhas air coimpiutairean-uchd. Feumaidh sinn SELECT a sgrìobhadh agus faicinn sa bhad gu bheil e slaodach. Stad a’ feitheamh ris an DBA innse dhut mu dheidhinn. Seo am prìomh amas. Agus tha mi a’ smaoineachadh gun tig sinn uile gu seo. Agus bidh sinn a 'dèanamh an rud seo airson a h-uile duine. Mar sin ZFS, oir bidh e ri fhaighinn anns a h-uile àite. Taing don choimhearsnachd airson fuasgladh fhaighinn air duilgheadasan agus airson cead stòr fosgailte, msaa.*

Beannachdan! Tapadh leibh airson an aithris! Is e m ’ainm Maxim. Tha sinn air dèiligeadh ris na h-aon chùisean. Cho-dhùin iad leotha fhèin. Ciamar a roinneas tu goireasan eadar na clones sin? Faodaidh gach clon a rud fhèin a dhèanamh aig àm sònraichte sam bith: bidh aon a’ dèanamh deuchainn air aon rud, fear eile air fear eile, bidh cuideigin a’ togail clàr-amais, tha obair throm aig cuideigin. Agus mas urrainn dhut fhathast a roinn le CPU, an uairsin le IO, ciamar a roinneadh tu? Seo a’ chiad cheist.

Agus tha an dàrna ceist mu cho eadar-dhealaichte ‘s a tha na standan. Canaidh sinn gu bheil ZFS agam an seo agus tha a h-uile dad fionnar, ach chan eil ZFS aig an neach-dèiligidh air prod, ach ext4, mar eisimpleir. Ciamar sa chùis seo?

Tha na ceistean fìor mhath. Thug mi iomradh beagan air an duilgheadas seo leis gu bheil sinn a’ roinn ghoireasan. Agus is e seo am fuasgladh. Smaoinich gu bheil thu a’ dèanamh deuchainn air an àrd-ùrlar. Faodaidh tu cuideachd a leithid de shuidheachadh a bhith agad aig an aon àm a bheir cuideigin aon luchd, cuideigin eile. Agus mar thoradh air an sin, chì thu metrics do-chreidsinneach. Faodaidh eadhon an aon dhuilgheadas a bhith ann le prod. Nuair a tha thu airson sùil a thoirt air cuid de dh'iarrtas agus chì thu gu bheil duilgheadas ann leis - bidh e ag obair gu slaodach, an uairsin gu dearbh cha robh an duilgheadas san iarrtas, ach anns an fhìrinn gu bheil seòrsa de luchd co-shìnte ann.

Agus mar sin, tha e cudromach an seo fòcas a chuir air dè a bhios sa phlana, dè na ceumannan a ghabhas sinn sa phlana agus dè an ìre de dhàta a thogas sinn airson seo. Leis gum bi na diosgan againn, mar eisimpleir, air an luchdachadh le rudeigin, bheir e buaidh shònraichte air an àm. Ach is urrainn dhuinn tuairmse a dhèanamh air cho làn sa tha an t-iarrtas seo a rèir na tha de dhàta ann. Chan eil e cho cudromach gum bi seòrsa de chur gu bàs aig an aon àm.

Tha dà cheist agam. Is e stuth gu math fionnar a tha seo. An robh cùisean ann far a bheil dàta cinneasachaidh deatamach, leithid àireamhan chairtean creideis? A bheil rudeigin deiseil mu thràth no an e obair air leth a th’ ann? Agus an dàrna ceist - a bheil rudeigin mar seo ann airson MySQL?

Mu dheidhinn an dàta. Nì sinn obfuscation gus an dèan sinn sin. Ach ma chleachdas tu Joe gu dìreach, mura toir thu cothrom do luchd-leasachaidh, chan eil cothrom air an dàta. Carson? Leis nach eil Joe a’ sealltainn dàta. Chan eil e a’ sealltainn ach meatrach, planaichean agus sin e. Chaidh seo a dhèanamh a dh’aona ghnothach, oir is e seo aon de riatanasan ar teachdaiche. Bha iad airson a bhith comasach air an fheum as fheàrr a dhèanamh gun a bhith a’ toirt cothrom don h-uile duine.

Mu dheidhinn MySQL. Faodar an siostam seo a chleachdadh airson rud sam bith a tha a 'stòradh stàite air diosg. Agus leis gu bheil sinn a’ dèanamh Postgres, tha sinn a-nis a’ dèanamh a h-uile fèin-ghluasad airson Postgres an-toiseach. Tha sinn airson fèin-ghluasad fhaighinn air dàta fhaighinn bho chùl-taic. Tha sinn a’ rèiteachadh Postgres gu ceart. Tha fios againn mar a nì sinn planaichean co-ionnan, msaa.

Ach leis gu bheil an siostam leudachail, faodar a chleachdadh airson MySQL cuideachd. Agus tha eisimpleirean mar sin ann. Tha an aon rud aig Yandex, ach cha bhith iad ga fhoillseachadh an àite sam bith. Bidh iad ga chleachdadh taobh a-staigh Yandex.Metrica. Agus chan eil ann ach sgeulachd mu MySQL. Ach tha na teicneòlasan mar an ceudna, ZFS.

Tapadh leibh airson an aithris! Tha ceist no dhà agam cuideachd. Dh’ainmich thu gum faodar clonadh a chleachdadh airson anailisean, mar eisimpleir gus clàran-amais a bharrachd a thogail an sin. An urrainn dhut beagan a bharrachd innse mu mar a tha e ag obair?

Agus cuiridh mi an dàrna ceist sa bhad mu cho coltach sa tha na standan, cho coltach sa tha na planaichean. Tha am plana cuideachd an urra ris na staitistig a chruinnich Postgres. Ciamar a nì thu fuasgladh air an duilgheadas seo?

A rèir an anailis, chan eil cùisean sònraichte ann, leis nach eil sinn air a chleachdadh fhathast, ach tha leithid de chothrom ann. Ma tha sinn a’ bruidhinn air clàran-amais, an uairsin smaoinich gu bheil ceist a’ ruith clàr le ceudan de mhilleanan de chlàran agus colbh nach eil mar as trice air a chlàr-amais ann am prod. Agus tha sinn airson beagan dàta obrachadh a-mach an sin. Ma thèid an t-iarrtas seo a chuir gu prod, tha e comasach gum bi e sìmplidh air prod, oir thèid an t-iarrtas a phròiseasadh an sin airson mionaid.

Ceart gu leòr, dèanamaid clon tana nach eil uamhasach airson stad airson beagan mhionaidean. Agus gus a dhèanamh nas comhfhurtail na mion-sgrùdaidhean a leughadh, cuiridh sinn clàran-amais airson nan colbhan sin anns a bheil ùidh againn ann an dàta.

Thèid an clàr-amais a chruthachadh gach turas?

Faodaidh tu a dhèanamh gus am bi sinn a’ suathadh ris an dàta, a ’dèanamh dhealbhan-camara, an uairsin gheibh sinn air ais bhon dealbh seo agus draibheadh ​​​​sinn iarrtasan ùra. Is e sin, faodaidh tu a dhèanamh gus an urrainn dhut clones ùra a thogail le clàran-amais a tha ceangailte mar-thà.

A thaobh na ceist mu staitistig, ma bheir sinn air ais bho chùl-taic, ma nì sinn ath-riochdachadh, bidh na staitistigean againn dìreach mar an ceudna. Leis gu bheil an structar dàta corporra gu lèir againn, is e sin, bheir sinn an dàta mar a tha e leis a h-uile meatrach staitistig cuideachd.

Seo duilgheadas eile. Ma chleachdas tu fuasgladh sgòthan, chan eil ach cnapan loidsigeach rim faighinn an sin, oir cha leig Google, Amazon leat leth-bhreac corporra a ghabhail. Bidh duilgheadas ann.

Mòran taing airson an aithris. Bha dà cheist mhath an seo mu MySQL agus roinneadh ghoireasan. Ach, gu dearbh, tha e uile an urra ris nach e cuspair DBMS sònraichte a tha seo, ach an siostam faidhle gu h-iomlan. Agus, a rèir sin, bu chòir cùisean co-roinn ghoireasan a bhith air am fuasgladh às an sin, chan ann aig a’ cheann thall gur e Postgres a th’ ann, ach san t-siostam faidhle, san t-seirbheisiche, mar eisimpleir.

Tha mo cheist beagan eadar-dhealaichte. Tha e nas fhaisge air an stòr-dàta ioma-shreath, far a bheil grunn shreathan ann. Mar eisimpleir, stèidhich sinn ùrachadh ìomhaigh deich-terabyte, tha sinn ag ath-aithris. Agus bidh sinn gu sònraichte a’ cleachdadh am fuasgladh seo airson stòran-dàta. Tha ath-riochdachadh a’ dol air adhart, tha dàta ga ùrachadh. Tha 100 neach-obrach ag obair aig an aon àm an seo, a tha an-còmhnaidh a’ cur air bhog na diofar dhealbhan sin. Dè a nì thu? Mar a nì thu cinnteach nach eil còmhstri ann, gun do chuir iad air bhog fear, agus an uairsin dh’ atharraich an siostam faidhle, agus chaidh na dealbhan sin uile?

Cha tèid iad oir is ann mar sin a tha ZFS ag obair. Is urrainn dhuinn na h-atharrachaidhean siostam faidhle a thig mar thoradh air ath-riochdachadh a chumail fa leth ann an aon snàithlean. Agus cùm na clones a bhios luchd-leasachaidh a’ cleachdadh air dreachan nas sine den dàta. Agus tha e ag obair dhuinne, tha a h-uile dad ann an òrdugh le seo.

Tha e coltach gun tachair an t-ùrachadh mar shreath a bharrachd, agus thèid a h-uile dealbh ùr mu thràth, stèidhichte air an ìre seo, ceart?

Bho shreathan roimhe a bha bho ath-riochdachadh roimhe.

Tuitidh na sreathan roimhe, ach bheir iad iomradh air an t-seann shreath, agus an toir iad dealbhan ùra bhon t-sreath mu dheireadh a fhuaireadh san ùrachadh?

San fharsaingeachd, tha.

Mar thoradh air an sin bidh suas ri fige de shreathan againn. Agus thar ùine feumaidh iad a bhith air an teannachadh?

Tha, tha a h-uile dad ceart. Tha beagan uinneag ann. Bidh sinn a’ cumail dealbhan seachdaineil. Tha e an urra ri dè an goireas a th’ agad. Ma tha comas agad tòrr dàta a stòradh, faodaidh tu dealbhan a stòradh airson ùine mhòr. Cha tèid iad air falbh leotha fhèin. Cha bhi truailleadh dàta ann. Ma tha na dealbhan seann-fhasanta, mar a tha e coltach dhuinne, ie tha e an urra ris a’ phoileasaidh sa chompanaidh, is urrainn dhuinn dìreach an toirt às agus àite a shaoradh.

Halo, tapadh leat airson an aithris! Ceist mu Joe. Thuirt thu nach robh an neach-ceannach airson cothrom a thoirt don h-uile duine faighinn chun dàta. Gu cruaidh, ma tha toradh Mìnich Mion-sgrùdadh aig neach, faodaidh e an dàta a choimhead.

Tha e mar sin. Mar eisimpleir, is urrainn dhuinn sgrìobhadh: "SELECT FROM WHERE email = gu sin". Is e sin, chan fhaic sinn an dàta fhèin, ach chì sinn cuid de shoidhnichean neo-dhìreach. Feumar seo a thuigsinn. Ach air an làimh eile, tha e uile ann. Tha sgrùdadh log againn, tha smachd againn air co-obraichean eile a bhios cuideachd a’ faicinn na tha an luchd-leasachaidh a’ dèanamh. Agus ma dh'fheuchas cuideigin ri seo a dhèanamh, thig an t-seirbheis tèarainteachd thuca agus obraichidh e air a 'chùis seo.

Feasgar math Tapadh leibh airson an aithris! Tha ceist ghoirid agam. Mura cleachd a’ chompanaidh Slack, a bheil ceangal sam bith ris a-nis, no a bheil e comasach do luchd-leasachaidh suidheachaidhean a chuir an sàs gus tagradh deuchainn a cheangal ris na stòran-dàta?

A-nis tha ceangal ann gu Slack, i.e. chan eil teachdaire eile ann, ach tha mi dha-rìribh ag iarraidh taic a thoirt do theachdairean eile cuideachd. Dè as urrainn dhut a dhèanamh? Faodaidh tu DB Lab a chuir a-steach às aonais Eòs, falbh le cuideachadh bhon REST API no le cuideachadh bhon àrd-ùrlar againn agus cruthaich clones agus ceangail ri PSQL. Ach faodar seo a dhèanamh ma tha thu deiseil gus cothrom a thoirt don luchd-leasachaidh agad air an dàta, oir cha bhi scrion ann tuilleadh.

Chan eil feum agam air an ìre seo, ach tha feum agam air a leithid de chothrom.

An uairsin tha, faodar a dhèanamh.

Source: www.habr.com

Cuir beachd ann