Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Yandex qhov kev pab cuam rau cov ntaub ntawv hauv qab no yuav raug tshuaj xyuas.

  • Nyem Tsev
  • Odyssey
  • Rov qab mus rau qhov taw tes hauv lub sijhawm (WAL-G)
  • PostgreSQL (xws li logerrors, Amcheck, heapcheck)
  • Greenplum

Yees duab:

Nyob zoo ntiaj teb! Kuv lub npe yog Andrey Borodin. Thiab qhov kuv ua ntawm Yandex.Cloud yog tsim qhib kev sib raug zoo databases hauv kev txaus siab ntawm Yandex.Cloud thiab Yandex.Cloud cov neeg siv khoom.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Hauv kev hais lus no, peb yuav tham txog cov teeb meem uas tab tom ntsib qhib databases ntawm qhov ntsuas. Vim li cas thiaj tseem ceeb? Vim me me, teeb meem me me uas, zoo li yoov tshaj cum, ces ua ntxhw. Lawv loj tuaj thaum koj muaj ntau pawg.

Tab sis qhov ntawd tsis yog qhov tseem ceeb. Zoo kawg li tshwm sim. Tej yam uas tshwm sim hauv ib qho ntawm ib lab kis. Thiab nyob rau hauv ib puag ncig huab, koj yuav tsum tau npaj rau qhov ntawd, vim tias tej yam tsis txaus ntseeg dhau los ua qhov tshwm sim thaum muaj ib yam dab tsi tshwm sim.

Tab sis! Qhov zoo ntawm qhib databases yog dab tsi? Qhov tseeb yog tias koj muaj lub sijhawm theoretical los daws txhua qhov teeb meem. Koj muaj lub hauv paus code, koj muaj kev paub programming. Peb muab nws thiab nws ua haujlwm.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Dab tsi yog txoj hauv kev ua haujlwm ntawm qhov qhib software?

  • Txoj hauv kev yooj yim tshaj plaws yog siv software. Yog tias koj siv cov txheej txheem, yog tias koj siv cov qauv, yog tias koj siv hom ntawv, yog tias koj sau cov lus nug hauv cov software qhib, ces koj twb txhawb nws.
  • Koj tab tom ua nws ecosystem loj dua. Koj ua rau qhov yuav tshwm sim thaum ntxov ntawm tus kab mob ntau dua. Koj nce kev ntseeg siab ntawm qhov system no. Koj nce qhov muaj cov neeg tsim tawm hauv kev ua lag luam. Koj txhim kho qhov software no. Koj twb yog ib tug contributor yog tias koj nyuam qhuav tau txais style thiab tinkered nrog ib yam dab tsi nyob ntawd.
  • Lwm txoj hauv kev nkag siab yog txhawb nqa qhib qhov software. Piv txwv li, qhov zoo tshaj plaws Google Lub Caij Ntuj Sov ntawm Code program, thaum Google them ntau tus tub ntxhais kawm los ntawm thoob plaws lub ntiaj teb kom nkag siab cov nyiaj kom lawv tsim cov haujlwm qhib software uas ua tau raws li qee qhov kev tso cai.
  • Qhov no yog ib txoj hauv kev nthuav dav heev vim tias nws tso cai rau cov software hloov zuj zus yam tsis hloov qhov kev tsom mus deb ntawm zej zog. Google, raws li lub tshuab loj heev, tsis tau hais tias peb xav tau qhov tshwj xeeb no, peb xav kho cov kab no thiab qhov no yog qhov peb yuav tsum khawb. Google hais tias: β€œUa li koj ua. Tsuas yog ua haujlwm raws li koj tau ua haujlwm thiab txhua yam yuav zoo. "
  • Txoj hauv kev txuas ntxiv mus rau kev koom nrog hauv qhov chaw qhib yog kev koom tes. Thaum koj muaj teeb meem hauv qhov qhib software thiab muaj cov neeg tsim khoom, koj cov neeg tsim khoom pib daws cov teeb meem. Lawv pib ua kom koj cov infrastructure zoo dua, koj cov kev pab cuam sai dua thiab txhim khu kev qha.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Ib qho ntawm cov haujlwm nto moo tshaj plaws hauv Yandex hauv kev qhib qhov software yog ClickHouse. Qhov no yog cov ntaub ntawv uas tau yug los ua cov lus teb rau cov kev cov nyom uas ntsib Yandex.Metrica.

Thiab raws li ib tug database, nws tau ua nyob rau hauv qhib qhov chaw nyob rau hauv thiaj li yuav tsim ib tug ecosystem thiab tsim nws ua ke nrog rau lwm cov developers (tsis yog nyob rau hauv Yandex xwb). Thiab tam sim no qhov no yog ib txoj haujlwm loj uas muaj ntau lub tuam txhab sib txawv koom nrog.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Hauv Yandex.Cloud, peb tsim ClickHouse nyob rau sab saum toj ntawm Yandex Object Storage, piv txwv li saum huab cia.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Vim li cas qhov no tseem ceeb hauv huab? Vim hais tias ib qho database ua haujlwm nyob rau hauv daim duab peb sab, hauv lub pyramid, nyob rau hauv no hierarchy ntawm nco hom. Koj muaj cov ntawv sau ceev tab sis me me thiab pheej yig loj tab sis qeeb SSDs, hard drives thiab lwm yam khoom siv thaiv. Thiab yog tias koj ua tau zoo nyob rau sab saum toj ntawm lub pyramid, ces koj muaj cov ntaub ntawv ceev ceev. Yog tias koj ua haujlwm tau zoo nyob hauv qab ntawm lub pyramid, ces koj muaj cov ntaub ntawv scaled. Thiab nyob rau hauv no hais txog, ntxiv lwm txheej los ntawm cov hauv qab no yog ib txoj hauv kev kom ua kom cov scalability ntawm cov ntaub ntawv.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Yuav ua li cas thiaj ua tau? Qhov no yog ib qho tseem ceeb hauv tsab ntawv ceeb toom no.

  • Peb tuaj yeem siv ClickHouse dhau MDS. MDS yog lub hauv paus Yandex huab cia interface. Nws yog qhov nyuaj dua li cov txheej txheem S3, tab sis nws yog qhov tsim nyog rau cov cuab yeej thaiv. Nws yog qhov zoo dua rau kev sau cov ntaub ntawv. Nws yuav tsum tau programming ntau. Programmers yuav program, nws tseem zoo, nws nthuav.
  • S3 yog ib txoj hauv kev ntau dua uas ua rau lub interface yooj yim dua ntawm tus nqi qis dua rau qee hom kev ua haujlwm.

Lawm, xav muab kev ua haujlwm rau tag nrho ClickHouse ecosystem thiab ua cov haujlwm uas xav tau hauv Yandex.Cloud, peb txiav txim siab kom paub tseeb tias tag nrho ClickHouse zej zog yuav tau txais txiaj ntsig los ntawm nws. Peb siv ClickHouse dhau S3, tsis yog ClickHouse dhau MDS. Thiab qhov no yog ntau txoj haujlwm.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Links:

https://github.com/ClickHouse/ClickHouse/pull/7946 "Filesystem abstraction txheej"
https://github.com/ClickHouse/ClickHouse/pull/8011 "AWS SDK S3 integration"
https://github.com/ClickHouse/ClickHouse/pull/8649 "Kev siv lub hauv paus ntawm IDisk interafce rau S3"
https://github.com/ClickHouse/ClickHouse/pull/8356 "Kev koom ua ke ntawm cav cia cav nrog IDisk interface"
https://github.com/ClickHouse/ClickHouse/pull/8862 "Log cav txhawb rau S3 thiab SeekableReadBuffer"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Storage Stripe Log S3 kev them nyiaj yug"
https://github.com/ClickHouse/ClickHouse/pull/9415 "Storage MergeTree pib txhawb rau S3"
https://github.com/ClickHouse/ClickHouse/pull/9646 "MergeTree kev txhawb nqa rau S3"
https://github.com/ClickHouse/ClickHouse/pull/10126 "Txhawb ReplicatedMergeTree tshaj S3"
https://github.com/ClickHouse/ClickHouse/pull/11134 "Ntxiv cov ntawv pov thawj default thiab kev cai headers rau s3 cia"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 nrog dynamic proxy configuration"
https://github.com/ClickHouse/ClickHouse/pull/10744 "S3 nrog lub npe daws teeb meem"

Nov yog daim ntawv thov rub rau kev siv cov ntaub ntawv virtual hauv ClickHouse. Qhov no yog ib tug loj tus naj npawb ntawm rub thov.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Links:

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 hardlinks optimization siv"
https://github.com/ClickHouse/ClickHouse/pull/11522 "S3 HTTP tus neeg siv - Tsis txhob luam cov lus teb rau hauv nco"
https://github.com/ClickHouse/ClickHouse/pull/11561 "Tsis txhob luam tag nrho cov lus teb rau hauv lub cim xeeb hauv S3 HTTP
tus neeg siv khoom"
https://github.com/ClickHouse/ClickHouse/pull/13076 "Muaj peev xwm cache cim thiab ntsuas cov ntaub ntawv rau S3 disk"
https://github.com/ClickHouse/ClickHouse/pull/13459 "Txav qhov chaw los ntawm DiskLocal rau DiskS3 nyob rau hauv parallel"

Tab sis txoj haujlwm tsis xaus rau ntawd. Tom qab lub feature tau ua, qee qhov haujlwm ntxiv yuav tsum tau txhawm rau txhawm rau txhim kho qhov haujlwm no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Links:

https://github.com/ClickHouse/ClickHouse/pull/12638 "Ntxiv SelectedRows thiab SelectedBytes txheej xwm"
https://github.com/ClickHouse/ClickHouse/pull/12464 "Ntxiv profileing txheej xwm los ntawm S3 thov rau system.events"
https://github.com/ClickHouse/ClickHouse/pull/13028 "Ntxiv QueryTimeMicroseconds, SelectQueryTimeMicroseconds thiab InsertQueryTimeMicroseconds"

Thiab tom qab ntawd nws yuav tsum ua kom nws kuaj tau, teeb tsa kev saib xyuas thiab ua kom nws tswj tau.

Thiab tag nrho cov no tau ua tiav kom tag nrho cov zej zog, tag nrho ClickHouse ecosystem, tau txais cov txiaj ntsig ntawm txoj haujlwm no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Cia peb txav mus rau kev lag luam databases, mus rau OLTP databases, uas nyob ze rau kuv tus kheej.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Qhov no yog qhov qhib qhov chaw DBMS txoj kev loj hlob. Cov txiv neej no tab tom ua txoj kev khawv koob los txhim kho kev lag luam qhib databases.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Ib qho ntawm cov haujlwm, siv ib qho piv txwv uas peb tuaj yeem tham txog yuav ua li cas thiab peb ua li cas, yog Kev Sib Txuas Pooler hauv Postgres.

Postgres yog cov txheej txheem database. Qhov no txhais tau hais tias cov ntaub ntawv yuav tsum muaj ob peb lub network sib txuas ntau npaum li qhov ua tau uas tswj kev lag luam.

Ntawm qhov tod tes, nyob rau hauv ib puag ncig huab, ib qho xwm txheej yog thaum ib txhiab kev sib txuas tuaj rau ib pawg ib zaug. Thiab kev sib txuas pooler txoj haujlwm yog txhawm rau ntim ib txhiab kev sib txuas rau hauv ib qho me me ntawm kev sib txuas ntawm server.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb tuaj yeem hais tias qhov kev sib txuas pooler yog tus neeg siv xov tooj uas hloov kho cov bytes kom lawv ncav cuag cov ntaub ntawv zoo.

Hmoov tsis zoo, tsis muaj lus Lavxias zoo rau kev sib txuas pooler. Qee zaum nws yog hu ua multiplexer kev sib txuas. Yog hais tias koj paub yuav ua li cas hu rau qhov kev twb kev txuas pooler, ces nco ntsoov qhia rau kuv, kuv yuav zoo siab heev hais lus cov lus Lavxias teb sab technical lus.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

Peb tau tshawb xyuas cov poolers sib txuas uas tsim nyog rau pawg tswj hwm postgres. Thiab PgBouncer yog qhov kev xaiv zoo tshaj plaws rau peb. Tab sis peb tau ntsib ntau yam teeb meem nrog PgBouncer. Ntau xyoo dhau los, Volodya Borodin tau tshaj tawm tias peb siv PgBouncer, peb nyiam txhua yam, tab sis muaj nuances, muaj qee yam ua haujlwm.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Thiab peb tau ua haujlwm. Peb kho cov teeb meem uas peb ntsib, peb patched Bouncer, thiab sim thawb rub cov lus thov nce mus. Tab sis qhov tseem ceeb ntawm txoj xov ib leeg yog qhov nyuaj rau kev ua haujlwm nrog.

Peb yuav tsum sau cascades los ntawm patched Bouncers. Thaum peb muaj ntau tus xov tooj Bouncers, cov kev sib txuas ntawm cov txheej saum toj kawg nkaus raug xa mus rau txheej sab hauv ntawm Bouncers. Qhov no yog ib qho kev tswj tsis zoo uas nyuaj los tsim thiab ntsuas rov qab thiab tawm mus.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb tuaj txog qhov xaus tias peb tsim peb tus kheej kev sib txuas pooler, uas yog hu ua Odyssey. Peb sau los ntawm kos.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Hauv 2019, ntawm PgCon lub rooj sib tham, kuv tau nthuav tawm cov pooler no rau cov neeg tsim tawm. Tam sim no peb muaj me ntsis tsawg dua 2 hnub qub ntawm GitHub, piv txwv li qhov project tseem ciaj sia, qhov project yog nrov.

Thiab yog tias koj tsim ib pawg Postgres hauv Yandex.Cloud, tom qab ntawd nws yuav yog pawg nrog Odyssey built-in, uas tau kho dua tshiab thaum ntsuas cov pawg rov qab lossis tawm mus.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb kawm tau dab tsi los ntawm qhov project no? Kev nthuav tawm txoj haujlwm sib tw yeej ib txwm yog ib qho kev txhoj puab heev, nws yog ib qho kev ntsuas huab cua thaum peb hais tias muaj teeb meem uas tsis tau daws sai txaus, tsis raug daws nyob rau hauv lub sij hawm luv luv uas yuav haum rau peb. Tab sis qhov no yog ib qho kev ntsuas zoo.

PgBouncer pib txhim kho sai dua.

Thiab tam sim no lwm yam haujlwm tau tshwm sim. Piv txwv li, pgagroal, uas yog tsim los ntawm Red Hat developers. Lawv nrhiav cov hom phiaj zoo sib xws thiab siv cov tswv yim zoo sib xws, tab sis, ntawm chav kawm, nrog lawv tus kheej tshwj xeeb, uas yog ze rau pgagroal developers.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Lwm qhov xwm txheej ntawm kev ua haujlwm nrog cov zej zog postgres yog rov qab los rau lub sijhawm. Qhov no yog rov qab los tom qab tsis ua haujlwm, qhov no yog rov qab los ntawm kev thaub qab.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Muaj ntau cov thaub qab thiab lawv txhua tus sib txawv. Yuav luag txhua tus neeg muag khoom Postgres muaj nws tus kheej cov kev daws teeb meem.

Yog tias koj coj tag nrho cov txheej txheem thaub qab, tsim cov qauv matrix thiab jokingly xam tus txiav txim hauv cov matrix no, nws yuav yog xoom. Qhov no txhais li cas? Yuav ua li cas yog tias koj nqa cov ntaub ntawv thaub qab tshwj xeeb, ces nws tsis tuaj yeem sib sau los ntawm txhua qhov ntawm lwm tus. Nws yog qhov tshwj xeeb hauv nws qhov kev siv, nws yog qhov tshwj xeeb hauv nws lub hom phiaj, nws yog qhov tshwj xeeb hauv cov tswv yim uas tau muab tso rau hauv nws. Thiab lawv txhua tus tshwj xeeb.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Thaum peb tab tom ua haujlwm ntawm qhov teeb meem no, CitusData tau tshaj tawm WAL-G qhov project. Qhov no yog ib qho kev thaub qab uas tau tsim nrog lub qhov muag rau huab ib puag ncig. Tam sim no CitusData twb yog ib feem ntawm Microsoft. Thiab nyob rau lub sijhawm ntawd, peb nyiam cov tswv yim uas tau muab tso rau hauv kev tshaj tawm thawj zaug ntawm WAL-G. Thiab peb tau pib pab txhawb rau qhov project no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tam sim no muaj ntau ntau tus neeg tsim tawm hauv txoj haujlwm no, tab sis 10 tus neeg txhawb nqa rau WAL-G suav nrog 6 Yandexoids. Peb coj peb lub tswv yim ntau rau ntawd. Thiab, ntawm chav kawm, peb tau siv lawv tus kheej, sim lawv tus kheej, dov lawv tawm mus rau hauv peb tus kheej, peb siv lawv tus kheej, peb tus kheej txiav txim siab seb yuav tsiv mus nyob qhov twg ntxiv, thaum cuam tshuam nrog WAL-G zej zog loj.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Thiab los ntawm peb qhov kev xav, tam sim no cov txheej txheem thaub qab no, suav nrog suav nrog peb cov kev siv zog, tau dhau los ua qhov zoo tshaj plaws rau huab huab ib puag ncig. Qhov no yog tus nqi zoo tshaj plaws ntawm kev thaub qab Postgres hauv huab.

Nws txhais li cas? Peb tau txhawb nqa lub tswv yim loj heev: thaub qab yuav tsum muaj kev ruaj ntseg, pheej yig rau kev khiav lag luam thiab sai li sai tau kom rov qab tau.

Vim li cas thiaj yuav tsum pheej yig ua haujlwm? Thaum tsis muaj dab tsi tawg, koj yuav tsum tsis txhob paub tias koj muaj thaub qab. Txhua yam ua haujlwm zoo, koj nkim CPU tsawg npaum li sai tau, koj siv tsawg ntawm koj cov peev txheej disk li sai tau, thiab koj xa ob peb bytes mus rau lub network li sai tau kom tsis txhob cuam tshuam nrog kev them nyiaj ntawm koj cov kev pabcuam muaj txiaj ntsig.

Thiab thaum txhua yam tawg, piv txwv li, tus thawj tswj hwm poob cov ntaub ntawv, ib yam dab tsi mus tsis ncaj ncees lawm, thiab koj yuav tsum tau rov qab mus rau yav dhau los, koj rov qab nrog tag nrho cov nyiaj, vim tias koj xav kom koj cov ntaub ntawv rov qab sai thiab tsis zoo.

Thiab peb txhawb lub tswv yim yooj yim no. Thiab, zoo li peb, peb tau tswj hwm los siv nws.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Tab sis tsis yog tag nrho. Peb xav tau ib qho me me ntxiv. Peb xav tau ntau yam sib txawv databases. Tsis yog txhua tus ntawm peb cov neeg siv khoom siv Postgres. Qee tus neeg siv MySQL, MongoDB. Hauv zej zog, lwm tus tsim tawm tau txhawb nqa FoundationDB. Thiab daim ntawv no yog txuas mus ntxiv.

Cov zej zog nyiam lub tswv yim ntawm cov ntaub ntawv khaws cia tau khiav hauv qhov chaw tswj hwm hauv huab. Thiab cov neeg tsim khoom tuav lawv cov ntaub ntawv khaws cia, uas tuaj yeem rov qab tau zoo ib yam nrog Postgres nrog peb cov txheej txheem thaub qab.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb tau kawm dab tsi los ntawm zaj dab neeg no? Peb cov khoom, raws li kev loj hlob faib, tsis yog kab ntawm cov cai, nws tsis yog nqe lus, nws tsis yog cov ntaub ntawv. Peb cov khoom tsis yog rub thov. Cov no yog cov tswv yim uas peb qhia rau cov zej zog. Qhov no yog kev tshaj lij thev naus laus zis thiab kev txav ntawm kev siv thev naus laus zis mus rau ib puag ncig huab.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Muaj xws li ib tug database li Postgres. Kuv nyiam Postgres core tshaj plaws. Kuv siv sijhawm ntau los txhim kho Postgres core nrog cov zej zog.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Tab sis ntawm no nws yuav tsum tau hais tias Yandex.Cloud muaj kev teeb tsa sab hauv ntawm cov ntaub ntawv tswj hwm. Thiab nws tau pib ntev dhau los hauv Yandex.Mail. Cov kev txawj ntse uas tam sim no coj mus rau kev tswj hwm Postgres tau sau thaum xa ntawv xav txav mus rau Postgres.

Xa ntawv muaj cov kev cai zoo sib xws rau huab. Nws xav kom koj muaj peev xwm ntsuas qhov kev loj hlob tsis tau xav txog ntawm txhua qhov chaw hauv koj cov ntaub ntawv. Thiab cov ntawv xa ntawv twb muaj kev thauj khoom nrog qee qhov ntau pua lab ntawm cov mailboxes ntawm ntau tus neeg siv uas pheej ua ntau qhov kev thov.

Thiab qhov no yog qhov nyuaj heev rau pab pawg uas tab tom tsim Postgres. Tom qab ntawd, txhua yam teeb meem uas peb ntsib tau raug tshaj tawm rau zej zog. Thiab cov teeb meem no tau raug kho, thiab kho los ntawm cov zej zog hauv qee qhov chaw txawm tias nyob rau theem ntawm kev them nyiaj yug rau qee qhov chaw khaws ntaub ntawv thiab zoo dua. Ntawd yog, koj tuaj yeem xa tsab ntawv mus rau PgSQL hacker thiab tau txais cov lus teb hauv 40 feeb. Kev them nyiaj yug nyob rau hauv ib co databases tej zaum yuav xav tias muaj ntau yam tseem ceeb tshaj li koj kab.

Tam sim no kev teeb tsa sab hauv ntawm Postgres yog qee cov ntaub ntawv petabytes. Cov no yog qee qhov kev thov ntau lab ib ob. Cov no yog ntau txhiab pawg. Nws yog qhov loj heev.

Tab sis muaj ib tug nuance. Nws nyob tsis nyob rau hauv zoo nkauj network drives, tab sis nyob rau hauv haum yooj yim hardware. Thiab muaj qhov chaw sim tshwj xeeb rau cov khoom tshiab nthuav.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Thiab nyob rau hauv ib lub sij hawm nyob rau hauv lub xeem ib puag ncig peb tau txais ib cov lus qhia hais tias lub internal invariants ntawm lub database indexes tau ua txhaum.

Ib qho kev tsis sib haum xeeb yog qee yam kev sib raug zoo uas peb xav kom ib txwm tuav.

Qhov xwm txheej tseem ceeb heev rau peb. Nws qhia tau tias qee cov ntaub ntawv yuav tau ploj lawm. Thiab cov ntaub ntawv poob yog ib yam dab tsi downright kev puas tsuaj.

Lub tswv yim dav dav uas peb ua raws hauv cov ntaub ntawv tswj hwm yog tias txawm tias muaj kev siv zog, nws yuav nyuaj rau poob cov ntaub ntawv. Txawm hais tias koj txhob txwm tshem tawm lawv, koj tseem yuav tsum tsis quav ntsej lawv qhov tsis tuaj yeem mus ntev. Cov ntaub ntawv kev ruaj ntseg yog kev ntseeg uas peb ua raws li kev mob siab rau.

Thiab ntawm no muaj qhov xwm txheej tshwm sim uas qhia tias yuav muaj qhov xwm txheej uas peb yuav tsis tau npaj. Thiab peb tau pib npaj rau qhov xwm txheej no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Thawj qhov uas peb tau ua yog faus cov cav los ntawm ntau txhiab pawg. Peb pom cov pawg twg nyob rau ntawm cov disks uas muaj teeb meem firmware uas poob cov nplooj ntawv hloov tshiab. Marked tag nrho Postgres cov ntaub ntawv code. Thiab peb tau cim cov lus uas qhia txog kev ua txhaum cai ntawm sab hauv invariants nrog code uas yog tsim los xyuas cov ntaub ntawv kev noj nyiaj txiag.

Lub thaj no tau txais kev lees paub los ntawm cov zej zog tsis muaj kev sib tham ntau, vim hais tias nyob rau hauv txhua rooj plaub nws pom tseeb tias muaj ib yam dab tsi phem tshwm sim thiab yuav tsum tau qhia rau lub cav.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Tom qab ntawd, peb tuaj rau lub ntsiab lus uas peb tau saib xyuas tias scans cav. Thiab nyob rau hauv rooj plaub ntawm cov lus tsis txaus ntseeg, nws tsa tus tub ceev xwm, thiab tus tub ceev xwm kho nws.

Tab sis! Kev txheeb xyuas cov cav yog ib qho kev lag luam pheej yig ntawm ib pawg thiab kev puas tsuaj loj rau ib txhiab pawg.

Peb tau sau qhov txuas ntxiv hu ua Logerrors. Nws tsim ib qho kev pom ntawm cov ntaub ntawv uas koj tuaj yeem pheej yig thiab xaiv cov txheeb cais ntawm cov kev ua yuam kev yav dhau los. Thiab yog tias peb yuav tsum tsa tus tub ceev xwm lub luag haujlwm, ces peb yuav paub txog qhov no yam tsis tau txheeb xyuas cov ntaub ntawv gigabyte, tab sis los ntawm kev rho tawm ob peb bytes ntawm lub rooj hash.

Qhov kev txuas ntxiv no tau raug saws, piv txwv li, hauv qhov chaw cia khoom rau CentOS. Yog tias koj xav siv nws, koj tuaj yeem nruab nws tus kheej. Tau kawg nws yog qhov qhib.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tab sis tsis yog tag nrho. Peb pib siv Amcheck, kev txuas ntxiv tsim hauv zej zog, txhawm rau nrhiav kev ua txhaum cai tsis sib xws hauv kev ntsuas.

Thiab peb pom tias yog tias koj ua haujlwm ntawm qhov ntsuas, muaj kab. Peb pib kho lawv. Peb cov kev kho tau raug lees txais.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Peb pom tias qhov txuas ntxiv no tsis tuaj yeem txheeb xyuas GiST & GIT indexes. Peb ua rau lawv txhawb nqa. Tab sis qhov kev txhawb nqa no tseem tab tom tham los ntawm zej zog, vim tias qhov no yog qhov ua haujlwm tshiab thiab muaj ntau cov ntsiab lus nyob ntawd.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Thiab peb kuj tau tshawb pom tias thaum tshawb xyuas qhov ntsuas kev ua txhaum cai ntawm tus thawj coj replication, ntawm tus tswv, txhua yam ua haujlwm zoo, tab sis ntawm cov ntawv luam, ntawm cov neeg ua raws, kev tshawb nrhiav kev noj nyiaj txiag tsis zoo. Tsis yog txhua tus invariants raug kuaj. Thiab ib tug invariant thab peb heev. Thiab peb tau siv sijhawm ib xyoos thiab ib nrab sib txuas lus nrog cov zej zog txhawm rau txhawm rau txhawm rau txhawm rau txheeb xyuas qhov kev hloov pauv.

Peb tau sau cov cai uas yuav tsum ua raws li txhua tus tuaj yeem ... cov txheej txheem. Peb tau tham txog thaj tsam no rau qee lub sijhawm nrog Peter Gaghan los ntawm Crunchy Data. Nws yuav tsum tau hloov kho me ntsis B-ntoo uas twb muaj lawm hauv Postgres thiaj li yuav tau txais daim ntawv no. Nws tau txais. Thiab tam sim no kev txheeb xyuas qhov ntsuas ntawm cov ntawv luam tawm kuj tseem ua tau zoo txaus los xyuas cov kev ua txhaum cai uas peb tau ntsib. Ntawd yog, cov no yog cov kev ua txhaum cai uas tuaj yeem tshwm sim los ntawm kev ua yuam kev hauv disk firmware, kab laum hauv Postgres, kab laum hauv Linux ntsiav, thiab teeb meem kho vajtse. Muaj ntau daim ntawv teev cov peev txheej ntawm cov teeb meem uas peb tab tom npaj.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tab sis dhau li ntawm cov indexes, muaj xws li ib feem xws li heap, i.e. qhov chaw uas cov ntaub ntawv khaws cia. Thiab tsis muaj ntau qhov sib txawv uas tuaj yeem kuaj xyuas.

Peb muaj qhov txuas ntxiv hu ua Heapcheck. Peb pib tsim nws. Thiab nyob rau tib lub sijhawm, ua ke nrog peb, lub tuam txhab EnterpriseDB kuj tau pib sau cov qauv, uas lawv hu ua Heapcheck tib txoj kev. Tsuas yog peb hu nws PgHeapcheck, thiab lawv tsuas yog hu ua Heapcheck. Lawv muaj nws nrog cov haujlwm zoo sib xws, kos npe sib txawv me ntsis, tab sis nrog tib lub tswv yim. Lawv siv lawv me ntsis zoo dua hauv qee qhov chaw. Thiab lawv muab tso rau hauv qhov chaw qhib ua ntej.

Thiab tam sim no peb tab tom txhim kho lawv txoj kev nthuav dav, vim nws tsis yog lawv txoj kev nthuav dav ntxiv lawm, tab sis kev nthuav dav hauv zej zog. Thiab yav tom ntej, qhov no yog ib feem ntawm cov ntsiav uas yuav muab rau txhua tus kom lawv paub txog cov teeb meem yav tom ntej ua ntej.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Hauv qee qhov chaw, peb txawm tuaj txog qhov xaus tias peb muaj qhov tsis zoo hauv peb cov kev saib xyuas. Piv txwv li, 1C system. Thaum siv cov ntaub ntawv, Postgres qee zaum sau cov ntaub ntawv rau hauv nws uas nws tuaj yeem nyeem tau, tab sis pg_dump nyeem tsis tau.

Qhov xwm txheej no zoo li kev noj nyiaj txiag rau peb qhov teeb meem nrhiav pom. Tus tub ceev xwm lub luag haujlwm tau sawv. Tus tub ceev xwm saib xyuas qhov tshwm sim. Tom qab qee lub sijhawm, ib tus neeg siv khoom tuaj thiab hais tias kuv muaj teeb meem. Tus neeg saib xyuas piav qhia qhov teeb meem yog dab tsi. Tab sis qhov teeb meem yog nyob rau hauv Postgres core.

Kuv pom muaj kev sib tham txog qhov no. Thiab nws tau sau tias peb ntsib qhov no thiab nws tsis kaj siab, ib tug neeg sawv thaum hmo ntuj thiaj li paub tias nws yog dab tsi.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Cov zej zog teb tias, "Auj, peb yuav tsum kho nws tiag tiag."

Kuv muaj ib qho piv txwv yooj yim. Yog tias koj taug kev hauv cov khau uas muaj cov xuab zeb hauv nws, ces, hauv txoj cai, koj tuaj yeem txav mus rau - tsis muaj teeb meem. Yog tias koj muag khau rau ntau txhiab tus neeg, ces cia peb ua khau khau tsis muaj xuab zeb txhua. Thiab yog hais tias ib tug ntawm cov neeg siv ntawm koj nkawm khau yuav khiav ib tug marathon, ces koj xav ua kom zoo heev khau, thiab ces scale rau tag nrho koj cov neeg siv. Thiab xws li cov neeg siv npaj txhij txog ib txwm nyob hauv huab ib puag ncig. Muaj ib txwm muaj cov neeg siv uas siv cov pawg hauv qee txoj kev qub. Koj yuav tsum tau npaj rau qhov no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb tau kawm dab tsi ntawm no? Peb kawm tau ib qho yooj yim: qhov tseem ceeb tshaj plaws yog piav qhia rau zej zog tias muaj teeb meem. Yog tias lub zej zog tau lees paub qhov teeb meem, ces kev sib tw ntuj tsim los daws qhov teeb meem. Vim txhua leej txhua tus xav daws qhov teeb meem tseem ceeb. Txhua tus neeg muag khoom, txhua tus neeg nyiag nkag nkag siab tias lawv tus kheej tuaj yeem nqis los ntawm qhov rake no, yog li lawv xav tshem tawm lawv.

Yog tias koj tab tom ua haujlwm ntawm qhov teeb meem, tab sis nws thab tsis muaj leej twg tab sis koj, tab sis koj ua haujlwm rau nws qhov systematically thiab nws yog qhov kawg suav tias yog teeb meem, ces koj qhov kev thov rub yuav raug lees txais. Koj thaj yuav raug lees txais, koj qhov kev txhim kho lossis txawm tias kev thov kev txhim kho yuav raug tshuaj xyuas los ntawm zej zog. Thaum kawg ntawm hnub, peb ua cov ntaub ntawv zoo dua rau ib leeg.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Ib qho nthuav database yog Greenplum. Nws yog cov ntaub ntawv sib luag heev raws li Postgres codebase, uas kuv paub zoo heev.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Thiab Greenplum muaj cov haujlwm nthuav dav - append optimized tables. Cov no yog cov rooj uas koj tuaj yeem ntxiv sai sai. Lawv tuaj yeem yog columnar lossis kab.

Tab sis tsis muaj kev sib koom ua ke, piv txwv li tsis muaj kev ua haujlwm uas koj tuaj yeem npaj cov ntaub ntawv nyob rau hauv lub rooj raws li qhov kev txiav txim uas yog nyob rau hauv ib qho ntawm cov indexes.

Cov txiv neej ntawm lub tsheb tavxij tuaj rau kuv thiab hais tias: β€œAndrey, koj paub Postgres. Thiab ntawm no nws yuav luag tib yam. Hloov mus rau 20 feeb. Koj coj nws thiab ua nws. " Kuv xav tias yog, Kuv paub Postgres, hloov mus rau 20 feeb - Kuv yuav tsum ua qhov no.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tab sis tsis yog, nws tsis yog 20 feeb, kuv sau nws ntau lub hlis. Ntawm lub rooj sib tham PgConf.Russia, kuv mus cuag Heikki Linakangas los ntawm Pivotal thiab nug: β€œPuas muaj teeb meem nrog qhov no? Vim li cas ho tsis muaj append optimized table clustering? Nws hais tias: β€œKoj nqa cov ntaub ntawv. Koj xaiv, koj rearrange. Nws tsuas yog ua haujlwm xwb." Kuv: "Auj, yog, koj tsuas yog yuav tsum tau coj nws thiab ua nws." Nws hais tias: "Yog lawm, peb xav tau ob txhais tes dawb los ua qhov no." Kuv xav tias kuv yuav tsum tau ua qhov no.

Thiab ob peb lub hlis tom qab ntawd kuv tau xa daim ntawv thov rub uas siv qhov kev ua haujlwm no. Qhov kev thov rub no tau tshuaj xyuas los ntawm Pivotal ua ke nrog cov zej zog. Tau kawg, muaj kab.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tab sis qhov nthuav tshaj plaws yog tias thaum qhov kev thov rub no tau sib koom ua ke, kab pom tau pom hauv Greenplum nws tus kheej. Peb tau pom tias cov rooj zaum heap qee zaum cuam tshuam kev lag luam thaum sib koom ua ke. Thiab qhov no yog ib yam uas yuav tsum tau kho. Thiab nws nyob hauv qhov chaw uas kuv nyuam qhuav kov. Thiab kuv cov tshuaj tiv thaiv ntuj yog - tsis yog, cia kuv ua qhov no thiab.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Kuv kho cov kab no. Xa ib daim ntawv thov rub mus rau cov fixers. Nws raug tua.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tom qab ntawd nws muab tawm tias qhov kev ua haujlwm no yuav tsum tau txais hauv Greenplum version rau PostgreSQL 12. Qhov ntawd yog, 20-feeb taug txuj kev nyuaj txuas ntxiv nrog cov kev lom zem tshiab. Nws yog qhov nthuav kom kov qhov kev txhim kho tam sim no, qhov twg cov zej zog txiav cov yam ntxwv tshiab thiab tseem ceeb tshaj plaws. Nws khov lawm.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

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

Tab sis nws tsis tau xaus rau ntawd. Tom qab txhua yam, nws tau pom tias peb yuav tsum tau sau cov ntaub ntawv rau tag nrho cov no.

Kuv pib sau cov ntaub ntawv. Luckily, cov documentarians los ntawm Pivotal tuaj nrog. Lus Askiv yog lawv hom lus. Lawv pab kuv nrog cov ntaub ntawv. Qhov tseeb, lawv tus kheej rov sau qhov kuv tau npaj ua lus Askiv tiag.

Thiab ntawm no, nws yuav zoo li, taug txuj kev nyuaj kawg. Thiab koj puas paub tias muaj dab tsi tshwm sim? Cov txiv neej ntawm lub tsheb tavxij tuaj rau kuv thiab hais tias: "Tseem muaj ob txoj kev taug txuj kev nyuaj, txhua 10 feeb." Thiab kuv yuav qhia li cas rau lawv? Kuv tau hais tias tam sim no kuv yuav muab ib daim ntawv qhia txog qhov ntsuas, tom qab ntawd peb yuav pom koj qhov kev lom zem, vim qhov no yog txoj haujlwm nthuav.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Peb kawm tau dab tsi los ntawm rooj plaub no? Vim tias kev ua haujlwm nrog qhib qhov chaw ib txwm ua haujlwm nrog ib tus neeg tshwj xeeb, nws ib txwm ua haujlwm nrog zej zog. Vim tias ntawm txhua theem kuv tau ua haujlwm nrog qee tus tsim tawm, qee tus neeg sim, qee tus neeg nyiag khoom, qee tus kws sau ntawv, qee tus kws tsim qauv. Kuv tsis tau ua haujlwm nrog Greenplum, Kuv tau ua haujlwm nrog cov neeg nyob ib puag ncig Greenplum.

Tab sis! Muaj lwm qhov tseem ceeb - nws tsuas yog ua haujlwm. Ntawd yog, koj tuaj, haus kas fes, sau code. Txhua yam kev hloov pauv yooj yim ua haujlwm. Ua nws ib txwm - nws yuav zoo! Thiab nws yog ib txoj hauj lwm nthuav heev. Muaj kev thov rau txoj haujlwm no los ntawm Yandex.Cloud cov neeg siv khoom, cov neeg siv ntawm peb pawg ob sab hauv Yandex thiab sab nraud. Thiab kuv xav tias tus naj npawb ntawm cov haujlwm uas peb koom nrog yuav nce ntxiv thiab qhov tob ntawm peb txoj kev koom tes tseem yuav nce ntxiv.

Yog tag nrho. Cia peb mus rau cov lus nug.

Dab tsi thiab vim li cas peb ua hauv Open Source databases. Andrey Borodin (Yandex.Cloud)

Cov lus nug ntu

Nyob zoo! Peb muaj lwm nqe lus nug thiab lus teb. Thiab nyob rau hauv lub studio Andrei Borodin. Nov yog tus neeg uas nyuam qhuav qhia koj txog kev koom tes ntawm Yandex.Cloud thiab Yandex los qhib qhov chaw. Peb daim ntawv tshaj tawm tam sim no tsis yog tag nrho txog Huab, tab sis tib lub sijhawm peb ua raws li cov thev naus laus zis. Yog tsis muaj dab tsi koj tau ua hauv Yandex, yuav tsis muaj kev pabcuam hauv Yandex.Cloud, yog li ua tsaug rau kuv tus kheej. Thiab thawj lo lus nug los ntawm kev tshaj tawm: "Dab tsi yog txhua qhov haujlwm uas koj tau hais sau rau?"

Cov txheej txheem thaub qab hauv WAL-G yog sau rau hauv Go. Nov yog ib qho ntawm cov haujlwm tshiab uas peb tau ua haujlwm. Nws tsuas muaj 3 xyoos xwb. Thiab ib tug database feem ntau hais txog kev ntseeg tau. Thiab qhov no txhais tau hais tias cov ntaub ntawv qub qub thiab feem ntau lawv tau sau rau hauv C. Qhov project Postgres tau pib txog 30 xyoo dhau los. Tom qab ntawd C89 yog qhov kev xaiv zoo. Thiab Postgres tau sau rau ntawm nws. Ntau cov ntaub ntawv niaj hnub xws li ClickHouse feem ntau yog sau hauv C ++. Txhua qhov kev txhim kho yog nyob ntawm C thiab C ++.

Ib lo lus nug los ntawm peb tus thawj tswj hwm nyiaj txiag, leej twg yog lub luag haujlwm rau cov nuj nqis ntawm Huab: "Vim li cas Cloud siv nyiaj los txhawb qhov qhib?"

Muaj lus teb yooj yim rau tus thawj tswj nyiaj txiag ntawm no. Peb ua qhov no los ua kom peb cov kev pabcuam zoo dua. Peb yuav ua li cas zoo dua? Peb tuaj yeem ua tej yam zoo dua, nrawm dua, thiab ua kom muaj peev xwm ua tau ntau dua. Tab sis rau peb, zaj dab neeg no feem ntau yog hais txog kev ntseeg siab. Piv txwv li, hauv lub kaw lus thaub qab peb tshuaj xyuas 100% ntawm thaj ua rau thaj uas siv rau nws. Peb paub tias tus lej yog dab tsi. Thiab peb tau yooj yim dua dov tawm tshiab versions rau ntau lawm. Qhov ntawd yog, ua ntej ntawm tag nrho cov, nws yog hais txog kev ntseeg siab, txog kev npaj rau kev txhim kho thiab kev ntseeg siab

Lwm lo lus nug: "Puas yog cov kev cai ntawm cov neeg siv sab nraud uas nyob hauv Yandex.Cloud txawv ntawm cov neeg siv sab hauv uas nyob hauv Cloud sab hauv?"

Lub load profile yog, ntawm chav kawm, txawv. Tab sis los ntawm qhov pom ntawm kuv lub tuam tsev, tag nrho cov xwm txheej tshwj xeeb thiab nthuav dav yog tsim los ntawm cov khoom tsis yog tus qauv. Cov neeg tsim khoom nrog kev xav, cov neeg tsim khoom uas ua qhov kev npaj txhij txog, zoo li yuav pom ob qho tib si sab hauv thiab sab nraud. Hauv qhov no, peb txhua tus muaj kwv yees li ib yam. Thiab, tej zaum, tsuas yog qhov tseem ceeb hauv Yandex kev ua haujlwm ntawm cov ntaub ntawv yuav yog hauv Yandex peb muaj kev qhia. Qee lub sijhawm, qee qhov chaw muaj nyob rau hauv cov duab ntxoov ntxoo, thiab txhua qhov kev pabcuam Yandex yuav tsum ua haujlwm txuas ntxiv txawm tias qhov no. Qhov no yog qhov txawv me me. Tab sis nws tsim ntau txoj kev tshawb fawb kev loj hlob ntawm lub interface ntawm database thiab network pawg. Txwv tsis pub, kev teeb tsa sab nraud thiab sab hauv tsim tib qhov kev thov rau cov yam ntxwv thiab kev thov zoo sib xws rau kev txhim kho kev ntseeg siab thiab kev ua haujlwm.

Cov lus nug tom ntej: "Koj tus kheej xav li cas txog qhov tseeb tias ntau yam koj ua yog siv los ntawm lwm cov Huab?" Peb yuav tsis sau npe tshwj xeeb, tab sis ntau qhov haujlwm uas tau ua tiav hauv Yandex.Cloud yog siv rau lwm tus neeg huab.

Qhov no yog txias. Ua ntej, nws yog ib lub cim qhia tias peb tau ua ib yam dab tsi zoo. Thiab nws khawb lub ego. Thiab peb muaj kev ntseeg siab dua tias peb tau txiav txim siab raug. Ntawm qhov tod tes, qhov no yog kev cia siab tias yav tom ntej qhov no yuav coj peb cov tswv yim tshiab, kev thov tshiab los ntawm cov neeg siv thib peb. Feem ntau cov teeb meem ntawm GitHub yog tsim los ntawm ib tus neeg tswj hwm kev tswj hwm, tus neeg DBAs, tus kws tsim vaj tsev, tus kws tsim qauv, tab sis qee zaum cov neeg uas muaj kev paub zoo tuaj thiab hais tias hauv 30% ntawm qee qhov xwm txheej peb muaj qhov teeb meem no thiab cia peb xav txog yuav daws nws li cas. Qhov no yog qhov peb tab tom tos rau feem ntau. Peb tos ntsoov rau kev sib qhia cov kev paub nrog lwm cov huab platforms.

Koj tau tham ntau txog marathon. Kuv paub tias koj tau khiav marathon hauv Moscow. Raws li qhov tshwm sim? Overtook cov txiv neej los ntawm PostgreSQL?

Tsis yog, Oleg Bartunov khiav ceev heev. Nws ua tiav ib teev ua ntej kuv. Zuag qhia tag nrho, kuv zoo siab tias kuv tau mus deb npaum li cas. Rau kuv, tsuas yog ua tiav yog qhov ua tiav. Zuag qhia tag nrho, nws xav tsis thoob tias muaj ntau tus neeg khiav dej num hauv zej zog postgres. Nws zoo nkaus li kuv tias muaj qee yam kev sib raug zoo ntawm kev ua si aerobic thiab lub siab xav rau kev ua haujlwm.

Puas yog koj hais tias tsis muaj neeg khiav ntawm ClickHouse?

Kuv paub tseeb tias lawv nyob ntawd. ClickHouse kuj yog ib qho database. Los ntawm txoj kev, tam sim no Oleg tau sau ntawv rau kuv: "Peb puas yuav mus khiav tom qab ntawv tshaj tawm?" Qhov no yog ib lub tswv yim zoo.

Lwm lo lus nug los ntawm kev tshaj tawm los ntawm Nikita: "Vim li cas koj kho cov kab mob hauv Greenplum koj tus kheej thiab tsis muab rau cov menyuam yaus?" Muaj tseeb, nws tsis paub meej tias kab laum yog dab tsi thiab nyob rau hauv qhov kev pab cuam, tab sis tej zaum nws txhais tau tias tus koj tham txog.

Yog lawm, hauv paus ntsiab lus, nws tuaj yeem muab rau ib tus neeg. Nws yog tus lej uas kuv nyuam qhuav hloov. Thiab nws yog ib qho uas yuav tsum tau ua tam sim ntawd. Nyob rau hauv txoj cai, lub tswv yim ntawm kev sib koom kev txawj ntse nrog pab neeg no yog ib lub tswv yim zoo. Peb yuav qhia txog Greenplum cov dej num ntawm txhua tus tswv cuab ntawm peb pawg.

Txij li thaum peb tab tom tham txog juniors, ntawm no yog ib lo lus nug. Tus neeg txiav txim siab los tsim thawj qhov kev cog lus hauv Postgres. Nws yuav tsum ua li cas thiaj ua tau thawj zaug?

Qhov no yog ib lo lus nug nthuav: "Yuav pib qhov twg?" Feem ntau nws nyuaj heev los pib nrog qee yam hauv cov ntsiav. Hauv Postgres, piv txwv li, muaj cov npe ua. Tab sis qhov tseeb, qhov no yog ib daim ntawv uas lawv tau sim ua, tab sis tsis ua tiav. Cov no yog tej yam nyuaj. Thiab feem ntau koj tuaj yeem pom qee qhov kev siv hluav taws xob hauv ecosystem, qee qhov txuas ntxiv uas tuaj yeem txhim kho, uas nyiam tsawg dua los ntawm cov neeg tsim tawm kernel. Thiab, raws li, muaj ntau cov ntsiab lus rau kev loj hlob nyob ntawd. Ntawm Google Summer of code program, txhua txhua xyoo cov zej zog postgres tso rau ntau yam sib txawv uas tuaj yeem hais txog. Xyoo no peb muaj, kuv xav tias, peb cov tub ntxhais kawm. Ib tug txawm sau hauv WAL-G txog cov ntsiab lus tseem ceeb rau Yandex. Hauv Greenplum, txhua yam yooj yim dua li hauv zej zog Postgres, vim tias Greenplum hackers kho rub cov lus thov zoo heev thiab pib tshuaj xyuas tam sim ntawd. Xa ib thaj rau Postgres yog qhov teeb meem ntawm lub hlis, tab sis Greenplum yuav tuaj hauv ib hnub thiab pom koj tau ua dab tsi. Lwm qhov yog tias Greenplum yuav tsum tau daws cov teeb meem tam sim no. Greenplum tsis tau siv dav, yog li nrhiav koj qhov teeb meem nyuaj heev. Thiab ua ntej ntawm tag nrho cov, peb yuav tsum tau daws teeb meem, tau kawg.

Tau qhov twg los: www.hab.com