DBA bot Joe. Anatoly Stansler (Postgres.ai)

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ta yaya mai haɓaka baya ya fahimci cewa tambayar SQL za ta yi aiki da kyau akan “samfurin”? A cikin manyan kamfanoni masu girma ko sauri, ba kowa ba ne ke da damar yin amfani da "samfurin". Kuma tare da samun dama, ba duk buƙatun ba ne za a iya bincika ba tare da wahala ba, kuma ƙirƙirar kwafin bayanai yakan ɗauki sa'o'i. Don magance waɗannan matsalolin, mun ƙirƙiri DBA na wucin gadi - Joe. An riga an yi nasarar aiwatar da shi a cikin kamfanoni da yawa kuma yana taimakawa fiye da dozin masu haɓakawa.

Video:

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Sannu duka! Sunana Anatoly Stansler. Ina aiki da kamfani postgres.ai. Mun himmatu don hanzarta aiwatar da ci gaba ta hanyar cire jinkirin da ke tattare da aikin Postgres daga masu haɓakawa, DBAs da QAs.

Muna da manyan abokan ciniki kuma a yau wani ɓangare na rahoton za a ƙaddamar da shi ga lamuran da muka sadu da su yayin aiki tare da su. Zan yi magana game da yadda muka taimaka musu wajen magance matsaloli masu tsanani.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Lokacin da muke haɓakawa da yin ƙaura mai ɗaukar nauyi, muna yiwa kanmu tambayar: "Shin wannan ƙaura zai tashi?". Muna amfani da bita, muna amfani da ilimin ƙwararrun abokan aiki, ƙwararrun DBA. Kuma za su iya sanin ko zai tashi ko a'a.

Amma watakila zai fi kyau idan za mu iya gwada kanmu akan cikakken kwafi. Kuma a yau za mu yi magana ne kawai game da hanyoyin da za a bi don gwaji a yanzu da kuma yadda za a iya yin shi mafi kyau da kuma kayan aiki. Za mu kuma yi magana game da ribobi da fursunoni na irin waɗannan hanyoyin, da abin da za mu iya gyara a nan.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Wanene ya taɓa yin fihirisa kai tsaye akan samfurin ko ya yi wasu canje-canje? Kadan daga ciki. Kuma ga wane ne wannan ya kai ga gaskiyar cewa bayanan sun ɓace ko akwai raguwa? Sa'an nan ka san wannan zafi. Alhamdu lillahi akwai backups.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Hanyar farko ita ce gwaji a cikin samfur. Ko, lokacin da mai haɓakawa ya zauna a kan na'ura na gida, yana da bayanan gwaji, akwai wani nau'i na zaɓi mai iyaka. Kuma muna mirgine zuwa prod, kuma mun sami wannan halin da ake ciki.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Yana da zafi, yana da tsada. Zai fi kyau kada a yi.

Kuma wace hanya ce mafi kyau don yin shi?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Bari mu ɗauki mataki kuma mu zaɓi wani ɓangaren samfurin a can. Ko kuma a mafi kyau, bari mu ɗauki ainihin abin samarwa, duk bayanan. Kuma bayan mun inganta shi a cikin gida, za mu kuma duba don tsarawa.

Wannan zai ba mu damar cire wasu daga cikin kurakurai, watau hana su zama a kan prod.

Menene matsalolin?

  • Matsalar ita ce muna raba wannan taron tare da abokan aiki. Kuma sau da yawa yana faruwa cewa kuna yin wani nau'in canji, bam - kuma babu bayanai, aikin yana ƙasa da magudanar ruwa. Tsarin ya kasance Multi-terabyte. Kuma dole ne ku jira tsawon lokaci kafin ya sake tashi. Kuma mun yanke shawarar kammala shi gobe. Shi ke nan, muna da ci gaba.
  • Kuma, ba shakka, muna da abokan aiki da yawa da ke aiki a wurin, ƙungiyoyi da yawa. Kuma dole ne a yi shi da hannu. Kuma wannan bai dace ba.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma yana da kyau a ce muna da ƙoƙari ɗaya kawai, harbi ɗaya, idan muna son yin wasu canje-canje a cikin bayanan, taɓa bayanan, canza tsarin. Idan kuma wani abu ya yi kuskure, idan an sami kuskure a cikin hijira, to ba za mu yi sauri mu koma baya ba.

Wannan yana da kyau fiye da hanyar da ta gabata, amma har yanzu akwai babban yiwuwar cewa wani nau'i na kuskure zai je samarwa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Me zai hana mu baiwa kowane mai haɓaka benci na gwaji, kwafin cikakken girma? Ina ganin a fili yake abin da ke kawo cikas.

Wanene ke da rumbun adana bayanai ya fi terabyte girma? Fiye da rabin ɗakin.

Kuma a bayyane yake cewa adana injina ga kowane mai haɓakawa, idan akwai irin wannan babban samarwa, yana da tsada sosai, banda haka, yana ɗaukar lokaci mai tsawo.

Muna da abokan ciniki waɗanda suka fahimci cewa yana da matukar muhimmanci a gwada duk canje-canje akan cikakkun kwafi, amma bayanansu bai kai terabyte ba, kuma babu albarkatun da za a ajiye benci na gwaji ga kowane mai haɓakawa. Don haka, dole ne su sauke jujjuyawar gida zuwa injin su kuma gwada ta wannan hanyar. Yana ɗaukar lokaci mai yawa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ko da kun yi shi a cikin abubuwan more rayuwa, to zazzage terabyte ɗaya na bayanai a cikin sa'a ya riga ya yi kyau sosai. Amma suna amfani da juji masu ma'ana, suna saukewa a cikin gida daga gajimare. A gare su, gudun yana da kusan gigabytes 200 a kowace awa. Kuma har yanzu yana ɗaukar lokaci don juyawa daga juji mai ma'ana, mirgine fihirisa, da sauransu.

Amma suna amfani da wannan hanyar saboda yana ba su damar tabbatar da abin dogara.

Me za mu iya yi a nan? Mu sanya benches na gwaji arha kuma mu baiwa kowane mai haɓaka nasa benci na gwaji.

Kuma wannan yana yiwuwa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma a cikin wannan hanya, lokacin da muka yi bakin ciki clones ga kowane developer, za mu iya raba shi a kan daya inji. Misali, idan kuna da rumbun adana bayanai na 10TB kuma kuna son ba da ita ga masu haɓakawa 10, ba kwa buƙatar samun bayanan XNUMX x XNUMXTB. Kuna buƙatar na'ura ɗaya kawai don yin kwafi na bakin ciki na kowane mai haɓaka ta amfani da injin guda ɗaya. Zan gaya muku yadda yake aiki kaɗan daga baya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Misali na gaske:

  • DB - 4,5 terabytes.

  • Za mu iya samun kwafi masu zaman kansu a cikin daƙiƙa 30.

Ba dole ba ne ka jira tsayawar gwaji kuma ya dogara da girman girmansa. Kuna iya samun shi a cikin daƙiƙa guda. Za a zama keɓe muhallin gaba ɗaya, amma waɗanda ke raba bayanai a tsakanin su.

Wannan yana da kyau. Anan muna magana ne game da sihiri da sararin samaniya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

A cikin yanayinmu, wannan yana aiki ta amfani da tsarin OpenZFS.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

OpenZFS tsarin fayil ne na kwafi-kan-rubutu wanda ke goyan bayan hotunan hoto da clones daga cikin akwatin. Abin dogara ne kuma mai daidaitawa. Tana da sauƙin sarrafawa. Ana iya shigar da shi a zahiri a cikin ƙungiyoyi biyu.

Akwai wasu zaɓuɓɓuka:

  • - LVM,

  • Adana (misali, Tsabtace Tsabtace).

Database Lab da nake magana akai modular ne. Ana iya aiwatar da su ta amfani da waɗannan zaɓuɓɓuka. Amma a yanzu, mun mai da hankali kan OpenZFS, saboda akwai matsaloli tare da LVM musamman.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ta yaya yake aiki? Maimakon sake rubuta bayanan duk lokacin da muka canza su, muna adana su ta hanyar sanya alama kawai cewa wannan sabon bayanan daga sabon lokaci ne, sabon hoto.

Kuma a nan gaba, lokacin da muke son komawa baya ko kuma muna son yin sabon clone daga wasu tsofaffin sigar, kawai mu ce: "Ok, ba mu waɗannan tubalan bayanan da aka yiwa alama haka."

Kuma wannan mai amfani zai yi aiki tare da irin wannan saitin bayanai. A hankali zai canza su, yayi nasa hotuna.

Kuma za mu reshe. Kowane mai haɓakawa a cikin yanayinmu zai sami damar samun nasa clone wanda ya gyara, kuma za a raba bayanan da aka raba tsakanin kowa da kowa.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Don shigar da irin wannan tsarin a gida, kuna buƙatar magance matsaloli guda biyu:

  • Na farko shi ne tushen bayanan, inda za ku ɗauka daga. Kuna iya saita kwafi tare da samarwa. Kuna iya riga amfani da madadin da kuka tsara, ina fata. WAL-E, WAL-G ko Barman. Kuma ko da kuna amfani da wani nau'in maganin Cloud kamar RDS ko Cloud SQL, to zaku iya amfani da jujjuyawar hankali. Amma har yanzu muna ba ku shawara ku yi amfani da ajiyar kuɗi, saboda ta wannan hanyar za ku kuma riƙe tsarin jiki na fayilolin, wanda zai ba ku damar kusantar da ma'aunin da za ku gani a samarwa don kama waɗannan matsalolin da ke wanzu.

  • Na biyu shine inda kake son karbar bakuncin Database Lab. Yana iya zama Cloud, yana iya zama Kan-gida. Yana da mahimmanci a faɗi a nan cewa ZFS tana goyan bayan matsawar bayanai. Kuma yana yin shi sosai.

Ka yi tunanin cewa ga kowane irin wannan clone, dangane da ayyukan da muke yi tare da tushe, wani nau'i na dev zai girma. Don wannan, dev kuma zai buƙaci sarari. Amma saboda gaskiyar cewa mun ɗauki tushe na terabytes 4,5, ZFS zai matsa shi zuwa terabytes 3,5. Wannan na iya bambanta dangane da saitunan. Kuma har yanzu muna da dakin dev.

Ana iya amfani da irin wannan tsarin don lokuta daban-daban.

  • Waɗannan su ne masu haɓakawa, DBAs don tabbatar da tambaya, don haɓakawa.

  • Ana iya amfani da wannan a gwajin QA don gwada ƙaura ta musamman kafin mu fitar da shi don samarwa. Kuma za mu iya haɓaka yanayi na musamman don QA tare da ainihin bayanai, inda za su iya gwada sabon ayyuka. Kuma zai ɗauki daƙiƙa maimakon sa'o'in jira, kuma watakila kwanaki a wasu lokuta inda ba a yi amfani da kwafi na bakin ciki ba.

  • Da wani harka. Idan kamfani ba shi da tsarin nazari da aka kafa, to, za mu iya ware wani bakin ciki clone na tushen samfurin kuma mu ba shi ga dogon tambayoyi ko fihirisa na musamman waɗanda za a iya amfani da su a cikin nazari.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tare da wannan hanyar:

  1. Ƙananan yuwuwar kurakurai akan "samfurin", saboda mun gwada duk canje-canje akan cikakkun bayanai.

  2. Muna da al'adar gwaji, saboda yanzu ba lallai ne ku jira awanni don tsayawar ku ba.

  3. Kuma babu shamaki, babu jira tsakanin gwaje-gwaje. Kuna iya gaske je ku duba. Kuma zai fi kyau ta wannan hanya yayin da muke hanzarta ci gaban.

  • Za a sami ƙarancin refactoring. Ƙananan kwari za su ƙare a cikin samfur. Za mu sake yin su kaɗan daga baya.

  • Za mu iya juyar da canje-canjen da ba za a iya juyawa ba. Wannan ba daidaitaccen tsarin ba ne.

  1. Wannan yana da fa'ida saboda muna raba albarkatun benci na gwaji.

Ya riga ya yi kyau, amma menene kuma za a iya hanzarta?

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Godiya ga irin wannan tsarin, za mu iya rage girman shiga irin wannan gwajin.

Yanzu akwai muguwar da'ira, lokacin da mai haɓakawa, don samun damar samun cikakkun bayanai na gaske, dole ne ya zama gwani. Dole ne a amince da shi da irin wannan damar.

Amma yadda ake girma idan ba a can ba. Amma idan kuna da ƙaramin saitin bayanan gwaji fa? Sa'an nan kuma ba za ku sami kwarewa ta gaske ba.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Yadda za a fita daga wannan da'irar? A matsayin farkon fara dubawa, dacewa ga masu haɓaka kowane matakin, mun zaɓi Slack bot. Amma yana iya zama kowane nau'in dubawa.

Me ya ba ka damar yi? Kuna iya ɗaukar takamaiman tambaya kuma aika zuwa tasha ta musamman don bayanan bayanai. Za mu tura clone na bakin ciki ta atomatik a cikin daƙiƙa. Bari mu gudanar da wannan bukatar. Muna tattara awo da shawarwari. Bari mu nuna hangen nesa. Sannan wannan clone zai kasance ta yadda za a iya inganta wannan tambayar ko ta yaya, ƙara fihirisa, da sauransu.

Hakanan Slack yana ba mu dama don haɗin gwiwa daga cikin akwatin. Tunda wannan tasha ce kawai, zaku iya fara tattaunawa akan wannan buƙatar a can cikin zaren don irin wannan buƙatar, ping abokan aikinku, DBAs waɗanda ke cikin kamfanin.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Amma akwai, ba shakka, matsaloli. Saboda wannan ita ce ainihin duniyar, kuma muna amfani da uwar garken da ke ɗaukar nauyin clones da yawa a lokaci ɗaya, dole ne mu matsa adadin ƙwaƙwalwar ajiya da ikon CPU da ke samuwa ga clones.

Amma don waɗannan gwaje-gwajen su zama masu dacewa, kuna buƙatar ko ta yaya warware wannan matsalar.

A bayyane yake cewa mahimmancin batu shine bayanai guda ɗaya. Amma muna da shi. Kuma muna so mu cimma wannan tsari. Kuma za mu iya ba da irin wannan tsari kusan iri ɗaya.

Zai yi kyau a sami hardware iri ɗaya kamar yadda ake samarwa, amma yana iya bambanta.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Bari mu tuna yadda Postgres ke aiki tare da ƙwaƙwalwar ajiya. Muna da caches guda biyu. Ɗaya daga tsarin fayil kuma ɗaya Postgres na asali, watau Shared Buffer Cache.

Yana da mahimmanci a lura cewa an keɓance Cache ɗin Shared lokacin da Postgres ya fara, ya danganta da girman girman da kuka ƙayyade a cikin saitin.

Kuma cache na biyu yana amfani da duk sararin samaniya.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma idan muka yi clones da yawa akan na'ura ɗaya, ya zama cewa mun cika ƙwaƙwalwar ajiya a hankali. Kuma a hanya mai kyau, Shared Buffer Cache shine 25% na adadin adadin ƙwaƙwalwar ajiya da ke samuwa akan na'ura.

Kuma ya zama cewa idan ba mu canza wannan siga ba, to, za mu iya yin amfani da lokuta 4 kawai akan na'ura ɗaya, wato, 4 na waɗannan ƙananan clones gaba ɗaya. Kuma wannan, ba shakka, ba shi da kyau, domin muna so mu sami yawancin su.

Amma a daya hannun, Buffer Cache ana amfani da shi don aiwatar da tambayoyin fihirisa, wato, shirin ya dogara da girman girman cache ɗin mu. Kuma idan muka ɗauki wannan siga kawai mu rage shi, to shirye-shiryenmu na iya canzawa da yawa.

Misali, idan muna da babban cache akan prod, to Postgres zai fi son yin amfani da fihirisa. Kuma idan ba haka ba, to za a sami SeqScan. Kuma menene amfanin idan shirinmu bai zo daidai ba?

Amma a nan mun zo ga ƙarshe cewa a gaskiya shirin a Postgres bai dogara da takamaiman girman da aka ƙayyade a cikin Shared Buffer a cikin shirin ba, ya dogara da tasiri_cache_size.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Effective_cache_size shine kiyasin adadin cache da ke samuwa gare mu, watau jimlar Buffer Cache da cache tsarin fayil. An saita wannan ta hanyar daidaitawa. Kuma ba a ware wannan ƙwaƙwalwar ajiya ba.

Kuma saboda wannan siga, za mu iya yin dabarar Postgres, yana cewa a zahiri muna da bayanai da yawa, koda kuwa ba mu da wannan bayanan. Sabili da haka, tsare-tsaren za su yi daidai da samarwa gaba ɗaya.

Amma wannan na iya rinjayar lokaci. Kuma muna inganta tambayoyin ta hanyar lokaci, amma yana da mahimmanci cewa lokaci ya dogara da abubuwa da yawa:

  • Ya dogara da nauyin da ke kan samfur a halin yanzu.

  • Ya dogara da halayen injin kanta.

Kuma wannan siga ce ta kaikaice, amma a gaskiya muna iya inganta daidai da adadin bayanan da wannan tambaya za ta karanta domin samun sakamako.

Kuma idan kuna son lokacin ya kasance kusa da abin da za mu gani a cikin prod, to muna buƙatar ɗaukar kayan aikin da suka fi kama da, kuma, mai yiwuwa, har ma da ƙari don duk clones ɗin su dace. Amma wannan sulhu ne, watau za ku sami tsare-tsare iri ɗaya, za ku ga adadin bayanan da wata tambaya za ta karanta kuma za ku iya yanke shawarar ko wannan tambayar tana da kyau (ko hijira) ko mara kyau, har yanzu tana buƙatar ingantawa. .

Bari mu kalli yadda aka inganta Joe musamman.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Bari mu ɗauki buƙata daga tsarin gaske. A wannan yanayin, ma'aunin bayanai shine terabyte 1. Kuma muna so mu ƙidaya adadin sabbin posts waɗanda suke da likes sama da 10.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Muna rubuta sako zuwa tashar, an tura mana wani clone. Kuma za mu ga cewa irin wannan bukatar za ta cika a cikin minti 2,5. Wannan shine abu na farko da muka lura.

B Joe zai nuna muku shawarwari ta atomatik bisa tsari da awo.

Za mu ga cewa tambayar tana aiwatar da bayanai da yawa don samun ƙaramin adadin layuka. Kuma ana buƙatar wasu nau'ikan fihirisa na musamman, tunda mun lura cewa akwai layukan tacewa da yawa a cikin tambayar.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Mu kalli abin da ya faru da kyau. Hakika, mun ga cewa mun karanta kusan gigabytes daya da rabi na bayanai daga cache fayil ko ma daga diski. Kuma wannan ba shi da kyau, saboda mun sami layi 142 kawai.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma, da alama, muna da index scan a nan kuma ya kamata a yi aiki da sauri, amma tun da mun tace layukan da yawa (dole ne mu ƙidaya su), buƙatar ta yi aiki a hankali.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma wannan ya faru a cikin shirin saboda gaskiyar cewa yanayin da ke cikin tambaya da yanayin da ke cikin fihirisar ba su dace ba.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Bari mu yi ƙoƙari mu sa fihirisar ta zama daidai kuma mu ga yadda aiwatar da tambayar ke canzawa bayan haka.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Ƙirƙirar ma'aunin ya ɗauki lokaci mai tsawo, amma yanzu mun bincika tambaya kuma mu ga cewa lokacin maimakon 2,5 minti shine kawai 156 millise seconds, wanda ya isa sosai. Kuma mun karanta 6 megabytes na bayanai kawai.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma yanzu muna amfani da index kawai scan.

Wani muhimmin labari kuma shi ne muna son gabatar da shirin ta wata hanya mai ma'ana. Mun aiwatar da hangen nesa ta amfani da Hotunan Flame.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Wannan buqata ce ta daban, ta fi tsanani. Kuma muna gina Flame Graphs bisa ga sigogi biyu: wannan shine adadin bayanan da wani kumburi na musamman ya ƙidaya a cikin tsari da lokaci, watau lokacin aiwatar da kumburi.

Anan zamu iya kwatanta takamaiman nodes da juna. Kuma zai bayyana a fili wanene daga cikinsu ya ɗauki fiye ko žasa, wanda yawanci yana da wahala a yi a wasu hanyoyin fassara.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Tabbas, kowa ya san explain.depesz.com. Kyakkyawan fasalin wannan hangen nesa shine mu adana tsarin rubutu kuma mu sanya wasu sigogi na asali a cikin tebur domin mu iya warwarewa.

Kuma masu haɓakawa waɗanda har yanzu ba su shiga cikin wannan batu ba kuma suna amfani da explain.depesz.com, saboda yana da sauƙi a gare su su gano waɗanne ma'auni ne masu mahimmanci da waɗanda ba su da kyau.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Akwai wata sabuwar hanya don gani - wannan shine bayanin.dalibo.com. Suna yin hangen nesa na itace, amma yana da matukar wahala a kwatanta nodes da juna. Anan za ku iya fahimtar tsarin da kyau, duk da haka, idan akwai babban buƙatun, to kuna buƙatar gungurawa baya da baya, amma kuma zaɓi.

hadin gwiwa

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Kuma, kamar yadda na ce, Slack yana ba mu damar haɗin gwiwa. Misali, idan muka ci karo da wata tambaya mai rikitarwa wacce ba ta bayyana yadda ake ingantawa ba, za mu iya fayyace wannan batun tare da abokan aikinmu a cikin zaren a cikin Slack.

DBA bot Joe. Anatoly Stansler (Postgres.ai)

Da alama a gare mu yana da mahimmanci don gwadawa akan cikakkun bayanai. Don yin wannan, mun sanya kayan aikin Sabunta Database Lab, wanda ke samuwa a buɗaɗɗen tushe. Hakanan zaka iya amfani da bot Joe. Kuna iya ɗauka a yanzu kuma aiwatar da shi a wurin ku. Ana samun duk jagora a wurin.

Har ila yau, yana da mahimmanci a lura cewa maganin kanta ba juyin juya hali ba ne, saboda akwai Delphix, amma shine mafita na kasuwanci. An rufe gaba daya, yana da tsada sosai. Mun ƙware musamman a Postgres. Waɗannan duk samfuran buɗaɗɗe ne. Shiga mu!

Anan na kare. Na gode!

Tambayoyi

Sannu! Na gode da rahoton! Yana da ban sha'awa sosai, musamman a gare ni, saboda na warware game da wannan matsala wani lokaci da suka wuce. Don haka ina da tambayoyi da yawa. Da fatan zan samu aƙalla ɓangarensa.

Ina mamakin yadda kuke lissafin wurin wannan mahallin? Fasaha yana nufin cewa a ƙarƙashin wasu yanayi, clones ɗinku na iya girma zuwa matsakaicin girman. Kusan magana, idan kuna da bayanan terabyte goma da clones 10, to yana da sauƙi a kwaikwayi yanayin da kowane clone ya auna bayanai na musamman 10. Ta yaya za ku lissafta wannan wuri, wato, wannan delta da kuka yi magana game da shi, wanda waɗannan clones za su rayu?

Tambaya mai kyau. Yana da mahimmanci a ci gaba da lura da takamaiman clones a nan. Kuma idan clone yana da babban canji mai girma, ya fara girma, to zamu iya fara ba da gargaɗi ga mai amfani game da wannan, ko kuma nan da nan dakatar da wannan clone don kada mu sami gazawar yanayin.

Eh, ina da tambaya. Wato, ta yaya kuke tabbatar da yanayin rayuwar waɗannan kayayyaki? Muna da wannan matsala da kuma labarin daban. Ta yaya hakan ke faruwa?

Akwai wasu ttl ga kowane clone. Ainihin, muna da tsayayyen ttl.

Idan ba sirri ba fa?

1 hour, watau rago - 1 hour. Idan ba a yi amfani da shi ba, sai mu yi ta buga shi. Amma babu abin mamaki a nan, tun da za mu iya tayar da clone a cikin dakika. Kuma idan kuna buƙatar sake, to don Allah.

Har ila yau, ina sha'awar zaɓin fasaha, saboda, alal misali, muna amfani da hanyoyi da yawa a layi daya don dalili ɗaya ko wani. Me yasa ZFS? Me yasa baku amfani da LVM ba? Kun ambaci cewa an sami matsaloli tare da LVM. Menene matsalolin? A ganina, mafi kyawun zaɓi shine tare da ajiya, dangane da aiki.

Menene babbar matsalar ZFS? Gaskiyar cewa dole ne ku yi aiki akan mai masaukin baki ɗaya, watau duk lokuta zasu rayu a cikin OS iri ɗaya. Kuma a cikin yanayin ajiya, zaka iya haɗa kayan aiki daban-daban. Kuma ƙwanƙwasa shine kawai waɗannan tubalan da ke kan tsarin ajiya. Kuma tambayar zabin fasaha yana da ban sha'awa. Me yasa ba LVM ba?

Musamman, zamu iya tattauna LVM a haɗuwa. Game da ajiya - yana da tsada kawai. Za mu iya aiwatar da tsarin ZFS a ko'ina. Kuna iya tura shi akan injin ku. Za ka iya kawai zazzage ma'ajiyar ka tura shi. An shigar da ZFS kusan ko'ina idan muna magana ne game da Linux. Wato muna samun mafita mai sassauƙa. Kuma daga cikin akwatin, ZFS yana ba da yawa. Kuna iya loda bayanai gwargwadon yadda kuke so, haɗa babban adadin faifai, akwai hotunan hoto. Kuma, kamar yadda na ce, yana da sauƙin gudanarwa. Wato, yana da kyau a yi amfani da shi. An gwada shi, yana da shekaru da yawa. Yana da babbar al'umma da ke girma. ZFS mafita ce mai inganci.

Nikolai Samokhvalov: Zan iya yin ƙarin bayani? Sunana Nikolay, muna aiki tare da Anatoly. Na yarda cewa ajiya yana da kyau. Kuma wasu abokan cinikinmu suna da Pure Storage da dai sauransu.

Anatoly daidai ya lura cewa muna mai da hankali kan modularity. Kuma a nan gaba, za ku iya aiwatar da ƙa'idar guda ɗaya - ɗaukar hoto, yin clone, lalata clone. Duk mai sauki ne. Kuma ajiya yana da sanyi, idan ya kasance.

Amma ZFS yana samuwa ga kowa da kowa. DelPhix ya riga ya isa, suna da abokan ciniki 300. Daga cikin wadannan, arziki 100 yana da abokan ciniki 50, watau suna nufin NASA, da dai sauransu. Lokaci ya yi da kowa zai sami wannan fasaha. Kuma shi ya sa muke da buɗaɗɗen tushen Core. Muna da ɓangaren dubawa wanda ba buɗaɗɗen tushe ba. Wannan shi ne dandalin da za mu nuna. Amma muna son ya zama mai isa ga kowa. Muna so mu yi juyin juya hali domin duk masu gwadawa su daina zato akan kwamfyutocin. Dole ne mu rubuta SELECT kuma nan da nan mu ga cewa yana jinkirin. Tsaya jira DBA ya gaya muku game da shi. Ga babban burin. Kuma ina tsammanin cewa duk za mu zo ga wannan. Kuma muna yin wannan abu don kowa ya samu. Saboda haka ZFS, domin zai kasance a ko'ina. Godiya ga al'umma don magance matsaloli da samun lasisin buɗaɗɗen tushe, da sauransu.*

Gaisuwa! Na gode da rahoton! Sunana Maxim. Mun magance batutuwa iri ɗaya. Sun yanke shawara da kansu. Ta yaya kuke raba albarkatun tsakanin waɗannan clones? Kowane clone na iya yin abin da ya dace a kowane lokaci: ɗayan yana gwada abu ɗaya, wani kuma, wani ya gina ƙididdiga, wani yana da aiki mai nauyi. Kuma idan har yanzu kuna iya rarraba ta CPU, sannan ta IO, ta yaya kuke rarraba? Wannan ita ce tambaya ta farko.

Tambaya ta biyu kuma ita ce rashin kamanceceniya da tsayuwa. Bari mu ce ina da ZFS a nan kuma komai yana da kyau, amma abokin ciniki akan prod ba shi da ZFS, amma ext4, alal misali. Yaya a wannan yanayin?

Tambayoyin suna da kyau sosai. Na ambaci wannan matsala kadan tare da gaskiyar cewa muna raba albarkatu. Kuma mafita ita ce wannan. Ka yi tunanin cewa kuna gwaji akan tsari. Hakanan zaka iya samun irin wannan yanayin a lokaci guda wanda wani ya ba da kaya ɗaya, wani. Kuma a sakamakon haka, kuna ganin ma'auni marasa fahimta. Ko da wannan matsala na iya kasancewa tare da prod. Lokacin da kake son duba wasu buƙatun kuma ka ga cewa akwai matsala tare da shi - yana aiki a hankali, to, a gaskiya matsalar ba a cikin buƙatar ba, amma a cikin gaskiyar cewa akwai wani nau'i na layi daya.

Sabili da haka, yana da mahimmanci a nan mu mai da hankali kan menene shirin zai kasance, matakan da za mu ɗauka a cikin shirin da kuma adadin bayanan da za mu tattara don wannan. Gaskiyar cewa faifan mu, alal misali, za a loda su da wani abu, zai shafi musamman lokacin. Amma zamu iya kimanta yadda aka ɗora wannan buƙatar ta adadin bayanai. Ba shi da mahimmanci cewa a lokaci guda za a yi wani nau'i na kisa.

Ina da tambayoyi guda biyu. Wannan abu ne mai sanyi sosai. Shin an sami lokuta inda bayanan samarwa ke da mahimmanci, kamar lambobin katin kuɗi? An riga an shirya wani abu ko aiki ne na daban? Kuma tambaya ta biyu - shin akwai wani abu kamar wannan don MySQL?

Game da bayanai. Za mu yi obfuscation har sai mun yi. Amma idan kun tura daidai Joe, idan ba ku ba da dama ga masu haɓakawa ba, to babu damar yin amfani da bayanan. Me yasa? Domin Joe baya nuna bayanai. Yana nuna awo kawai, tsare-tsare kuma shi ke nan. Anyi wannan da gangan, saboda wannan yana ɗaya daga cikin bukatun abokin cinikinmu. Sun so su iya ingantawa ba tare da ba kowa damar shiga ba.

Game da MySQL. Ana iya amfani da wannan tsarin don duk wani abu da ke adana jihar akan faifai. Kuma tunda muna yin Postgres, yanzu muna yin duk abubuwan sarrafa kansa don Postgres da farko. Muna son sarrafa samun bayanai ta atomatik daga maajiyar. Muna saita Postgres daidai. Mun san yadda ake tsara tsare-tsare, da sauransu.

Amma tun da tsarin ya ƙare, ana iya amfani da shi don MySQL. Kuma akwai irin wadannan misalai. Yandex yana da irin wannan abu, amma ba sa buga shi a ko'ina. Suna amfani da shi a cikin Yandex.Metrica. Kuma akwai kawai labari game da MySQL. Amma fasahar iri ɗaya ce, ZFS.

Na gode da rahoton! Ina kuma da tambayoyi guda biyu. Kun ambaci cewa ana iya amfani da cloning don nazari, misali don gina ƙarin fihirisa a can. Za a iya yin ɗan ƙarin bayani game da yadda yake aiki?

Kuma nan da nan zan yi tambaya ta biyu game da kamanceceniyar tsayuwa, kamancen tsare-tsare. Shirin kuma ya dogara da kididdigar da Postgres ta tattara. Ta yaya kuke magance wannan matsalar?

Bisa ga nazari, babu takamaiman lokuta, saboda ba mu yi amfani da shi ba tukuna, amma akwai irin wannan damar. Idan muna magana ne game da fihirisa, to, yi tunanin cewa tambaya tana bin tebur mai ɗaruruwan miliyoyin bayanai da kuma ginshiƙi wanda yawanci ba a lissafta shi a cikin samfurin. Kuma muna so mu lissafta wasu bayanai a can. Idan an aika wannan buƙatar zuwa prod, to akwai yuwuwar zai kasance mai sauƙi akan samfur, saboda za a sarrafa buƙatar a can na minti ɗaya.

Ok, bari mu yi sirararen clone wanda ba shi da muni don tsayawa na ƴan mintuna. Kuma don samun kwanciyar hankali don karanta nazarin, za mu ƙara fihirisa ga waɗannan ginshiƙan da muke sha'awar bayanai.

Za a ƙirƙiri fihirisar kowane lokaci?

Kuna iya yin shi don mu taɓa bayanan, yin hotuna, sannan za mu murmure daga wannan hoton kuma mu fitar da sabbin buƙatu. Wato, zaku iya yin shi ta yadda zaku iya haɓaka sabbin clones tare da riga an saka fihirisa.

Dangane da tambaya game da kididdiga, idan muka dawo daga maajiyar, idan muka yi kwafi, to, kididdigar mu za ta kasance daidai. Domin muna da tsarin bayanan jiki gaba ɗaya, wato, za mu kawo bayanan kamar yadda yake tare da duk ma'aunin ƙididdiga kuma.

Ga wata matsala. Idan kuna amfani da maganin girgije, to kawai juji masu ma'ana suna samuwa a can, saboda Google, Amazon ba ya ba ku damar ɗaukar kwafin jiki. Za a sami irin wannan matsala.

Godiya ga rahoton. Akwai kyawawan tambayoyi guda biyu anan game da MySQL da raba albarkatu. Amma, a zahiri, duk ya zo ne ga gaskiyar cewa wannan ba batun takamaiman DBMS ba ne, amma na tsarin fayil gabaɗaya. Kuma, saboda haka, ya kamata a warware batutuwan raba albarkatu daga can, ba a ƙarshen cewa Postgres ba ne, amma a cikin tsarin fayil, a cikin uwar garken, alal misali.

Tambayata ta dan bambanta. Ya fi kusa da rumbun adana bayanai masu yawa, inda akwai yadudduka da yawa. Misali, mun kafa sabuntawar hoto na terabyte goma, muna maimaitawa. Kuma muna amfani da wannan bayani musamman don bayanan bayanai. Ana ci gaba da maimaitawa, ana sabunta bayanai. Akwai ma'aikata 100 da ke aiki a layi daya, waɗanda a koyaushe suke ƙaddamar da waɗannan harbe-harbe daban-daban. Me za a yi? Yadda za a tabbatar da cewa babu wani rikici, sun kaddamar da daya, sannan tsarin fayil ya canza, kuma waɗannan hotuna duk sun tafi?

Ba za su je ba saboda haka ZFS ke aiki. Za mu iya ajiye daban a cikin zare ɗaya tsarin fayil yana canzawa wanda ya zo saboda maimaitawa. Kuma kiyaye clones waɗanda masu haɓakawa ke amfani da su akan tsoffin juzu'in bayanan. Kuma yana aiki a gare mu, komai yana cikin tsari tare da wannan.

Ya bayyana cewa sabuntawar zai faru a matsayin ƙarin Layer, kuma duk sabbin hotuna za su tafi riga, dangane da wannan Layer, daidai?

Daga yadudduka na baya waɗanda suka kasance daga maimaitawa na baya.

Matakan da suka gabata za su fadi, amma za su koma ga tsohon Layer, kuma za su ɗauki sabbin hotuna daga Layer na ƙarshe da aka karɓa a cikin sabuntawa?

Gabaɗaya, eh.

Sa'an nan a sakamakon za mu sami har zuwa ɓauren yadudduka. Kuma bayan lokaci za su buƙaci matsawa?

Eh komai daidai ne. Akwai taga. Muna adana hotuna na mako-mako. Ya dogara da abin da albarkatun da kuke da shi. Idan kuna da ikon adana bayanai da yawa, zaku iya adana hotuna na dogon lokaci. Ba za su tafi da kansu ba. Ba za a sami cin hanci da rashawa ba. Idan hotunan hotunan sun tsufa, kamar yadda muke gani, watau ya dogara da manufofin da ke cikin kamfanin, to za mu iya kawai share su kuma mu ba da sarari.

Sannu, na gode da rahoton! Tambaya game da Joe. Kun ce abokin ciniki baya son baiwa kowa damar shiga bayanan. A taƙaice, idan mutum yana da sakamakon Bayanin Analyze, to yana iya leƙo asirin bayanan.

Haka yake. Misali, zamu iya rubuta: "Zabi DAGA INA imel = zuwa wancan". Wato ba za mu ga bayanan da kanta ba, amma muna iya ganin wasu alamomin kai tsaye. Dole ne a fahimci wannan. Amma a daya bangaren, duk yana nan. Muna da bincike na log, muna da iko da sauran abokan aiki waɗanda kuma suke ganin abin da masu haɓaka ke yi. Kuma idan wani ya yi ƙoƙari ya yi haka, to jami'an tsaro za su zo wurinsu su yi aiki a kan wannan batu.

Barka da rana Na gode da rahoton! Ina da gajeriyar tambaya. Idan kamfani ba ya amfani da Slack, shin akwai wani abin da zai ɗaure shi a yanzu, ko kuma yana yiwuwa masu haɓakawa su tura al'amuran don haɗa aikace-aikacen gwaji zuwa bayanan bayanai?

Yanzu akwai hanyar haɗi zuwa Slack, watau babu wani manzo, amma ina so in ba da tallafi ga sauran manzanni kuma. Me za ku iya yi? Kuna iya tura DB Lab ba tare da Joe ba, tafi tare da taimakon API REST ko tare da taimakon dandalin mu kuma ƙirƙirar clones kuma haɗa tare da PSQL. Amma ana iya yin hakan idan kun kasance a shirye don ba wa masu haɓaka ku damar yin amfani da bayanan, saboda ba za a ƙara samun allo ba.

Ba na buƙatar wannan Layer, amma ina buƙatar irin wannan dama.

Sannan eh, ana iya yi.

source: www.habr.com

Add a comment