Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

A ga-enyocha ntinye aka Yandex na ọdụ data ndị a.

  • Pịa olọ
  • Odyssey
  • Iweghachi ruo otu oge (WAL-G)
  • PostgreSQL (gụnyere logerror, Amcheck, heapcheck)
  • Greenplum

Video:

Ndewo Ụwa! Aha m bụ Andrey Borodin. Na ihe m na-eme na Yandex.Cloud bụ ịmepụta ọdụ data mmekọrịta mepere emepe maka ọdịmma nke Yandex.Cloud na Yandex.Cloud ahịa.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

N'okwu a, anyị ga-ekwu maka ihe ịma aka na-eche ihu ọdụ data mepere emepe n'ogo. Gịnị mere o ji dị mkpa? N'ihi na obere nsogbu, dị ka anwụnta, na-aghọ enyí. Ha na-ebuwanye ibu mgbe ị nwere ọtụtụ ụyọkọ.

Ma nke ahụ abụghị isi ihe. Ihe na-enweghị atụ na-eme. Ihe na-eme n'ime otu nde. Na gburugburu igwe ojii, ị ga-adị njikere maka nke ahụ, n'ihi na ihe ndị dị egwu na-aghọ nke nwere ike ime mgbe ihe dị na nha.

Ma! Kedu uru nchekwa data mepere emepe? Nke bụ eziokwu bụ na ị nwere ohere echiche iji dozie nsogbu ọ bụla. Ị nwere koodu isi mmalite, ị nwere ihe ọmụma mmemme. Anyị na-ejikọta ya na ọ na-arụ ọrụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Kedu ụzọ e si arụ ọrụ na ngwanrọ mepere emepe?

  • Ụzọ kachasị mfe bụ iji ngwanrọ. Ọ bụrụ na ị na-eji protocol, ọ bụrụ na ị na-eji ụkpụrụ, ọ bụrụ na ị na-eji usoro, ọ bụrụ na ị na-ede ajụjụ na ngwanrọ mepere emepe, ị kwadoro ya.
  • Ị na-eme ka gburugburu ebe obibi ya buru ibu. Ị na-eme ka ohere ịchọta ahụhụ n'oge ka ukwuu. Ị na-abawanye ntụkwasị obi nke usoro a. Ị na-abawanye nnweta nke ndị mmepe na ahịa. Ị na-emeziwanye ngwanrọ a. Ị bụrụlarị onye nkwado ma ọ bụrụ na ị mechara nweta ụdị ma jiri ihe mee ya.
  • Ụzọ ọzọ nwere nghọta bụ ịkwado ngwanrọ mepere emepe. Dịka ọmụmaatụ, mmemme Google Summer of Code a maara nke ọma, mgbe Google na-akwụ ọtụtụ ụmụ akwụkwọ si n'akụkụ ụwa niile ego kwere nghọta ka ha wee mepụta ọrụ ngwanrọ mepere emepe nke na-emezu ụfọdụ ikike ikike.
  • Nke a bụ ụzọ na-adọrọ mmasị nke ukwuu n'ihi na ọ na-enye ohere ka ngwanro ahụ gbanwee n'ebughị ụzọ lekwasị anya na obodo. Google, dị ka nnukwu teknụzụ, anaghị ekwu na anyị chọrọ njirimara a, anyị chọrọ idozi ahụhụ a na anyị kwesịrị igwu ebe ahụ. Google kwuru, sị: “Mee ihe ị na-eme. Naanị nọgide na-arụ ọrụ dịka ị na-arụ ọrụ na ihe niile ga-adị mma. "
  • Ụzọ ọzọ maka isonye na isi mmalite bụ ikere òkè. Mgbe ị nwere nsogbu na ngwanrọ mepere emepe ma enwere ndị nrụpụta, ndị nrụpụta gị na-amalite idozi nsogbu ahụ. Ha na-amalite ime ka akụrụngwa gị rụọ ọrụ nke ọma, mmemme gị ngwa ngwa na ntụkwasị obi.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Otu n'ime ọrụ Yandex kachasị ama ama na mpaghara ngwanrọ mepere emepe bụ ClickHouse. Nke a bụ nchekwa data amụrụ dị ka nzaghachi nye nsogbu ndị chere Yandex.Metrica ihu.

Na dị ka nchekwa data, e mere ya na oghere mepere emepe iji mepụta gburugburu ebe obibi wee mepụta ya na ndị mmepe ndị ọzọ (ọ bụghị naanị na Yandex). Ma ugbu a, nke a bụ nnukwu ọrụ nke ọtụtụ ụlọ ọrụ dị iche iche na-etinye aka na ya.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Na Yandex.Cloud, anyị mepụtara ClickHouse n'elu ihe nchekwa Yandex Object, ya bụ n'elu nchekwa igwe ojii.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Gịnị mere nke a ji dị mkpa n'ígwé ojii? N'ihi na nchekwa data ọ bụla na-arụ ọrụ na triangle a, na pyramid a, n'ụdị ebe nchekwa a. Ị nwere ndekọ ngwa ngwa mana obere na ọnụ ala buru ibu mana ngwa ngwa SSDs, draịva siri ike na ụfọdụ ngwaọrụ mgbochi ndị ọzọ. Ma ọ bụrụ na ị na-arụ ọrụ nke ọma n'elu pyramid ahụ, mgbe ahụ ị nwere nchekwa data ngwa ngwa. ọ bụrụ na ị na-arụ ọrụ nke ọma na ala pyramid a, mgbe ahụ ị nwere nchekwa data nwere nha. Na nke a, ịgbakwunye oyi akwa ọzọ si n'okpuru ebe a bụ ụzọ ezi uche dị na ya iji mee ka scalability nke nchekwa data dịkwuo elu.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Kedu ka esi eme ya? Nke a bụ isi ihe dị mkpa na akụkọ a.

  • Anyị nwere ike mejuputa ClickHouse n'elu MDS. MDS bụ interface nchekwa igwe ojii Yandex dị n'ime. Ọ dị mgbagwoju anya karịa usoro S3 nkịtị, mana ọ dabara adaba maka ngwaọrụ ngọngọ. Ọ ka mma maka ndekọ data. Ọ na-achọ mmemme ọzọ. Ndị mmemme ga-eme mmemme, ọ dị mma, ọ na-adọrọ mmasị.
  • S3 bụ ụzọ a na-ahụkarị nke na-eme ka interface ahụ dị mfe na ọnụ ahịa obere mgbanwe maka ụfọdụ ụdị ọrụ.

Dị ka o kwesịrị ịdị, na-achọ ịnye ọrụ gburugburu ebe obibi ClickHouse ma rụọ ọrụ achọrọ n'ime Yandex.Cloud, anyị kpebiri ijide n'aka na obodo ClickHouse niile ga-erite uru na ya. Anyị mejuputa ClickHouse n'elu S3, ọ bụghị ClickHouse n'elu MDS. Na nke a bụ ọtụtụ ọrụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ntughari:

https://github.com/ClickHouse/ClickHouse/pull/7946 "Filesystem abstraction oyi akwa"
https://github.com/ClickHouse/ClickHouse/pull/8011 "Mmekọrịta AWS SDK S3"
https://github.com/ClickHouse/ClickHouse/pull/8649 "Mmejuputa ntọala nke IDisk interafce maka S3"
https://github.com/ClickHouse/ClickHouse/pull/8356 "njikota nke log nchekwa engines na IDisk interface"
https://github.com/ClickHouse/ClickHouse/pull/8862 "Nkwado engine maka S3 na SeekableReadBuffer"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Nkwado Stripe Log S3"
https://github.com/ClickHouse/ClickHouse/pull/9415 Nkwado mbụ nke Nchekwa MergeTree maka S3
https://github.com/ClickHouse/ClickHouse/pull/9646 "MergeTree nkwado zuru oke maka S3"
https://github.com/ClickHouse/ClickHouse/pull/10126 "Nkwado MergeTree Replicated over S3"
https://github.com/ClickHouse/ClickHouse/pull/11134 "Tinye nzere ndabara na nkụnye eji isi mee maka nchekwa s3"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 nwere nhazi proxy siri ike"
https://github.com/ClickHouse/ClickHouse/pull/10744 "S3 nwere proxy resolver"

Nke a bụ ndepụta ịdọrọ arịrịọ maka mmejuputa sistemụ faịlụ mebere na ClickHouse. Nke a bụ ọnụ ọgụgụ buru ibu nke arịrịọ ịdọrọ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ntughari:

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 hardlinks kacha mma mmejuputa"
https://github.com/ClickHouse/ClickHouse/pull/11522 "Onye ahịa S3 HTTP - Zere iṅomi iyi nzaghachi na ebe nchekwa"
https://github.com/ClickHouse/ClickHouse/pull/11561 Zere iṅomi iyi nzaghachi niile na ebe nchekwa na S3 HTTP
onye ahịa"
https://github.com/ClickHouse/ClickHouse/pull/13076 "Ikike nke cache akara na index faịlụ maka S3 disk"
https://github.com/ClickHouse/ClickHouse/pull/13459 "Bugharịa akụkụ site na DiskLocal gaa na DiskS3 n'otu oge"

Mana ọrụ ahụ akwụsịghị ebe ahụ. Mgbe emechara njirimara ahụ, achọrọ ụfọdụ ọrụ iji kwalite ọrụ a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ntughari:

https://github.com/ClickHouse/ClickHouse/pull/12638 "Tinye Họrọ Ahịrị na mmemme SelectedBytes"
https://github.com/ClickHouse/ClickHouse/pull/12464 "Tinye mmemme profaịlụ site na arịrịọ S3 na system.events"
https://github.com/ClickHouse/ClickHouse/pull/13028 "Tinye QueryTimeMicroseconds, HọrọQueryTimeMicroseconds na FanyeQueryTimeMicroseconds"

Na mgbe ahụ, ọ dị mkpa iji mee ka ọ bụrụ ihe a na-achọpụta, guzobe nlekota ma mee ka ọ dị mfe.

Emere ihe a niile ka obodo niile, gburugburu ebe obibi ClickHouse nwetara nsonaazụ nke ọrụ a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ka anyị gaa na ọdụ data azụmahịa, na ọdụ data OLTP, nke dị m nso nso.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Nke a bụ ngalaba mmepe DBMS mepere emepe. Ụmụ okorobịa ndị a na-eme anwansi n'okporo ámá iji melite ọdụ data mepere emepe azụmahịa.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Otu n'ime ọrụ ndị ahụ, na-eji ihe atụ nke anyị nwere ike ikwu maka otu na ihe anyị na-eme, bụ Njikọ Pooler na Postgres.

Postgres bụ nchekwa data usoro. Nke a pụtara na nchekwa data kwesịrị inwe njikọ netwọkụ ole na ole ka enwere ike ijikwa azụmahịa.

N'aka nke ọzọ, na gburugburu igwe ojii, ọnọdụ a na-ahụkarị bụ mgbe otu puku njikọ na-abịa n'otu ụyọkọ n'otu oge. Na ọrụ pooler njikọ bụ ịkwakọ otu puku njikọ n'ime obere njikọ nkesa.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Anyị nwere ike ịsị na onye na-ahụ maka njikọ bụ onye na-ahụ maka ekwentị na-ahazigharị bytes ka ha wee ruo na nchekwa data nke ọma.

N'ụzọ dị mwute, ọ dịghị ezigbo okwu Russian maka njikọ pooler. Mgbe ụfọdụ, a na-akpọ ya njikọ multiplexer. Ọ bụrụ na ị maara ihe ị ga-akpọ njikọ pooler, mgbe ahụ jide n'aka na ị gwa m, m ga-enwe nnọọ obi ụtọ na-asụ ziri ezi Russian oru asụsụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

Anyị nyochara ọdọ mmiri njikọ dabara adaba maka ụyọkọ postgres jisiri. Na PgBouncer bụ nhọrọ kacha mma maka anyị. Mana anyị zutere ọtụtụ nsogbu na PgBouncer. Ọtụtụ afọ gara aga, Volodya Borodin nyere akụkọ na anyị na-eji PgBouncer, anyị na-amasị ihe niile, ma e nwere nuances, e nwere ihe na-arụ ọrụ na.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Anyị rụkwara ọrụ. Anyị doziri nsogbu ndị anyị zutere, anyị kpachie Bouncer, ma gbalịa ịkwanye arịrịọ n'elu. Ma isi otu eriri siri ike iji rụọ ọrụ.

Anyị ga-anakọta cascades n'aka Bouncers patched. Mgbe anyị nwere ọtụtụ Bouncers nwere otu-threaded, njikọ dị n'elu oyi akwa na-ebufe n'ime oyi akwa nke Bouncers. Nke a bụ usoro ejizighị nke ọma nke siri ike iwulite na mbelata azụ na azụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Anyị bịara na nkwubi okwu na anyị kere anyị njikọ pooler, nke a na-akpọ Odyssey. Anyị si na mbụ dee ya.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

N'afọ 2019, na ọgbakọ PgCon, ewepụtara m ndị obodo ndị nrụpụta ọdọ mmiri a. Ugbu a, anyị nwere ntakịrị ihe na-erughị 2 kpakpando na GitHub, ya bụ, ọrụ ahụ dị ndụ, ọrụ ahụ na-ewu ewu.

Ma ọ bụrụ na ịmepụta ụyọkọ Postgres na Yandex.Cloud, mgbe ahụ ọ ga-abụ ụyọkọ nwere Odyssey arụnyere, nke a na-ahazi mgbe ị na-atụgharị ụyọkọ ahụ azụ ma ọ bụ pụta.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Gịnị ka anyị mụtara n'ọrụ a? Ịmepụta ọrụ asọmpi na-abụkarị nzọụkwụ siri ike, ọ bụ oke oke mgbe anyị na-ekwu na enwere nsogbu ndị na-adịghị edozi ngwa ngwa, a naghị edozi ya n'oge oge ga-adabara anyị. Ma nke a bụ ihe dị irè.

PgBouncer malitere ịmalite ngwa ngwa.

Ma ugbu a, ọrụ ndị ọzọ apụtala. Dịka ọmụmaatụ, pgagroal, nke ndị mmepe Red Hat mepụtara. Ha na-agbaso ihe mgbaru ọsọ yiri nke ahụ ma mejuputa echiche ndị yiri ya, ma, n'ezie, na nkọwa nke ha, nke dị nso na ndị mmepe pgagroal.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Okwu ọzọ nke ịrụ ọrụ na obodo postgres na-eweghachi n'otu oge. Nke a bụ mgbake mgbe ọdịda gasịrị, nke a bụ mgbake site na nkwado ndabere.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Enwere ọtụtụ nkwado ndabere na mpaghara ha niile dị iche iche. Ihe fọrọ nke nta ka ọ bụrụ onye ọ bụla na-ere Postgres nwere ngwọta ndabere nke ya.

Ọ bụrụ na ị na-ewere usoro ndabere niile, mepụta matriks atụmatụ ma jiri ọchị gbakọọ ihe na-ekpebi na matriks a, ọ ga-abụ efu. Kedu ihe nke a pụtara? Gịnị ma ọ bụrụ na ị na-a kpọmkwem ndabere faịlụ, mgbe ahụ ọ na-apụghị kpọkọta si iberibe niile ndị ọzọ. Ọ bụ ihe pụrụ iche na mmejuputa ya, ọ bụ ihe pụrụ iche na nzube ya, ọ bụ ihe pụrụ iche na echiche ndị dị na ya. Na ha niile bụ kpọmkwem.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ka anyị na-arụ ọrụ na nke a, CitusData malitere ọrụ WAL-G. Nke a bụ usoro ndabere nke ejiri anya na gburugburu igwe ojii mee ya. Ugbu a CitusData abụrụla akụkụ nke Microsoft. Ma n'oge ahụ, anyị nwere mmasị na echiche ndị e debere na mwepụta mbụ nke WAL-G. Anyị malitekwara inye aka n'ọrụ a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ugbu a enwere ọtụtụ ndị mmepe na ọrụ a, mana 10 kacha nyere aka na WAL-G gụnyere 6 Yandexoids. Anyị wetara ọtụtụ echiche anyị ebe ahụ. Ma, n'ezie, anyị mejuputa ha n'onwe anyị, nwalere ha n'onwe anyị, kpọpụta ha n'onwe anyị, anyị na-eji ha onwe anyị, anyị onwe anyị na-achọpụta ebe anyị ga-aga ọzọ, mgbe anyị na nnukwu obodo WAL-G na-akpakọrịta.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Na site n'echiche anyị, ugbu a usoro ndabere a, gụnyere n'uche mgbalị anyị, aghọwo ihe kachasị mma maka gburugburu igwe ojii. Nke a bụ ọnụ ahịa kacha mma maka ịkwado Postgres na igwe ojii.

Kedu ihe ọ pụtara? Anyị na-akwalite echiche buru ibu: nkwado ndabere na mpaghara kwesịrị ịdị nchebe, dị ọnụ ala iji rụọ ọrụ yana ngwa ngwa o kwere mee iji weghachi.

Kedu ihe kpatara ọ ga-eji dị ọnụ ala iji rụọ ọrụ? Mgbe ọ nweghị ihe agbajiri, ị gaghị ama na ị nwere nkwado ndabere. Ihe niile na-arụ ọrụ nke ọma, ị na-efunahụ obere CPU dị ka o kwere mee, ị na-eji obere ihe onwunwe diski gị dị ka o kwere mee, ma na-ezigara ole na ole bytes na netwọk dị ka o kwere mee ka ị ghara igbochi ụgwọ ọrụ gị bara uru.

Ma mgbe ihe niile na-agbaji, dịka ọmụmaatụ, onye nchịkwa ahụ tụbara data ahụ, ihe na-ezighị ezi, na ị chọrọ ngwa ngwa ịlaghachi n'oge gara aga, ị na-agbake na ego niile, n'ihi na ịchọrọ ka data gị laghachi ngwa ngwa na adịghị mma.

Ma anyị kwalitere echiche a dị mfe. Ma, ọ dị anyị ka anyị jisiri ike mejuputa ya.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ma ọ bụghị naanị nke ahụ. Anyị chọrọ otu obere ihe ọzọ. Anyị chọrọ ọtụtụ ọdụ data dị iche iche. Ọ bụghị ndị ahịa anyị niile na-eji Postgres. Ụfọdụ ndị na-eji MySQL, MongoDB. N'ime obodo, ndị mmepe ndị ọzọ akwadola FoundationDB. Na ndepụta a na-agbasawanye mgbe niile.

Obodo nwere mmasị n'echiche nke nchekwa data na-agba ọsọ na gburugburu ebe a na-achịkwa na igwe ojii. Na ndị mmepe na-edobe ọdụ data ha, nke enwere ike ịkwado ya na Postgres na sistemụ nchekwa anyị.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Gịnị ka anyị mụtara n’akụkọ a? Ngwaahịa anyị, dị ka ngalaba mmepe, abụghị ahịrị koodu, ọ bụghị nkwupụta, ọ bụghị faịlụ. Ngwaahịa anyị abụghị ịdọrọ arịrịọ. Ndị a bụ echiche anyị na-ebugara ndị obodo. Nke a bụ nka nka na nka na ngagharị nke teknụzụ gaa na gburugburu igwe ojii.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Enwere nchekwa data dị ka Postgres. Isi Postgres kacha amasị m. M na-etinye oge dị ukwuu n'ịzụlite isi Postgres na obodo.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ma ebe a, a ghaghị ikwu na Yandex.Cloud nwere ntinye n'ime nke ọdụ data jisiri ike. Ma ọ malitere ogologo oge gara aga na Yandex.Mail. Achịkọbara nka nke butere Postgres jisiri ike mgbe ozi chọrọ ịkwaga na Postgres.

Ozi nwere otu ihe a chọrọ na igwe ojii. Ọ chọrọ ka ị nwee ike ịbawanye uto na-atụghị anya ya n'oge ọ bụla na data gị. Na mail enweelarị ibu nke nwere ụfọdụ narị nde igbe ozi nke ọnụ ọgụgụ buru ibu nke ndị ọrụ na-arịọkarị arịrịọ.

Nke a bụkwa nnukwu ihe ịma aka maka otu ndị na-emepe emepe Postgres. N'oge ahụ, a na-akọrọ ndị obodo nsogbu ọ bụla anyị nwetara. A na-edozi nsogbu ndị a, ma dozie ya site n'aka ndị obodo n'ebe ụfọdụ ọbụna n'ogo nke nkwado ego maka ụfọdụ ọdụ data ndị ọzọ na ọbụna ka mma. Ya bụ, ị nwere ike izipu akwụkwọ ozi na PgSQL hacker wee nweta nzaghachi n'ime nkeji iri anọ. Nkwado akwụ ụgwọ na ụfọdụ ọdụ data nwere ike iche na enwere ihe ndị ka mkpa karịa ahụhụ gị.

Ugbu a ntinye nke Postgres bụ ụfọdụ petabytes nke data. Ndị a bụ ụfọdụ nde arịrịọ kwa nkeji. Ndị a bụ ọtụtụ puku ụyọkọ. Ọ bụ nnukwu-ọnụ ọgụgụ.

Ma enwere nuance. Ọ na-adị ndụ ọ bụghị na draịva netwọk mara mma, kama na ngwaike dị mfe. Ma enwere ebe ule kpọmkwem maka ihe ọhụrụ na-adọrọ mmasị.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Na n'otu oge na gburugburu ule, anyị natara ozi na-egosi na e mebiri ihe dị n'ime invariants nke nchekwa data.

Ihe na-adịghị agbanwe agbanwe bụ ụdị mmekọrịta anyị na-atụ anya na anyị ga-ejide mgbe niile.

Ọnọdụ dị oke egwu maka anyị. Ọ na-egosi na ụfọdụ data nwere ike furu efu. Na ọnwụ data bụ ihe jọgburu onwe ya.

Echiche n'ozuzu nke anyị na-agbaso na ọdụ data a na-achịkwa bụ na ọbụna na mgbalị, ọ ga-esi ike ịhapụ data. Ọbụlagodi na ị kpachaara anya wepụ ha, ị ka ga-achọ ileghara anọghị ya anya ruo ogologo oge. Nchekwa data bụ okpukpe anyị na-agbasosi ike.

Na ebe a, ọnọdụ bilitere nke na-egosi na enwere ike inwe ọnọdụ nke anyị nwere ike ghara ịdị njikere maka ya. Anyị malitekwara ịkwado maka ọnọdụ a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ihe mbụ anyị mere bụ na-eli osisi ndị a ọtụtụ puku ụyọkọ. Anyị hụrụ nke n'ime ụyọkọ ndị ahụ dị na diski nwere firmware nwere nsogbu na-efunahụ mmelite ibe data. Edere koodu data Postgres niile. Anyị jikwa koodu emebere iji chọpụta nrụrụ data n'ozi ndị ahụ na-egosi mmebi nke ime ime.

Ndị obodo nabatara patch a n'enweghị ọtụtụ mkparịta ụka, n'ihi na n'ọnọdụ ọ bụla, ọ pụtara na ihe ọjọọ mere na ọ dị mkpa ka a kọọrọ ya na ndekọ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Mgbe nke a gasịrị, anyị rutere n'ókè na anyị nwere nlekota nke na-enyocha ndekọ. Na n'ihe banyere ozi enyo enyo, ọ kpọtere onye ọrụ ọrụ, onye ọrụ ọrụ na-arụkwa ya.

Ma! Ịnyocha ndekọ bụ ọrụ dị ọnụ ala na otu ụyọkọ ma dịkwa oke ọnụ ahịa maka otu puku ụyọkọ.

Anyị dere ndọtị a na-akpọ Logerrors. Ọ na-emepụta echiche nke nchekwa data nke ị nwere ike iji ọnụ ala na ngwa ngwa họrọ ọnụ ọgụgụ na njehie gara aga. Ma ọ bụrụ na anyị chọrọ ịkpọte onye ọrụ ọrụ, mgbe ahụ, anyị ga-achọpụta nke a na-enweghị nyocha faịlụ gigabyte, kama site n'iwepụ obere bytes na tebụl hash.

A nakweere ndọtị a, dịka ọmụmaatụ, na ebe nchekwa maka CentOS. Ọ bụrụ na ịchọrọ iji ya, ịnwere ike ịwụnye ya n'onwe gị. N'ezie ọ bụ isi mmalite.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[email protected]

Ma ọ bụghị naanị nke ahụ. Anyị malitere iji Amcheck, ndọtị obodo wuru, iji chọta mmebi iwu na-adịghị agbanwe agbanwe na ndeksi.

Ma anyị chọpụtara na ọ bụrụ na ị na-arụ ya na ọnụ ọgụgụ, e nwere chinchi. Anyị malitere idozi ha. A nabatara mgbazi anyị.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[email protected]

Anyị chọpụtara na ndọtị a enweghị ike inyocha ndepụta ndepụta GiST & GIT. Anyị mere ha nkwado. Mana nkwado a ka ndị obodo na-ekwu maka ya, n'ihi na nke a bụ ọrụ ọhụrụ dị ọhụrụ yana enwere ọtụtụ nkọwa ebe ahụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Na anyị chọpụtakwara na mgbe ị na-enyocha indexes maka mmebi na onye ndu mmeghari, na nna ukwu, ihe niile na-arụ ọrụ nke ọma, ma na oyiri, na-eso ụzọ, ịchọ nrụrụ aka adịghị irè. Ọ bụghị ihe niile na-agbanwe agbanwe ka a na-enyocha. Na otu onye na-adịghị agbanwe agbanwe na-ewute anyị nke ukwuu. Anyị jikwa otu afọ na ọkara na-esoro ndị obodo na-ekwurịta okwu iji mee ka nlele a na-eṅomi.

Anyị dere koodu kwesịrị ịgbaso ihe niile nwere ike ... protocol. Anyị na Peter Gaghan si na Crunchy Data kparịtara patch a ruo nwa oge. Ọ ga-emegharị ntakịrị B-osisi dị na Postgres iji nabata patch a. A nabatara ya. Ma ugbu a, ịlele index na oyiri adịkwa irè nke ọma iji chọpụta mmebi ndị anyị zutere. Ya bụ, ndị a bụ mmebi iwu nwere ike ịkpata site na njehie dị na firmware diski, ahụhụ dị na Postgres, chinchi na Linux kernel, na nsogbu ngwaike. Ọtụtụ ndepụta isi mmalite nke nsogbu ndị anyị na-akwado maka ya.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ma e wezụga indexes, e nwere akụkụ dị otú ahụ dị ka ikpo, ya bụ ebe a na-echekwa data. Enweghịkwa ọtụtụ mgbanwe ndị enwere ike ịlele.

Anyị nwere ndọtị a na-akpọ Heapcheck. Anyị malitere ịzụlite ya. N'otu aka ahụ, ya na anyị, ụlọ ọrụ EnterpriseDB malitekwara idepụta modul, nke ha kpọrọ Heapcheck n'otu ụzọ ahụ. Naanị anyị kpọrọ ya PgHeapcheck, ma ha kpọrọ ya Heapcheck. Ha nwere ya nwere ọrụ ndị yiri ya, mbinye aka dịtụ iche, mana ya na otu echiche. Ha mebere ha nke ọma n'ebe ụfọdụ. Ma ha biputere ya na-emeghe isi mmalite.

Ma ugbu a, anyị na-etolite mgbasawanye ha, n'ihi na ọ bụghịzi mgbasawanye ha, kama mgbasawanye nke obodo. Na n'ọdịnihu, nke a bụ akụkụ nke kernel nke a ga-enye onye ọ bụla ka ha wee mara banyere nsogbu ndị ga-eme n'ọdịnihu tupu oge eruo.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

N'ebe ụfọdụ, ọbụna anyị bịarutere na nkwubi okwu na anyị nwere ihe na-ezighị ezi na usoro nlekota anyị. Dịka ọmụmaatụ, usoro 1C. Mgbe ị na-eji nchekwa data, Postgres na-ede data n'ime ya mgbe ụfọdụ ka ọ gụọ, mana pg_dump enweghị ike ịgụ ya.

Ọnọdụ a dị ka nrụrụ aka n'usoro nchọpụta nsogbu anyị. A kpọtere onye ọrụ ọrụ. Onye ọrụ ọrụ lere anya ihe na-eme. Mgbe oge ụfọdụ gasịrị, otu onye ahịa bịara kwuo na enwere m nsogbu. Onye nlekọta ahụ kọwara ihe bụ nsogbu ahụ. Mana nsogbu dị na isi Postgres.

Achọtara m mkparịta ụka gbasara njirimara a. O wee dee na anyị zutere atụmatụ a na ọ dịghị mma, mmadụ na-eteta n'abalị iji chọpụta ihe ọ bụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ndị obodo zara, "Oh, anyị kwesịrị idozi ya n'ezie."

Enwere m ntụnyere dị mfe. Ọ bụrụ na ị na-eje ije na akpụkpọ ụkwụ nke nwere ájá ájá n'ime ya, mgbe ahụ, n'ụkpụrụ, ị nwere ike ịga n'ihu - enweghị nsogbu. Ọ bụrụ na ị na-ere akpụkpọ ụkwụ na ọtụtụ puku mmadụ, mgbe ahụ, ka anyị mee akpụkpọ ụkwụ na-enweghị ájá ọ bụla. Ma ọ bụrụ na otu n'ime ndị na-eji akpụkpọ ụkwụ gị ga-agba ọsọ marathon, mgbe ahụ, ịchọrọ ịme akpụkpọ ụkwụ dị mma, wee tụọ ha na ndị ọrụ gị niile. Na ndị ọrụ a na-atụghị anya ya na-anọkarị na gburugburu igwe ojii. A na-enwekarị ndị ọrụ na-erigbu ụyọkọ ahụ n'ụzọ ụfọdụ mbụ. Ị ga-adị njikere mgbe niile maka nke a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Gịnị ka anyị mụtara n'ebe a? Anyị mụtara otu ihe dị mfe: ihe kacha mkpa bụ ịkọwara obodo na enwere nsogbu. Ọ bụrụ na obodo amatala nsogbu ahụ, mgbe ahụ asọmpi okike na-ebilite iji dozie nsogbu ahụ. N'ihi na onye ọ bụla chọrọ idozi nsogbu dị mkpa. Ndị na-ere ahịa niile, ndị ọchụnta ego niile ghọtara na ha n'onwe ha nwere ike ịzọpụ na rake a, yabụ na ha chọrọ ikpochapụ ha.

Ọ bụrụ na ị na-arụ ọrụ na nsogbu, ma ọ dịghị onye na-enye nsogbu ma ọ bụghị gị, ma ị na-arụ ọrụ na ya n'usoro na-emecha na-ewere dị ka nsogbu, mgbe ahụ gị ịdọrọ arịrịọ ga-mma ga-anabata. A ga-anabata patch gị, ndị obodo ga-enyocha mmelite gị ma ọ bụ ọbụna arịrịọ maka mmelite. Na njedebe nke ụbọchị, anyị na-eme ka nchekwa data dịkwuo mma maka ibe anyị.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Ebe nchekwa data na-adọrọ mmasị bụ Greenplum. Ọ bụ nchekwa data nwere njikọ dị ukwuu dabere na koodu Postgres, nke m maara nke ọma.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Na Greenplum nwere ọrụ na-atọ ụtọ - tinye tebụl kachasị mma. Ndị a bụ tebụl ị nwere ike itinye ngwa ngwa na ya. Ha nwere ike ịbụ columnar ma ọ bụ ahịrị.

Ma ọ dịghị ụyọkọ, ya bụ, ọ dịghị ọrụ ebe ị nwere ike ịhazi data dị na tebụl dị ka usoro nke dị na otu n'ime indexes.

Ụmụ okorobịa si tagzi ahụ bịakwutere m wee sị: “Andrey, ị maara Postgres. Na ebe a ọ fọrọ nke nta ka ọ bụrụ otu. Gbanwee nkeji iri abụọ. Ị were ya mee ya.” Echere m na ee, amaara m Postgres, na-atụgharị maka nkeji 20 - Achọrọ m ime nke a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Mana mba, ọ bụghị nkeji iri abụọ, edere m ya kemgbe ọnwa ole na ole. Na ogbako PgConf.Russia, agara m Heikki Linakangas site na Pivotal wee jụọ: “Enwere m nsogbu ọ bụla na nke a? Kedu ihe kpatara na enweghị nchịkọta tebụl append kachasị mma?" Ọ na-ekwu, sị: "Ị na-ewere data. Ị hazie, ị megharịa. Ọ bụ naanị ọrụ." M: "Eh, ee, naanị ị ga-ewere ya mee ya." Ọ na-ekwu, sị: "Ee, anyị chọrọ aka efu iji mee nke a." Echere m na m kwesịrị ime nke a n'ezie.

Na ọnwa ole na ole ka e mesịrị m nyefere a ịdọrọ arịrịọ na mejuputa atumatu a. Pivotal na ndị obodo tụlere arịrịọ a dọkpụrụ. N'ezie, enwere ahụhụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Mana ihe kacha adọrọ mmasị bụ na mgbe ejikọtara arịrịọ ndọpụta a, achọtara ahụhụ na Greenplum n'onwe ya. Anyị achọpụtala na tebụl ikpo ọkụ na-emebi azụmahịa mgbe ụfọdụ mgbe agbakọtara. Na nke a bụ ihe kwesịrị idozi. Ọ nọkwa n’ebe m metụrụ aka. Na mmeghachi omume okike m bụ - ọ dị mma, ka m mee nke a.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

M doziri ahụhụ a. zigara ndị na-edozi arịrịọ ịdọrọ. E gburu ya.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Mgbe nke a gasịrị, ọ tụgharịrị na a ga-enweta ọrụ a na nsụgharị Greenplum maka PostgreSQL 12. Ya bụ, njem nkeji 20 na-aga n'ihu na ihe ọhụrụ na-adọrọ mmasị. Ọ bụ ihe na-adọrọ mmasị imetụ mmepe ugbu a, ebe obodo na-egbutu atụmatụ ọhụrụ na nke kachasị mkpa. Okpuru oyi.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

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

Ma ọ kwụsịghị ebe ahụ. Mgbe ihe niile gasịrị, ọ tụgharịrị na anyị kwesịrị ide akwụkwọ maka ihe a niile.

Amalitere m ide akwụkwọ. Ọ dabara nke ọma, ndị na-ede akwụkwọ sitere na Pivotal bịara. Bekee bụ asụsụ obodo ha. Ha nyere m akwụkwọ ahụ. N'ezie, ha onwe ha degharịrị ihe m tụrụ aro ka ọ bụrụ ezigbo Bekee.

Na ebe a, ọ ga-adị ka njem ahụ kwụsịrị. Ị̀ makwa ihe mere mgbe ahụ? Ụmụ okorobịa si tagzi ahụ bịakwutere m wee sị: “A ka nwere ihe omume abụọ, nke ọ bụla na-ewe nkeji iri.” Gịnịkwa ka m ga-agwa ha? Ekwuru m na ugbu a, m ga-enye akụkọ na ọnụ ọgụgụ, mgbe ahụ, anyị ga-ahụ ihe omume gị, n'ihi na nke a bụ ọrụ na-adọrọ mmasị.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Gịnị ka anyị mụtara n’okwu a? N'ihi na ịrụ ọrụ na isi mmalite na-arụ ọrụ mgbe niile na otu onye, ​​ọ na-arụ ọrụ mgbe niile na obodo. N'ihi na n'oge ọ bụla m na-arụ ọrụ na ụfọdụ onye mmepụta ihe, ụfọdụ tester, ụfọdụ hacker, ụfọdụ documentarian, ụfọdụ architect. Mụ na Greenplum anaghị arụ ọrụ, mụ na ndị nọ na Greenplum na-arụkọ ọrụ.

Ma! Enwere isi ihe ọzọ dị mkpa - ọ bụ naanị ọrụ. Ya bụ, ị bịa, ṅụọ kọfị, dee koodu. Ụdị niile dị mfe invariants na-arụ ọrụ. Mee ya nke ọma - ọ ga-adị mma! Ma ọ bụ nnọọ ọrụ na-akpali mmasị. Enwere arịrịọ maka ọrụ a site n'aka ndị ahịa Yandex.Cloud, ndị ọrụ nke ụyọkọ anyị ma n'ime Yandex na n'èzí. M na-eche na ọnụ ọgụgụ nke oru ngo nke anyị na-ekere òkè ga-abawanye na omimi nke anyị itinye aka ga-abawanye.

Ọ gwụla. Ka anyị gaa n'ihu n'ajụjụ ndị ahụ.

Kedu ihe na ihe kpatara anyị ji eme na ọdụ data Open Source. Andrey Borodin (Yandex.Cloud)

Oge ajụjụ

Nnọọ! Anyị nwere nnọkọ ajụjụ na azịza ọzọ. Na na studio Andrei Borodin. Nke a bụ onye gwara gị banyere ntinye aka nke Yandex.Cloud na Yandex imeghe isi iyi. Akụkọ anyị ugbu a abụghị naanị gbasara igwe ojii, mana n'otu oge ahụ anyị dabere na teknụzụ ndị dị otú ahụ. Na-enweghị ihe ị mere n'ime Yandex, ọ gaghị enwe ọrụ na Yandex.Cloud, yabụ kelee m n'onwe m. Na ajụjụ mbụ sitere na mgbasa ozi: "Gịnị bụ ọrụ ọ bụla ị kpọtụrụ aha na ya?"

Edere usoro ndabere na WAL-G na Go. Nke a bụ otu n'ime ọrụ ọhụrụ ndị anyị rụworo ọrụ na ya. Ọ dị naanị afọ 3 n'ezie. Na nchekwa data na-abụkarị maka ntụkwasị obi. Nke a pụtakwara na ọdụ data ndị ahụ adịla ochie, a na-edekarịkwa ha na C. Ọrụ Postgres malitere ihe dị ka afọ iri atọ gara aga. Mgbe ahụ C30 bụ nhọrọ ziri ezi. Edekwara Postgres na ya. A na-edekarị ọdụ data ọgbara ọhụrụ dị ka ClickHouse na C++. Mmepe sistemu niile dabere na C na C++.

Ajụjụ sitere n'aka onye njikwa ego anyị, onye na-ahụ maka mmefu na Cloud: "Gịnị kpatara Cloud ji etinye ego n'ịkwado isi mmalite mepere emepe?"

Enwere azịza dị mfe maka onye njikwa ego ebe a. Anyị na-eme nke a iji mee ka ọrụ anyị ka mma. Olee ụzọ anyị nwere ike isi mee nke ọma? Anyị nwere ike ime ihe nke ọma, ngwa ngwa, ma mee ka ihe dịkwuo elu. Mana maka anyị, akụkọ a bụ isi maka ntụkwasị obi. Dịka ọmụmaatụ, na usoro ndabere anyị na-enyocha 100% nke patches na-emetụta ya. Anyị maara ihe koodu bụ. Ọ na-adịkwa anyị mma iwepụta ụdị ọhụrụ na mmepụta. Nke ahụ bụ, nke mbụ, ọ bụ maka obi ike, maka ịdị njikere maka mmepe na maka ntụkwasị obi

Ajụjụ ọzọ: "Ihe ndị ọrụ mpụga bi na Yandex.Cloud chọrọ ọ dị iche na ndị ọrụ ime bi na igwe ojii?"

Profaịlụ ibu dị, n'ezie, dị iche. Ma site n'echiche nke ngalaba m, a na-emepụta ihe niile pụrụ iche na nke na-adọrọ mmasị na ibu na-abụghị ọkọlọtọ. Ndị na-emepụta ihe na-eche n'echiche, ndị na-emepụta ihe na-eme ihe a na-atụghị anya ya, nwere ike ịchọta ma n'ime ma n'èzí. N'akụkụ a, anyị niile bụ otu ihe. Ma eleghị anya, naanị akụkụ dị mkpa dị n'ime ọrụ Yandex nke ọdụ data ga-abụ na n'ime Yandex anyị nwere nkuzi. N'oge ụfọdụ, mpaghara nnweta na-abanye kpamkpam na ndò, yana ọrụ Yandex niile ga-aga n'ihu na-arụ ọrụ n'agbanyeghị nke a. Nke a bụ obere ọdịiche. Ma ọ na-emepụta ọtụtụ nchọpụta nchọpụta na interface nke nchekwa data na nchịkọta netwọk. Ma ọ bụghị ya, nrụnye nke mpụga na nke ime na-ewepụta otu arịrịọ maka njirimara yana arịrịọ ndị yiri ya maka imeziwanye ntụkwasị obi na arụmọrụ.

Ajụjụ na-esote: "Olee mmetụta gị n'onwe gị banyere eziokwu ahụ bụ na ọtụtụ n'ime ihe ị na-eme bụ igwe ojii ndị ọzọ?" Anyị agaghị akpọ aha ndị akọwapụtara, mana ọtụtụ ọrụ emere na Yandex.Cloud na-eji igwe ojii ndị ọzọ.

Nke a dị mma. Nke mbụ, ọ bụ ihe ịrịba ama na anyị emewo ihe ziri ezi. Ọ na-akpụkwa ego. Obi sikwara anyị ike na anyị mere mkpebi ziri ezi. N'aka nke ọzọ, nke a bụ olileanya na n'ọdịnihu nke a ga-ewetara anyị echiche ọhụrụ, arịrịọ ọhụrụ sitere n'aka ndị ọrụ ndị ọzọ. Ọtụtụ okwu dị na GitHub bụ ndị na-ahụ maka sistemụ n'otu n'otu, DBA nke ọ bụla, ndị na-ese ụkpụrụ ụlọ, ndị injinia n'otu n'otu, mana mgbe ụfọdụ ndị nwere ahụmịhe usoro na-abịa na-ekwu na na 30% nke ụfọdụ ikpe anyị nwere nsogbu a ka anyị chee echiche ka anyị ga-esi dozie ya. Nke a bụ ihe anyị na-atụkarị anya. Anyị na-atụ anya ịkekọrịta ahụmịhe na nyiwe igwe ojii ndị ọzọ.

Ị kwuru ọtụtụ ihe gbasara ịgba ọsọ. Ama m na ị gbara ọsọ marathon na Moscow. N'ihi ya? Wepụrụ ụmụ okorobịa ahụ site na PostgreSQL?

Ee e, Oleg Bartunov na-agba ọsọ ngwa ngwa. O mechara otu awa n'ihu m. N'ozuzu, enwere m obi ụtọ na ogologo m ruru. Maka m, naanị imecha bụ ihe m rụzuru. N'ozuzu, ọ bụ ihe ijuanya na e nwere ọtụtụ ndị ọgba ọsọ na obodo postgres. Ọ dị m ka enwere ụdị mmekọrịta dị n'etiti egwuregwu aerobic na ọchịchọ maka mmemme usoro.

Ị na-ekwu na enweghị ndị ọgba ọsọ na ClickHouse?

Ama m nke ọma na ha nọ ebe ahụ. ClickHouse bụkwa nchekwa data. Site n'ụzọ, Oleg na-edegara m akwụkwọ ozi ugbu a: "Ànyị ga-agba ọsọ mgbe akụkọ ahụ gasịrị?" Nke a bụ ezigbo echiche.

Ajụjụ ọzọ sitere na mgbasa ozi sitere na Nikita: "Gịnị kpatara i ji dozie ahụhụ na Greenplum n'onwe gị ma nyeghị ya ndị obere?" N'ezie, ọ bụghị ihe doro anya ihe ahụhụ bụ na nke ọrụ, ma eleghị anya ọ pụtara nke ị kwuru.

Ee, n'ụkpụrụ, a gaara enye mmadụ ya. Ọ bụ naanị koodu ka m gbanwere. Ọ bụkwa ihe kwesịrị ekwesị ịnọgide na-eme ya ozugbo. N'ụkpụrụ, echiche nke ịkekọrịta nka na otu ahụ bụ ezigbo echiche. Anyị ga-ekekọrịta ọrụ Greenplum n'etiti ndị otu anyị niile.

Ebe anyị na-ekwu maka juniors, nke a bụ ajụjụ. Onye ahụ kpebiri ịmepụta nkwekọrịta mbụ na Postgres. Kedu ihe ọ ga-eme iji mee nke mbụ?

Nke a bụ ajụjụ na-adọrọ mmasị: "Ebee ka ịmalite?" Ọ na-esikarị ike iji ihe dị na kernel malite. Na Postgres, dịka ọmụmaatụ, enwere ndepụta ime. Ma n'ezie, nke a bụ mpempe akwụkwọ nke ihe ha gbalịrị ime, ma ọ bụghị ihe ịga nke ọma. Ihe ndị a bụ ihe mgbagwoju anya. Na-emekarị ị nwere ike ịhụ ụfọdụ akụrụngwa na gburugburu ebe obibi, ụfọdụ ndọtị nwere ike imeziwanye, na-adọta uche dị nta site na ndị mmepe kernel. Na, n'ihi ya, e nwere ihe ndị ọzọ maka uto n'ebe ahụ. Na mmemme koodu Summer Summer nke Google, kwa afọ ndị obodo postgres na-ewepụta ọtụtụ isiokwu dị iche iche enwere ike ịza. N'afọ a, anyị nwere, echere m, ụmụ akwụkwọ atọ. Otu onye dere ọbụna na WAL-G na isiokwu ndị dị mkpa na Yandex. Na Greenplum, ihe niile dị mfe karịa na obodo Postgres, n'ihi na Greenplum hackers na-emeso arịrịọ ịdọrọ nke ọma wee malite nyochaa ozugbo. Izipu patch na Postgres bụ ihe gbasara ọnwa, mana Greenplum ga-abịa n'otu ụbọchị wee hụ ihe ị mere. Ihe ọzọ bụ na Greenplum kwesịrị idozi nsogbu ndị dị ugbu a. A naghị eji Greenplum eme ihe n'ọtụtụ ebe, yabụ ịchọta nsogbu gị siri ezigbo ike. Na nke mbụ, anyị kwesịrị idozi nsogbu, n'ezie.

isi: www.habr.com