Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Wax ku biirinta Yandex ee xog ururinta soo socota waa la tixgelin doonaa.

  • GujiHouse
  • Odyssey
  • Soo kabashada ilaa wakhtiga wakhtiga (WAL-G)
  • PostgreSQL (oo ay ku jiraan logerrors, Amcheck, heapcheck)
  • Greenplum

Video:

hello adduun! Magacaygu waa Andrey Borodin. Iyo Yandex.Cloud, waxaan ku horumarinayaa xog ururin furan oo faa'iido u leh macaamiisha Yandex.Cloud iyo Yandex.Cloud.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Hadalkan, waxaanu kaga hadli doonaa caqabadaha ka jira xog ururinta furan marka la eego miisaanka. Maxay muhiim u tahay? Sababtoo ah dhibaatooyin yar yar, kuwaas oo, sida kaneecada, ka dibna noqda maroodi. Way weynaadaan marka aad haysato rucubyo badan.

Laakiin taasi maaha ujeedku. Waxyaabo la yaab leh ayaa dhacaya. Waxyaabaha ku dhaca hal milyan kiisba. Iyo jawiga daruuriga ah, waa inaad u diyaargarowdaa tan, sababtoo ah waxyaabo cajiib ah waxay u badan tahay inay u badan tahay marka ay wax jiraan qiyaasta.

Laakiin! Waa maxay faa'iidooyinka kaydinta xogta furan? Xaqiiqda ah inaad haysato fursad aragtiyeed oo aad wax kaga qabato dhibaato kasta. Waxaad leedahay koodhka isha, waxaad leedahay aqoon barnaamij. Waanu isku darnaa oo shaqaynaa.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Waa maxay hababka jira ee ka shaqaynta software il furan?

  • Habka ugu fudud ee la fahmi karo waa isticmaalka software. Haddii aad isticmaasho borotokool, haddii aad isticmaasho jaangooyooyin, haddii aad isticmaasho qaabab, haddii aad codsiyo ku qorto software il furan, markaa horeba waad taageertay.
  • Waxaad ka dhigaysaa deegaankeeda mid weyn. Waxaad u badan tahay inaad goor hore hesho cilad. Waxaad kordhinaysaa kalsoonida nidaamkan. Waxaad kordhinaysaa helitaanka horumariyeyaasha suuqa. Waxaad hagaajinaysaa software-kan. Durba waxaad tahay wax ku biiriye haddii aad hadda uun kor u qaadday qaabka oo aad wax ku darsato.
  • Habka kale ee la fahmi karo waa in la kafaalo qaado software il furan. Tusaale ahaan, barnaamijka xagaaga ee Google ee caanka ah, marka Google ay bixiso tiro badan oo arday ah oo ka kala yimid adduunka oo dhan lacag la fahmi karo si ay u horumariyaan mashaariicda software il furan oo buuxiya shuruudaha shatiga qaarkood.
  • Tani waa hab aad u xiiso badan sababtoo ah waxay u ogolaataa software-ku inuu horumariyo iyada oo aan diiradda laga saarin bulshada. Google, oo ah tignoolajiyada weyn, ma dhahdo waxaan rabnaa sifadan, waxaan rabnaa inaan hagaajino cayayaankan waxaanan u baahanahay inaan qodno halkaas. Google wuxuu leeyahay: "Samee waxaad sameyso. Kaliya sii wad inaad u shaqeyso sidii aad u shaqeyneysay, wax walbana way fiicnaan doonaan."
  • Habka soo socda ee ka qaybqaadashada il furan waa ka qaybgalka. Marka aad dhibaato kala kulanto software il furan oo ay jiraan horumariyayaal, markaa horumariyayaashu waxay bilaabaan xallinta dhibaatooyinka. Waxay bilaabaan inay kaabayaalkaaga ka dhigaan kuwo hufan, barnaamijyadaada si dhakhso leh oo la isku halleyn karo.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Mid ka mid ah mashaariicda isha furan ee Yandex ee ugu caansan waa ClickHouse. Kani waa xog-ururin u dhalatay sidii looga jawaabi lahaa caqabadaha horyaal Yandex.Metrica.

Iyo sida database, waxaa lagu sameeyay il furan si loo abuuro deegaanka iyo horumarinta kale ee horumarinta (ma aha oo kaliya gudaha Yandex). Haddana waa mashruuc weyn oo shirkado badan oo kala duwan ay ku lug leeyihiin.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Yandex.Cloud, waxaanu ku samaynay ClickHouse korka Kaydinta Shayga Yandex, i.e. korka kaydinta daruuraha.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxay tani muhiim ugu tahay daruuraha? Sababtoo ah xog kasta ayaa ka shaqeysa saddexagalkan, Ahraamtan, kala sareynta noocyada xusuusta. Waxaad haysataa diiwaanno degdeg ah laakiin yar yar iyo SSDs waaweyn laakiin gaabis ah, HDDs iyo aaladaha kale ee xannibaadda. Oo haddii aad si hufan ugu sareysa ee Ahraamta, markaas waxaad leedahay database degdeg ah. Haddii aad si hufan ugu sugan tahay halka hoose ee Ahraamtan, markaas waxaad haysataa kayd xogeed oo la miisaamay. Iyo marka la eego arrintan, ku darida lakabka kale ee hoose waa hab macquul ah oo lagu kordhinayo miisaanka xogta.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Sidee loo samayn karaa? Tani waa qodob muhiim ah oo ku jira warbixintan.

  • Waxaan ka hirgelin karnaa ClickHouse ee MDS. MDS waa isku xirka kaydinta daruuraha ee Yandex. Way ka adag tahay habka caadiga ah ee S3, laakiin waxay ku habboon tahay qalabka xannibaadda. Way ku habboon tahay qorista xogta. Waxay u baahan tahay barnaamijyo badan. Programmers ayaa barnaamij doona, xataa waa wax fiican oo xiiso leh.
  • S3 waa hab caadi ah oo ka dhigaya is-dhexgal fudud oo kharashka ku baxaya la qabsiga yar ee noocyada shaqada qaarkood.

Dabiici ahaan, rabitaanka inaan bixinno shaqeynta dhammaan deegaanka deegaanka ee ClickHouse oo aan fulino hawsha looga baahan yahay gudaha Yandex.Cloud, waxaan go'aansanay inaan hubinno in dhammaan bulshada ClickHouse ay ka hesho saameynta. Waxaan ka hirgelinay ClickHouse oo ka sarreeya S3, ee ma ahayn ClickHouse ee MDS. Tanina waa shaqo badan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Tixraacyada:

https://github.com/ClickHouse/ClickHouse/pull/7946 "Lakabka soo saarista faylka"
https://github.com/ClickHouse/ClickHouse/pull/8011 AWS SDK S3
https://github.com/ClickHouse/ClickHouse/pull/8649 "Dhaqanka aasaasiga ah ee interface IDisk ee S3"
https://github.com/ClickHouse/ClickHouse/pull/8356 "Is-dhexgalka matoorada kaydinta log oo leh interface IDisk"
https://github.com/ClickHouse/ClickHouse/pull/8862 "Taageerada mishiinka log ee S3 iyo SeekableReadBuffer"
https://github.com/ClickHouse/ClickHouse/pull/9128 Taageerada "S3 Stripe Stripe Log SXNUMX"
https://github.com/ClickHouse/ClickHouse/pull/9415 "Storage MergeTree taageerada bilowga ah ee S3"
https://github.com/ClickHouse/ClickHouse/pull/9646 MergeTree taageero buuxda ee S3
https://github.com/ClickHouse/ClickHouse/pull/10126 "Taageer soo noqnoqdaMergeTree ka badan S3"
https://github.com/ClickHouse/ClickHouse/pull/11134 "Ku dar shahaadooyinka asalka ah iyo madax-dhaqameedyada kaydinta s3"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 oo leh qaabaynta wakiil firfircoon"
https://github.com/ClickHouse/ClickHouse/pull/10744 S3 oo leh wakiil xallin

Kani waa liis codsi jiidis ah oo loogu talagalay hirgelinta nidaamka faylka farsamada ee ClickHouse. Taasi waa codsiyo badan oo jiidis ah.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Tixraacyada:

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 hardlinks hirgelinta ugu wanaagsan"
https://github.com/ClickHouse/ClickHouse/pull/11522 "S3 HTTP macmiilka - Iska ilaali inaad nuqul ka sameyso qulqulka jawaabta xusuusta"
https://github.com/ClickHouse/ClickHouse/pull/11561 "Ka fogow inaad ku koobiyaysid dhammaan qulqulka jawaabta ee xusuusta gudaha S3 HTTP
macmiilka"
https://github.com/ClickHouse/ClickHouse/pull/13076 "Awoodda cache cache iyo index files for S3 disk"
https://github.com/ClickHouse/ClickHouse/pull/13459 "Ka guuri qaybo ka mid ah DiskLocal una guuri DiskS3 si barbar socda"

Laakiin shaqadu halkaas kuma ay dhammaan. Ka dib markii sifada la sameeyay, waxay qaadatay xoogaa shaqo ah si kor loogu qaado shaqadan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Tixraacyada:

https://github.com/ClickHouse/ClickHouse/pull/12638 "Kudar SelectedRows iyo SelectedBytes dhacdooyinka"
https://github.com/ClickHouse/ClickHouse/pull/12464 "Kudar dhacdooyinka sirta ah ee codsiga S3 ee nidaamka.dhacdooyinka"
https://github.com/ClickHouse/ClickHouse/pull/13028 "Ku dar QueryTimeMicrose seconds, DoorQueryTimeMicrose seconds iyo GeliQueryTimeMicrose seconds"

Kadibna waxa lagama maar maan noqotay in laga dhigo mid la ogaan karo, in la sameeyo dabagal iyo in la maareeyo.

Oo waxaas oo dhan ayaa loo sameeyay si bulshada oo dhan, dhammaan deegaanka deegaanka ee ClickHouse, ay helaan natiijada shaqadan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Aan u gudubno kaydka macluumaadka ee macaamilka, una gudubno keydka macluumaadka ee OLTP, kuwaas oo aniga shaqsi ahaan iigu dhow.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Tani waa isha furan ee qaybta horumarinta DBMS. Nimankan waxa ay samaynayaan sixir dariiqa si ay u horumariyaan xog ururinta furan ee macaamil ganacsi

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Mid ka mid ah mashaariicda aan u isticmaali karno tusaale ahaan si aan uga hadalno sida iyo waxa aan sameyneyno waa Isku-xirka Pooler ee Postgres.

Postgres waa xogta habraaca. Tani waxay ka dhigan tahay in xog-ururintu ay ku jirto dhawr isku xidhid shabakadood intii suurtagal ah oo la shaqaynaysa wax kala iibsiga.

Dhanka kale, jawiga daruuriga ah, xaalad caadi ah waa marka kun iskuxirayaashu ay hal mar ku yimaadaan hal koox. Hawsha isku-xidhaha isku xidhka ayaa ah in lagu xidho kun xidhidhyo tiro yar oo xidhiidhiye ah.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Waxa aynu odhan karnaa isku xidhaha isku xidhka ayaa ah talefoonka oo dib u habeeya baytka si ay si hufan u gaadhaan kaydka xogta.

Nasiib darro, ma jiro kelmad Ruush oo wanaagsan oo loogu talagalay isku xirka isku xirka. Mararka qaarkood waxaa loo tixraacaa sida isku xirka multixer. Haddii aad taqaanid waxa loogu yeero isku xirka isku xirka, markaa hubso inaad ii sheegto, aad baan ugu faraxsanahay inaan ku hadlo luqadda farsamada ee saxda ah ee Ruushka.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

Waxaan sahaminay barkadaha isku xirka ee ku haboon kooxda postgres ee la maareeyay. PgBouncer ayaana noo ahayd doorashada ugu fiican. Laakiin waxaan la kulannay dhowr dhibaatooyin PgBouncer. Sannado badan ka hor, Volodya Borodin wuxuu sameeyay warbixinno ah inaan isticmaalno PgBouncer, waan jecelnahay wax walba, laakiin waxaa jira waxyaabo aan kala sooc lahayn, waxaa jira wax laga shaqeeyo.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/media/2017/04/03/20170316H1_V.Borodin.pdf

Waanu shaqaynay. Waxaan hagaajinay dhibaatooyinkii aan la kulannay, waxaan dhajinay Bouncer, waxaan isku daynay inaan u nisbayno codsiga jiidashada xagga sare. Laakiin hal-xadhka aasaasiga ah ayaa ahaa mid adag in lagu shaqeeyo.

Waxaan ku qasbanaay inaan ka soo ururinno boodhadhka Bouncers-ka ah. Marka aan haysano wax badan oo ah Bouncers hal-threaded, ka dibna lakabka sare, isku xirka ayaa loo wareejiyaa lakabka gudaha ee Bouncers. Waa nidaam si liidata loo maareeyay, ay adagtahay in la dhiso oo ay adagtahay in la miisaamo horay iyo gadaal.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Waxaan gaadhnay gabagabada in aanu abuurnay isku xidhkayaga isku xidhka, kaas oo loo yaqaan Odyssey. Waxaan ka qornay meel eber ah.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.pgcon.org/2019/schedule/events/1312.en.html

Sannadka 2019, shirka PgCon, waxaan u soo bandhigay bulshada horumariyaha ah. Hadda waxaan ku haynaa wax yar oo ka yar 2 oo xiddigood GitHub, i.e. mashruucu waa nool yahay, mashruucu waa mid caan ah.

Oo haddii aad ku abuurto kooxda Postgres gudaha Yandex.Cloud, markaa waxay noqon doontaa koox leh Odyssey-ku-dhisan, kaas oo dib loo habeeyey marka kooxdu gadaal ama gadaal u miisaamayso.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxaan ka baranay mashruucan? Daah-furka mashruuc loo tartamayo had iyo jeer waa tallaabo gardarro ah, waa cabbir xad-dhaaf ah, marka aynu nidhaahno waxaa jira dhibaatooyin aan si degdeg ah loo xallin, oo aan la xalin xilliyo kala duwan oo nagu habboon. Laakiin tani waa cabbir wax ku ool ah.

PgBouncer wuxuu bilaabay inuu si degdeg ah u horumaro.

Oo hadda waxaa jira mashaariic kale. Tusaale ahaan, pgagroal, kaas oo ay soo saareen horumarinta Koofiyada Cas. Waxay raacaan yoolal isku mid ah waxayna hirgeliyaan fikrado isku mid ah, laakiin, dabcan, iyaga oo wata waxyaabo gaar ah, kuwaas oo u dhow horumarinta pgagroal.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Kiis kale oo ku saabsan la shaqeynta bulshada postgres ayaa dib ugu soo celinaysa wakhti wakhti ah. Tani waa soo kabasho musiibo, tani waa soo celinta kaydinta.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Waxaa jira kayd badan oo dhammaantood way kala duwan yihiin. Ku dhawaad ​​iibiyaha Postgres kastaa wuxuu leeyahay xal u gaar ah.

Haddii aad qaadato dhammaan nidaamyada kaydinta, samee matrix muuqaal ah oo si kaftan ah u xisaabi go'aamiye shaxan, waxay noqon doontaa eber. Maxay tani ka dhigan tahay? Maxaa dhacaya haddii aad qaadato fayl gurmad gaar ah, markaas laguma soo ururin karo qaybo ka mid ah kuwa kale oo dhan. Waa mid u gaar ah fulinteeda, waa mid u gaar ah ujeeddadeeda, waa mid gaar u ah fikradaha ku duugan. Dhammaantoodna waa kuwo gaar ah.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/

Intii aanu arrintaan eegaynay, CitusData waxay bilawday mashruuca WAL-G. Kani waa nidaam kayd ah oo lagu sameeyay isha deegaanka daruuraha. CitusData hadda waa qayb ka mid ah Microsoft. Isla markaana, waxaan aad u jeclaysanay fikradaha lagu dejiyay siidayntii hore ee WAL-G. Waxaana bilawnay in aanu wax ku biirino mashruucan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/wal-g/wal-g/graphs/contributors

Hadda waxa mashruucan ku jira daraasiin badan oo horumariyayaal ah, laakiin 10ka ugu sarreeya ee wax ku darsaday WAL-G waxa ka mid ah 6 Yandexoids. Waxaan keenay fikrado badan halkaas. Dabcan, waanu fulinay lafteena, waanu tijaabinay, lafteena ayaanu u soo saarnay wax soo saar, annagoo adeegsanayna, isla markaana ogaanay halka ay ku xigi lahaayeen, anagoo la falgalnay bulsho weynta WAL-G.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Iyo marka laga eego aragtidayada, hadda nidaamkan kaydinta, oo ay ku jiraan tixgelinta dadaalladayada, ayaa noqday kuwa ugu fiican jawiga daruuraha. Tani way ka fiican tahay dib u celinta Postgres ee daruuraha.

Waxa loola jeedaa? Waxaan horumarinay fikrad aad u weyn: kaydku waa inuu ahaadaa mid sugan, raqiis ah in lagu shaqeeyo oo sida ugu dhakhsaha badan ee suurtogalka ah loo soo celiyo.

Maxay tahay sababta ay u jaban tahay in lagu shaqeeyo? Marka waxba la jabin, ma aha inaad ogaato inaad haysatid kayd. Wax walba si fiican ayey u shaqeeyaan, waxaad khasaarineysaa CPU yar intii suurtagal ah, waxaad isticmaashaa inta ugu yar ee agabka diskkaaga intii suurtagal ah, waxaadna u soo dirtaa dhowr bytes intii suurtagal ah shabakada si aysan u faragelinin bixinta adeegyadaada qiimaha leh.

Oo markii wax walba ay burbureen, tusaale ahaan, maamulaha ayaa hoos u dhigay xogta, wax khalad ah ayaa dhacay, oo aad si degdeg ah u baahan tahay inaad ku soo noqoto wixii hore, waxaad ku soo kabsaneysaa dhammaan lacagta, sababtoo ah waxaad rabtaa xogtaada si dhakhso ah oo sax ah.

Oo waxaan kor u qaadnay fikraddan fudud. Oo, waxay noo muuqataa, inaan ku guuleysanay inaan hirgelinno.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Laakiin intaas kuma koobna. Waxaan rabnay hal shay oo kale. Waxaan rabnay xog-ururin badan oo kala duwan. Dhammaan macaamiisheena ma isticmaalaan Postgres. Qaar baa isticmaala MySQL, MongoDB. Bulshada dhexdeeda, horumariyayaal kale ayaa taageeray FoundationDB. Liiskanina si joogto ah ayuu u sii fidayaa.

Bulshadu waxay jeceshahay fikradda ah in la helo xog-ururin lagu maamulo jawiga daruuraha. Horumariyayaashuna waxay ilaashadaan xog-ururintooda, kuwaas oo si isku mid ah loogu koobiyn karo Postgres nidaamkayaga kaydinta.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxaan ka baranay sheekadan? Alaabtayadu, sida qaybinta horumarinta, maaha khadadka koodka, kuwani maaha hawlwadeeno, kuwani maaha faylasha. Alaabtayadu maaha codsi jiid Waa fikradaha aan u baahinno bulshada. Tani waa khibradda tignoolajiyada iyo dhaqdhaqaaqa tignoolajiyada ee ku wajahan deegaanka daruuraha.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Waxaa jira xog ururin sida Postgres. Waxaan jeclahay xudunta Postgres sida ugu fiican. Waxaan waqti badan ku qaataa horumarinta xudunta Postgres ee bulshada.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Laakiin halkan waa in la sheegaa in Yandex.Cloud ay leedahay rakibaadda gudaha ee macluumaadka la maareeyay. Oo waxay ka bilaabatay waqti dheer ka hor Yandex.Mail. Khibradda hadda keentay in Postgres la maareeyo ayaa la ururiyay markii boostada ay rabeen inay u guurto Postgres.

Boostada waxay leedahay shuruudo la mid ah daruuraha. Waxay u baahan tahay inaad awood u yeelatid inaad cabbirto kobaca jibbaarada lama filaanka ah mar kasta oo xogtaada ah. Boostadana waxay horey u lahayd boqollaal milyan oo sanduuqyo boosto ah oo tiro badan oo isticmaaleyaal ah kuwaas oo si joogto ah u sameeya codsiyo badan.

Waxayna tani caqabad adag ku ahayd kooxda horumarinaysa Postgres. Waagaas, wixii dhibaato ah ee nala soo kulmay waxaa loo sheegi jiray bulshada. Dhibaatooyinkaasna waa la saxay, oo ay saxeen bulshadu meelaha qaar xitaa heerkii taageerada lacag bixinta ee kaydka xogta qaar iyo waliba si ka sii wanaagsan. Taasi waa, waxaad u diri kartaa warqad PgSQL hackerka oo aad hesho jawaab 40 daqiiqo gudahood. Taageerada lacagta lagu bixiyo ee kaydadka xogta qaarkood ayaa laga yaabaa inay u malaynayso inay jiraan waxyaalo mudnaan badan oo ka badan bugtaada.

Hadda rakibidda gudaha ee Postgres waa qaar ka mid ah petabytes ee xogta. Kuwani waa qaar ka mid ah malaayiin codsi ilbiriqsikii. Waa kumanyaal rucubyo ah. Waa mid aad u ballaaran.

Laakiin waxaa jira nuance. Iyadu kuma noola shabkada moodada ah, laakiin waxay ku nooshahay qalab fudud oo cadaalad ah. Oo waxaa jira jawi tijaabo ah oo si gaar ah loogu talagalay waxyaabo cusub oo xiiso leh.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Iyo mar ka mid ah jawiga imtixaanka, waxaan helnay fariinta noocaas ah, taas oo muujinaysa in isbeddellada gudaha ee tusmooyinka xogta lagu xadgudbay.

Kala duwanaanshuhu waa nooc ka mid ah xiriirka aan fileyno inaan mar walba haysanno.

Xaalad aad halis u ah annaga. Waxay tilmaamaysaa in xogta qaar laga yaabo inay luntay. Luminta xogtana waa wax aad u xun.

Fikradda guud ee aan raacno macluumaadka la maareeyay ayaa ah in xitaa dadaalka, ay adkaan doonto in la lumiyo xogta. Xitaa haddii aad si ula kac ah uga saarto, waxaad weli u baahan doontaa inaad iska indhatirto maqnaanshahooda muddo dheer. Badbaadada xogta waa diin aan si taxadar leh u raacno.

Dabadeedna waxaa soo ifbaxay xaalad tilmaamaysa in ay dhici karto xaalad aan diyaar u ahayn. Waxaana bilownay inaan u diyaargarowno xaaladdan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/23/2171/

Waxa ugu horeeyay ee aanu samaynay waxa ay ahayd in aan qoryo ka soo aasno kumanaankan rucubyada ah. Waxaan helnay kuwa kutlada ku yaal saxanada leh firmware dhibaato leh oo lumiyay bogag xogta cusboonaysiinta. La calaamadeeyay dhammaan xogta koodka Postgres. Iyo fariimahaas tilmaamaya ku-xadgudubyada is-beddelka gudaha, waxaanu ku calaamadnay kood loogu talagalay in lagu ogaado musuqmaasuqa xogta.

Balaastan si dhab ah ayay bulshadu u aqbashay iyada oo aan dood badan laga yeelan, sababtoo ah xaalad kasta oo gaar ah waxa iska cad in wax xun dhacay oo loo baahan yahay in loo sheego.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Intaa ka bacdi, waxa aanu gaadhnay in aanu hayno daba-gal kaas oo baadhaya diiwaanka. Haddii ay dhacdo fariimo shaki leh, wuxuu toosiyaa kaaliyaha, kaaliyahana wuu hagaajiyaa.

Laakiin! Sawirka logu waa hawl raqiis ah oo lagu sameeyo hal koox oo masiibo qaali ah kumannaan kooxeed.

Muddo kordhin ayaanu qornay logerrors. Waxay abuurtaa aragtida kaydka kaas oo tirakoobyadii hore ee khaladku ay si jaban oo degdeg ah u noqon karaan dad. Oo haddii aad u baahan tahay inaad toosiso kaaliyaha, ka dibna waxaan ku ogaan doonaa iyada oo aan sawirin faylasha gigabyte, laakiin adigoo ka soo saaraya dhowr bytes miiska xashiishka.

Kordhintan waxa la qaatay, tusaale ahaan, kaydka kaydka ee CentOS. Haddii aad rabto in aad isticmaasho, adiga ayaa rakibi kara. Dabcan waa il furan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[emailka waa la ilaaliyay]

Laakiin intaas kuma koobna. Waxaan bilownay adeegsiga Amcheck, kordhinta ay beeshu abuurtay si aan u helno xadgudubyo aan kala sooc lahayn oo ku jira tusmooyinka.

Oo waxaan ogaanay in haddii aad ka faa'iidaysato miisaanka, markaa waxaa jira cayayaanka. Waxaan bilownay samaynta iyaga. Sixitaankeenii waa la aqbalay.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[emailka waa la ilaaliyay]

Waxaan ogaanay in kordhintan aysan awoodin inay kala saarto tusmooyinka GiST & GIT. Waxaan ka dhignay inay taageeraan. Laakiin taageeradan weli bulshadu way ka hadlaysaa, sababtoo ah tani waa hawl cusub oo tafaasiil badan ayaa jirta.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/29/2667/

Oo waxaan sidoo kale ogaanay in kiiska hubinta indexes ee xadgudubyada ku saabsan hogaamiyaha taranka, wax walba waxay si fiican u shaqeeyaan sayidkii, laakiin nuqul ka mid ah, raacayaasha, raadinta musuqmaasuqu ma aha mid waxtar leh. Dhammaan isbeddellada lama xaqiijiyo. Oo mid aan is beddelin ayaa aad noo dhibay. Waxaanan la hadalnay bulshada muddo sannad iyo badh ah si aan u suurtogelinno hubinta nuqulladan.

Waxaan qornay kood raacaya dhammaan awoodaha ... borotokoolka. Waxaan wadahadal dheer la yeeshay Peter Gagan oo ka tirsan xogta Crunchy oo ku saabsan balastarkan. Waa inuu wax yar ka beddelo geedka B-geedka ee Postgres si uu u aqbalo balastarkan. Waa la aqbalay. Oo hadda hubinta tusmooyinka nuqul ka mid ah ayaa sidoo kale noqday mid waxtar leh si loo ogaado xadgudubyada aan la kulannay. Taasi waa, kuwani waa xadgudubyada ay sababi karaan khaladaadka ku jira firmware diskka, dhiqlaha Postgres, dhiqlaha Linux kernel, dhibaatooyinka hardware. Liis balaadhan oo ah ilaha dhibaatooyinka oo aanu u diyaarinaynay.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/38AF687F-8F6B-48B4-AB9E-A60CFD6CC261%40enterprisedb.com#0e86a12c01d967bac04a9bf83cd337cb

Laakiin marka laga reebo tusmooyinka, waxaa jira qayb ka mid ah sida taallo, i.e. meesha xogta lagu kaydiyo. Mana jiraan wax badan oo is-beddel ah oo la hubin karo.

Waxaan haynaa kordhin la yiraahdo Heapcheck. Waxaan bilownay horumarinta. Oo is barbar socda, annagoo kaashanayna, shirkadda EnterpriseDB sidoo kale bilaabay in ay qoraan module ah, kaas oo ay u yaqaan Heapcheck si la mid ah. Kaliya waxaan ugu yeernay PgHeapcheck, oo waxay ugu yeereen Heapcheck. Waxay leeyihiin hawlo isku mid ah, saxeex wax yar ka duwan, laakiin leh fikrado isku mid ah. Meelo ka yara wanaagsan ayay ka hirgeliyeen. Waxayna ku dhejiyeen ilo furan ka hor.

Imikana waxa aanu ku jirnaa sidii aanu u horumarin lahayn muddo kordhintooda, waayo waxani maaha muddo-kordhintoodii, ee waa muddo-kordhin beeleed. Iyo mustaqbalka, tani waa qayb ka mid ah kernel-ka oo la siin doono qof walba si uu awood ugu yeesho inuu ogaado dhibaatooyinka mustaqbalka.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

Meelaha qaarkood, xitaa waxaan gaadhnay in aan haysanno waxyaabo been abuur ah oo ku jira kormeerayaashayada. Tusaale ahaan, nidaamka 1C. Marka la isticmaalayo xog-ururin, Postgres mararka qaarkood waxay u qortaa xogta si ay iyadu isu akhrido, laakiin pg_dump ma akhriyi karo.

Xaaladani waxay u eegtahay musuqmaasuqa nidaamkayaga ogaanshaha dhibaatada. Kaaliyaha ayaa la toosay. Kaaliyaha ayaa eegay si uu u eego waxa dhacaya. Muddo ka bacdi, qof macmiil ah ayaa yimi oo yidhi dhib baa i haysta. Kaaliyaha ayaa sharaxay waxa dhibku yahay. Laakiin dhibaatadu waxay ku jirtaa kernel-ka Postgres.

Waxaan helay dood ku saabsan sifadan. Waxana uu qoray in aanu la kulanay sifadan oo ay ahayd mid aan fiicnayn, qofku habeenkii ayuu soo toosay si uu u ogaado waxa ay tahay.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

Bulshadii ayaa ku jawaabtay: "Oh, runtii, waxay u baahan tahay in la hagaajiyo."

Waxaan haystaa tusaale fudud. Haddii aad ku socoto kabo leh hadhuudh ciid ah, ka dibna, mabda'a, waxaad sii wadi kartaa - taasi waa caadi. Haddii aad kabo ka iibiso kumanyaal qof, aynu samayno kabo aan ciid haba yaraatee lahayn. Oo haddii mid ka mid ah isticmaaleyaasha kabahaagu uu ku ordi doono marathon, markaa waxaad rabtaa inaad sameyso kabo aad u wanaagsan, ka dibna cabbir dhammaan isticmaaleyaashaada. Iyo dadka isticmaala sida lama filaanka ah had iyo jeer waxay ku jiraan deegaanka daruuraha. Had iyo jeer waxaa jira isticmaaleyaal u shaqeeya kooxda si asal ah. Waa inaad mar walba u diyaargarowdaa tan.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxaan ka baranay halkan? Waxaan baranay wax fudud: waxa ugu muhiimsan waa in aan bulshada u sharaxno in ay dhibaato jirto. Haddii ay bulshadu garwaaqsatay dhibaatada, markaas waxaa jira tartan dabiici ah oo lagu xallinayo dhibaatada. Sababtoo ah qof kastaa wuxuu rabaa inuu xalliyo dhibaato muhiim ah. Dhammaan iibiyeyaasha, dhammaan jabsadayaashu waxay fahmeen in iyaga laftoodu ay ku tallaabsan karaan rashka, sidaas darteed waxay rabaan inay tirtiraan.

Haddii aad ka shaqaynayso dhibaato, laakiin cidna ma dhibayso adiga mooyaane, laakiin aad si nidaamsan uga shaqeyso oo ugu dambeyntii loo tixgeliyo dhibaato, markaa codsigaaga jiidista ayaa hubaal ah in la aqbali doono. balastarkaaga waa la aqbali doonaa, hagaajintaada ama xitaa codsiyada hagaajinta waxaa eegi doona bulshadu. Ka dib oo dhan, waxaan ka dhigi database wanaagsan midba midka kale.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Xogta xiisa leh waa Greenplum. Waa xog-ururin aad u siman oo ku salaysan codebase-ka Postgres ee aan aqaano.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://greenplum.org/greenplum-database-tables-compression/

Greenplum waxay leedahay shaqo xiiso leh - ku dheji miisaska la hagaajiyay. Kuwani waa jaantusyo aad si degdeg ah ugu dari karto. Waxay noqon karaan columnar ama saf.

Laakin ma jirin koox kooxeed, tusaale ahaan ma jirin wax shaqayn ah oo aad ku habayn karto xogta ku taal shaxda si waafaqsan nidaamka ku jira mid ka mid ah tusmooyinka.

Nimankii tagsiga ka yimid ayaa ii yimid oo igu yidhi: “Andrey, waad garanaysaa Postgres. Oo halkan waa isku mid. Bedesha 20 daqiiqo. Qaado oo samee”. Waxaan u maleeyay haa, waan ogahay Postgres, beddelashada 20 daqiiqo - waxaan u baahanahay inaan tan sameeyo.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/commit/179feb77a034c2547021d675082aae0911be40f7

Laakiin maya, ma ahayn 20 daqiiqo, tan waxaan qorayay bilo. Shirkii PgConf.Russia, waxaan u tagay Heikki Linakangas oo ka socda Pivotal waxaanan waydiiyay: “Ma jiraan wax dhibaato ah oo arrintan la xidhiidha? Waa maxay sababta aysan u jirin isku dhafka miisaska la hagaajiyay? Waxa uu yidhi: "Waxaad qaadataa xogta. Kala soocida, tarjumaada Waa shaqo uun”. Aniga: "Oh, haa, waa inaad tagtaa oo samee." Wuxuu yidhi, "Haa, waxaan u baahanahay gacmo xor ah si aan u samayno." Waxaan u maleeyay in tani ay tahay waxa aan u baahanahay inaan sameeyo.

Dhawr bilood ka dib waxaan diray codsi jiid ah oo hirgeliyay hawshan. Codsigan jiidashada waxaa dib u eegay Pivotal oo ay weheliyaan bulshada. Dabcan, waxaa jiray cayayaanka.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/issues/10150

Laakiin waxa ugu xiisaha badan ayaa ah in markii codsigan jiidista la isku daray, cayayaanka laga helay Greenplum lafteeda. Waxaan ogaanay in miisaska tuulantu ay mararka qaarkood jebiyaan wax kala iibsiga marka la ururiyo. Taasina waa waxa u baahan in la saxo. Waxayna joogtaa meeshii aan hadda taabtay. Falcelintaydii dabiiciga ahaydna waxay ahayd - si fiican, aan sidoo kale tan sameeyo.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10290

Waan hagaajiyay cilladaan. Wuxuu diray codsi jiid si loo hagaajiyo. Waa la dilay.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb-postgres-merge/pull/53

Taas ka dib, waxay soo baxday in shaqadani ay u baahan tahay in lagu helo nooca Greenplum ee PostgreSQL 12. Taasi waa, tacaburrada 20 daqiiqo waxay sii wadaan waxyaabo cusub oo xiiso leh. Waxay ahayd mid xiiso leh in la taabto horumarka hadda jira, halkaasoo bulshadu ku aragtay astaamo cusub oo ugu muhiimsan. Way dhimatay.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10565

Laakin intaas kuma ekaan. Wax walba ka dib, waxaa soo baxday in aan u baahanahay inaan u qorno dukumentiyada waxaas oo dhan.

Waxaan bilaabay qoraal qoraal ah. Nasiib wanaag, dukumeentiyaal ka socda Pivotal ayaa soo raacay. Ingiriisku waa afkooda hooyo. Waxay iga caawiyeen waraaqihii. Dhab ahaantii, iyaga laftoodu waxay dib u qoraan wixii aan soo jeediyay Ingiriisi dhab ah.

Taasina waxay u muuqatay in ay dhammaatay tacaburkii. Oo ma garanaysaa waxa dhacay ka dib? Nimankii tagsiga ka yimid ayaa ii yimid oo igu yidhi: "Weli waxaa jira laba tacabur oo midkiiba 10 daqiiqo ah." Oo maxaan u sheegaa? Waxaan idhi hadda waxaan samayn doonaa warbixin ku saabsan miisaanka, ka dibna waxaan arki doonaa adventures aad, sababtoo ah tani waa shaqo xiiso leh.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Maxaan ka baranay kiiskan? Sababtoo ah la shaqeynta ilo furan waxay had iyo jeer la shaqeyneysaa qof gaar ah, waxay had iyo jeer la shaqeysaa bulshada. Sababtoo ah marxalad kasta waxaan la shaqeeyay horumariye, qaar tijaabiye ah, qaar ka mid ah hackers, qaar dukumeenti, iyo qaar naqshadeeye ah. Lamaan shaqayn Greenplum, waxaan la shaqeeyay dadka agagaarka Greenplum.

Laakiin! Waxaa jira qodob kale oo muhiim ah - waa shaqo kaliya. Taasi waa, aad kaalay, cab kafeega, qor code. Dhammaan noocyada kala duwanaansho fudud ayaa shaqeeya. Si caadi ah u samee - way fiicnaan doontaa! Waana shaqo aad u xiiso badan. Waxaa jira codsi shaqadan ah oo ka yimid macaamiisha Yandex.Cloud, isticmaalayaasha kooxaheena labadaba gudaha Yandex iyo dibaddaba. Waxaanan filayaa in tirada mashaariicda aanu ka qayb qaadanayno ay kor u kici doonto, qoto-dheeraanta ka qayb-qaadashadayaduna ay iyana korodho.

Waa intaas. Aan u gudubno su'aalaha.

Maxay tahay iyo sababta aan ku samayno kaydka xogta Ilaha Furan. Andrey Borodin (Yandex.Cloud)

Kulanka su'aalaha

Hello! Waxaan leenahay kulan kale oo Q&A. Iyo in studio Andrey Borodin. Kani waa qofka hadda kuu sheegay wax ku biirinta Yandex.Cloud iyo Yandex si ay u furto isha. Warbixintayagu kuma saabsana Cloud oo dhan, laakiin isla mar ahaantaana, waxaanu ku salaysannahay tignoolajiyada noocaas ah. Haddii aysan ahayn waxa aad ku samaysay gudaha Yandex, ma jirin wax adeeg ah Yandex.Cloud, markaa aniga shakhsi ahaan waad ku mahadsan tahay. Iyo su'aasha ugu horeysa ee laga helo baahinta: "Maxaa ku qoran mid kasta oo ka mid ah mashaariicda aad sheegtay?".

Nidaamka kaydinta ee WAL-G waxa uu ku qoran yahay Go. Tani waa mid ka mid ah mashaariicda ugu cusub ee aan ka shaqeynay. Run ahaantii waa 3 jir kaliya. Xogta kaydku inta badan waxay ku saabsan tahay isku halaynta. Taasna waxa ay ka dhigan tahay in xog-ururintu ay aad u da'weyn yihiin oo inta badan lagu qoro C. Mashruuca Postgres waxa uu bilaabmay 30 sano ka hor. Markaa C89 wuxuu ahaa doorashada saxda ah. Iyo Postgres ayaa ku qoran. Xog ururin badan oo casri ah sida ClickHouse ayaa horay loogu qoray C++ sida caadiga ah. Dhammaan horumarinta nidaamka waxay ku salaysan yihiin C iyo C++.

Su'aal ka timid maamulahayada maaliyadeed, oo mas'uul ka ah kharashka ku baxa Cloud: "Maxay Cloud lacag ugu kharash garaysaa taageeridda isha furan?".

Waxaa jirta jawaab fudud oo loogu talagalay maareeyaha maaliyadda. Waxaan tan u samaynaa si aan u horumarino adeegyadeena. Sideen ku wanaajin karnaa? Waxaan ka dhigi karnaa arrimuhu kuwo hufan, dhaqso badan, wax ka dhigi kara kuwo la miisaami karo. Laakiin anaga, sheekadani waxay ugu horayn ku saabsan tahay isku halaynta. Tusaale ahaan, nidaamka kaydka, waxaanu dib u eegi doonaa 100% balastarrada khuseeya. Waanu ognahay waxa uu yahay koodka. Annaguna aad baannu ugu nasannay soo saarista noocyo cusub. Taasi waa, marka hore, waxay ku saabsan tahay kalsoonida, u diyaargarowga horumarka iyo ku saabsan kalsoonida

Su'aal kale: "Miyay shuruudaha isticmaalayaasha dibadda ee ku nool Yandex.Cloud ka duwan yihiin kuwa isticmaala gudaha ee ku nool Cloud gudaha?".

Muuqaalka culeysku, dabcan, wuu ka duwan yahay. Laakiin marka laga eego aragtida waaxdayda, dhammaan kiisaska gaarka ah iyo kuwa xiisaha leh ayaa lagu abuuray culeys aan caadi ahayn. Soo-saareyaasha male-awaalka leh, horumariyayaashu waxay samaynayaan waxyaabo lama filaan ah, waxay u badan tahay in laga helo gudaha sida ay dibadda u joogaan. Marka la eego, dhammaanteen waa isku mid. Iyo, malaha, qaabka kaliya ee muhiimka ah ee gudaha hawlgalka Yandex ee xog ururinta waxay noqon doontaa in gudaha Yandex aan ku leenahay waxbarid. Marmarka qaarkood, qaar ka mid ah aagagga gelitaanka ayaa si buuxda u gala hooska, iyo dhammaan adeegyada Yandex waa inay si uun u sii shaqeeyaan, inkastoo ay taasi jirto. Halkan waxaa ah farqi yar. Laakin waxa ay abuurtaa wax badan oo R&D ah is dhexgalka u dhexeeya kaydka xogta iyo kaydka shabakada. Haddii kale, rakibidda dibadda iyo gudaha waxay abuurtaa codsiyo muuqaal ah iyo codsiyo la mid ah oo la wanaajiyey oo lagu kalsoonaan karo iyo waxqabadka.

Su'aasha xigta: "Sidee u dareemeysaa shakhsi ahaan xaqiiqda ah in wax badan oo aad qabato ay isticmaalaan Daruuraha kale?" Ma magacaabi doono kuwa gaar ah, laakiin mashaariic badan oo lagu sameeyay Yandex.Cloud ayaa loo adeegsadaa daruuraha dadka kale.

Tani waa qabow. Marka hore, waxay calaamad u tahay inaan wax saxan samaynay. Oo waxay xoqdaa ego. Waxaanan aad ugu kalsoonahay inaan qaadanay go'aan sax ah. Dhanka kale, waxaan rajeyneynaa in mustaqbalka ay noo keeni doonto fikrado cusub, codsiyo cusub oo ka yimid isticmaalayaasha dhinac saddexaad. Inta badan arrimaha ku saabsan GitHub waxaa abuuray sysadmins shaqsi ah, DBA-yada gaarka ah, naqshadeeyayaasha gaarka ah, injineerada shaqsiyeed, laakiin mararka qaarkood dadka khibrad nidaamsan ayaa soo gala oo sheegaya in 30% kiisaska qaarkood aan leenahay dhibaatadan oo kale ah oo aan ka fikirno sida loo xalliyo. waa. Tani waa waxa aan aadka u rajaynayno. Waxaan rajeyneynaa inaan khibradaha la wadaagno aaladaha kale ee daruuraha.

Wax badan ayaad ka hadashay maaratoonka. Waan ogahay inaad ku orday marathon Moscow. Natiijo ahaan? Ma ka adkaadeen ragga ka socda Postgres Pro?

Maya, Oleg Bartunov si dhakhso leh ayuu u socdaa. Waxa uu dhammeeyey saacad iga hor. Guud ahaan, waan ku faraxsanahay inta aan gaadhay. Aniga ahaan, dhammayntu waxay ii ahayd guul. Guud ahaan, waa wax lala yaabo inay jiraan orodyahanno badan oo ku jira bulshada postgres. Waxay iila muuqataa in uu jiro xiriir ka dhexeeya isboortiga hawada iyo rabitaanka barnaamijka nidaamka.

Ma waxaad leedahay ma jiraan orodyahano gudaha ClickHouse?

Waan ogahay inay halkaas joogaan. ClickHouse sidoo kale waa xog ururin Jid ahaan, hadda Oleg wuxuu ii soo qoray: "Aan u tagno orod ka dib warbixinta?". Tani waa fikrad fiican.

Su'aal kale oo ka timid baahinta Nikita: "Maxaad adigu adigu u hagaajisay cayayaanka Greenplum oo aad u siin weyday kuwa yaryar?" Run, ma cadda waxa buggu yahay iyo adeeggee, laakiin waxay u badan tahay inay la macno tahay midda aad ka hadashay.

Haa, mabda 'ahaan, waxaad siin kartaa qof. Waxay ahayd kaliya koodka aan hadda bedelay. Waxayna ahayd wax dabiici ah in halkaa lagu sii wado. Mabda 'ahaan, fikradda la wadaaga khibradda kooxda waa fikrad wanaagsan. Waxaan hubaal la wadaagi doonaa hawlaha Greenplum dhammaan xubnaha qaybtayada.

Maadaama aan ka hadlayno kuwa da'da yar, su'aashan oo kale ah. Qofku wuxuu go'aansaday inuu abuuro ballan-qaadkii ugu horreeyay ee Postgres. Muxuu u baahan yahay inuu sameeyo si uu u sameeyo go'aanka ugu horeeya?

Tani waa su'aal xiiso leh: "Xaggee laga bilaabo?". Badanaa way adagtahay in lagu bilaabo shay ku jira kernel-ka. Postgres, tusaale ahaan, waxay leedahay liis wax la qabto. Laakiin dhab ahaantii, tani waa liiska waxa ay isku dayeen inay sameeyaan, laakiin ma aysan shaqayn. Kuwani waa waxyaabo kakan. Waxaadna sida caadiga ah ka heli kartaa qaar ka mid ah utility ee nidaamka deegaanka, qaar ka mid ah kordhinta la wanaajin karo, kuwaas oo ka heli yar dareenka horumarinta kernel. Iyo, si waafaqsan, waxaa jira dhibco badan oo koritaanka. Xilliga xagaaga Google ee barnaamijka code sanad walba, bulshada postgres waxay soo bandhigtaa mowduucyo badan oo kala duwan oo laga yaabo in wax laga qabto. Sannadkan waxa aad mooddaa in aanu helnay saddex arday. Mid ayaa xitaa ku qoray WAL-G mowduucyada muhiimka u ah Yandex. Arrimuhu way ka sahlan yihiin Greenplum marka loo eego bulshada Postgres sababtoo ah jabsadayaasha Greenplum aad bay ugu fiican yihiin codsiyada jiidashada waxayna bilaabaan dib u eegis isla markiiba. U dirida balastar Postgres waa nooc sheeko bilo ah, Greenplum waxay iman doontaa maalin gudaheed oo arki doonta waxaad samaysay. Mid kale ayaa ah in Greenplum ay u baahan tahay inay xalliso dhibaatooyinka dhabta ah. Greenplum si weyn loogama faa'iidaysto, markaa helista dhibaatadaada aad bay u adagtahay. Oo marka hore waxaa lagama maarmaan ah in la xalliyo, dabcan, dhibaatooyinka.

Source: www.habr.com