Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Ang kontribusyon sa Yandex sa mosunod nga mga database pagasusihon.

  • clickhouse
  • Odyssey
  • Pagbawi sa usa ka punto sa oras (WAL-G)
  • PostgreSQL (lakip ang mga logerror, Amcheck, heapcheck)
  • Greenplum

Video:

Hello kalibutan! Ako si Andrey Borodin. Ug ang akong gibuhat sa Yandex.Cloud mao ang pagpalambo sa bukas nga relational database sa interes sa Yandex.Cloud ug Yandex.Cloud nga mga kliyente.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Niini nga pakigpulong, maghisgot kita bahin sa mga hagit nga giatubang sa bukas nga mga database sa sukod. Nganong importante kini? Tungod kay ang gagmay, gagmay nga mga problema nga, sama sa mga lamok, mahimong mga elepante. Modako sila kung daghan ka mga pungpong.

Apan dili kana ang panguna nga butang. Ang dili katuohan nga mga butang mahitabo. Mga butang nga mahitabo sa usa sa usa ka milyon nga mga kaso. Ug sa usa ka panganod nga palibot, kinahanglan ka nga mag-andam alang niana, tungod kay ang dili katuohan nga mga butang mahimong labi ka posible kung adunay usa ka butang nga naglungtad.

Apan! Unsa ang kaayohan sa bukas nga mga database? Ang kamatuoran mao nga ikaw adunay usa ka teoretikal nga oportunidad sa pag-atubang sa bisan unsang problema. Ikaw adunay source code, ikaw adunay kahibalo sa programming. Gihiusa namon kini ug kini molihok.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsa nga mga pamaagi ang anaa sa pagtrabaho sa open source software?

  • Ang labing prangka nga pamaagi mao ang paggamit sa software. Kung mogamit ka og mga protocol, kung mogamit ka og mga sumbanan, kung mogamit ka og mga format, kung magsulat ka og mga pangutana sa open source software, nan gisuportahan na nimo kini.
  • Gihimo nimo nga mas dako ang ekosistema niini. Gihimo nimo nga mas dako ang posibilidad sa sayo nga pag-ila sa usa ka bug. Gidugangan nimo ang kasaligan niini nga sistema. Gidugangan nimo ang pagkaanaa sa mga developer sa merkado. Imong gipauswag kini nga software. Usa ka na ka kontribyutor kung naghimo ka lang og istilo ug nag-ukay-ukay sa usa ka butang didto.
  • Ang laing masabtan nga pamaagi mao ang pag-sponsor sa open source software. Pananglitan, ang iladong Google Summer of Code nga programa, kung ang Google mobayad sa daghang mga estudyante gikan sa tibuok kalibutan masabtan nga salapi aron sila makahimo og bukas nga mga proyekto sa software nga makatagbo sa pipila ka mga kinahanglanon sa paglilisensya.
  • Kini usa ka makapaikag kaayo nga pamaagi tungod kay gitugotan niini ang software nga molambo nga wala ibalhin ang pokus gikan sa komunidad. Ang Google, ingon usa ka higante sa teknolohiya, wala mag-ingon nga gusto namon kini nga bahin, gusto namon nga ayohon kini nga bug ug dinhi kinahanglan namon nga magkalot. Ang Google nag-ingon: "Buhata ang imong gibuhat. Padayon lang sa pagtrabaho sa paagi sa imong pagtrabaho ug ang tanan mamaayo ra. ”
  • Ang sunod nga pamaagi sa pag-apil sa open source mao ang partisipasyon. Kung adunay ka problema sa open source software ug adunay mga developer, ang imong mga developers magsugod sa pagsulbad sa mga problema. Nagsugod sila sa paghimo sa imong imprastraktura nga mas episyente, ang imong mga programa nga mas paspas ug mas kasaligan.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Usa sa labing inila nga mga proyekto sa Yandex sa natad sa open source software mao ang ClickHouse. Kini usa ka database nga natawo isip tubag sa mga hagit nga giatubang sa Yandex.Metrica.

Ug ingon usa ka database, gihimo kini sa bukas nga gigikanan aron makahimo usa ka ekosistema ug mapalambo kini kauban ang ubang mga developer (dili lamang sa sulod sa Yandex). Ug karon kini usa ka dako nga proyekto diin daghang lainlaing mga kompanya ang nalambigit.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Sa Yandex.Cloud, gibuhat namo ang ClickHouse sa ibabaw sa Yandex Object Storage, i.e. sa ibabaw sa cloud storage.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Nganong importante kini sa panganod? Tungod kay ang bisan unsang database nagtrabaho sa kini nga triyanggulo, sa kini nga piramide, sa kini nga hierarchy sa mga tipo sa memorya. Adunay ka paspas apan gagmay nga mga rehistro ug barato nga dagko apan hinay nga mga SSD, mga hard drive ug uban pang mga block device. Ug kung ikaw episyente sa ibabaw sa piramide, nan ikaw adunay usa ka paspas nga database. kung episyente ka sa ilawom sa kini nga piramide, nan ikaw adunay usa ka scaled database. Ug niining bahina, ang pagdugang og laing layer gikan sa ubos usa ka lohikal nga pamaagi sa pagdugang sa scalability sa database.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Sa unsang paagi kini mahimo? Kini usa ka hinungdanon nga punto sa kini nga taho.

  • Mahimo natong ipatuman ang ClickHouse sa MDS. Ang MDS usa ka internal nga Yandex cloud storage interface. Kini mas komplikado kay sa komon nga S3 protocol, apan kini mas angay alang sa block device. Kini mas maayo alang sa pagrekord sa datos. Nagkinahanglan kini og dugang nga programming. Ang mga programmer magprograma, kini maayo pa, kini makapaikag.
  • Ang S3 usa ka mas komon nga pamaagi nga naghimo sa interface nga mas simple sa gasto sa dili kaayo pagpahiangay sa pipila ka mga matang sa workloads.

Natural, gusto nga maghatag gamit sa tibuuk nga ekosistema sa ClickHouse ug buhaton ang buluhaton nga gikinahanglan sa sulod sa Yandex.Cloud, nakahukom kami nga masiguro nga ang tibuuk nga komunidad sa ClickHouse makabenepisyo gikan niini. Gipatuman namo ang ClickHouse sa S3, dili ang ClickHouse sa MDS. Ug kini usa ka daghang trabaho.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mga reperensiya:

https://github.com/ClickHouse/ClickHouse/pull/7946 "layer sa abstraction sa filesystem"
https://github.com/ClickHouse/ClickHouse/pull/8011 "Paghiusa sa AWS SDK S3"
https://github.com/ClickHouse/ClickHouse/pull/8649 "Base nga pagpatuman sa IDisk interafce para sa S3"
https://github.com/ClickHouse/ClickHouse/pull/8356 "Paghiusa sa mga makina sa pagtipig sa log nga adunay interface sa IDisk"
https://github.com/ClickHouse/ClickHouse/pull/8862 "Suporta sa log engine alang sa S3 ug SeekableReadBuffer"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Storage Stripe Log S3 nga suporta"
https://github.com/ClickHouse/ClickHouse/pull/9415 "Storage MergeTree inisyal nga suporta alang sa S3"
https://github.com/ClickHouse/ClickHouse/pull/9646 "Tibuok nga suporta sa MergeTree para sa S3"
https://github.com/ClickHouse/ClickHouse/pull/10126 "Pagsuporta sa ReplicatedMergeTree sa S3"
https://github.com/ClickHouse/ClickHouse/pull/11134 "Idugang ang mga default nga kredensyal ug naandan nga mga ulohan alang sa pagtipig sa s3"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 uban sa dinamikong proxy configuration"
https://github.com/ClickHouse/ClickHouse/pull/10744 "S3 nga adunay proxy solver"

Kini usa ka lista sa hangyo sa pagbitad alang sa pagpatuman sa usa ka virtual file system sa ClickHouse. Kini usa ka dako nga gidaghanon sa mga hangyo sa pagbitad.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mga reperensiya:

https://github.com/ClickHouse/ClickHouse/pull/9760 "Ang DiskS3 hardlinks labing maayo nga pagpatuman"
https://github.com/ClickHouse/ClickHouse/pull/11522 "Kliyente sa S3 HTTP - Likayi ang pagkopya sa tubag nga stream sa memorya"
https://github.com/ClickHouse/ClickHouse/pull/11561 "Likayi ang pagkopya sa tibuok tubag nga stream ngadto sa memorya sa S3 HTTP
kliyente"
https://github.com/ClickHouse/ClickHouse/pull/13076 "Abilidad sa pagmarka sa cache ug pag-index sa mga file alang sa S3 disk"
https://github.com/ClickHouse/ClickHouse/pull/13459 "Ibalhin ang mga bahin gikan sa DiskLocal ngadto sa DiskS3 nga managsama"

Apan ang trabaho wala matapos didto. Pagkahuman nahimo ang bahin, gikinahanglan ang pipila pa nga trabaho aron ma-optimize kini nga pagpaandar.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mga reperensiya:

https://github.com/ClickHouse/ClickHouse/pull/12638 "Idugang ang mga Pinili ngaRows ug Pinili ngaBytes nga mga panghitabo"
https://github.com/ClickHouse/ClickHouse/pull/12464 "Idugang ang mga panghitabo sa profile gikan sa hangyo sa S3 sa system.events"
https://github.com/ClickHouse/ClickHouse/pull/13028 "Idugang ang QueryTimeMicroseconds, SelectQueryTimeMicroseconds ug InsertQueryTimeMicroseconds"

Ug unya kinahanglan nga himuon kini nga madayagnos, i-set up ang pagmonitor ug himuon kini nga madumala.

Ug kining tanan gihimo aron ang tibuok komunidad, ang tibuok ClickHouse ecosystem, nakadawat sa resulta niini nga trabaho.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mopadayon kita sa mga database sa transaksyon, sa mga database sa OLTP, nga mas duol kanako sa personal.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Kini ang open source DBMS development division. Kini nga mga lalaki naghimo sa salamangka sa kadalanan aron mapaayo ang mga bukas nga database sa transaksyon.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Usa sa mga proyekto, gamit ang usa ka pananglitan nga mahimo natong hisgutan kung giunsa ug unsa ang atong gibuhat, mao ang Connection Pooler sa Postgres.

Ang mga postgres usa ka database sa proseso. Kini nagpasabot nga ang database kinahanglan nga adunay pipila ka mga koneksyon sa network kutob sa mahimo nga nagdumala sa mga transaksyon.

Sa laing bahin, sa usa ka cloud environment, usa ka tipikal nga sitwasyon kung ang usa ka libo nga koneksyon moabut sa usa ka cluster sa usa ka higayon. Ug ang tahas sa koneksyon pooler mao ang pag-pack sa usa ka libo nga koneksyon sa gamay nga gidaghanon sa mga koneksyon sa server.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mahimo natong isulti nga ang koneksyon pooler mao ang operator sa telepono nga nag-usab sa mga byte aron sila epektibong makaabot sa database.

Ikasubo, wala’y maayong pulong nga Ruso alang sa pooler sa koneksyon. Usahay kini gitawag nga multiplexer connections. Kung nahibal-an nimo kung unsa ang itawag sa koneksyon pooler, nan siguruha nga isulti kanako, malipay kaayo ako sa pagsulti sa husto nga teknikal nga sinultian nga Ruso.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

Gisusi namon ang mga pooler sa koneksyon nga angay alang sa usa ka gidumala nga cluster sa postgres. Ug ang PgBouncer mao ang labing kaayo nga kapilian alang kanamo. Apan nakasugat kami daghang mga problema sa PgBouncer. Daghang tuig na ang milabay, si Volodya Borodin naghatag mga taho nga gigamit namon ang PgBouncer, gusto namon ang tanan, apan adunay mga nuances, adunay usa ka butang nga buhaton.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Ug kami nagtrabaho. Giayo namo ang mga problema nga among nasugatan, among gi-patch ang Bouncer, ug gisulayan ang pagduso sa mga hangyo sa pagbitad sa agos. Apan ang sukaranan nga single-threading lisud gamiton.

Kinahanglan namon nga mangolekta og mga kaskad gikan sa mga gitambalan nga Bouncers. Kung kita adunay daghang single-threaded Bouncers, ang mga koneksyon sa ibabaw nga layer ibalhin ngadto sa sulod nga layer sa Bouncers. Kini usa ka dili maayo nga pagdumala nga sistema nga lisud tukuron ug sukdon balik-balik.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Nakaabot kami sa konklusyon nga naghimo kami sa among kaugalingon nga koneksyon pooler, nga gitawag nga Odyssey. Gisulat namo kini gikan sa sinugdan.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Sa 2019, sa komperensya sa PgCon, gipresentar nako kini nga pooler sa komunidad sa developer. Karon kami adunay gamay nga ubos sa 2 ka mga bituon sa GitHub, ie ang proyekto buhi, ang proyekto popular.

Ug kung maghimo ka usa ka cluster sa Postgres sa Yandex.Cloud, nan kini usa ka cluster nga adunay built-in nga Odyssey, nga gi-reconfigure kung gi-scale ang cluster pabalik o unahan.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsay atong nakat-onan niini nga proyekto? Ang paglansad sa usa ka kompetisyon nga proyekto kanunay nga usa ka agresibo nga lakang, kini usa ka grabe nga sukod kung giingon namon nga adunay mga problema nga wala masulbad dayon, wala masulbad sa mga agwat sa oras nga angay kanamo. Apan kini usa ka epektibo nga lakang.

Ang PgBouncer nagsugod sa pag-uswag nga mas paspas.

Ug karon ang ubang mga proyekto nagpakita. Pananglitan, ang pgagroal, nga gimugna sa mga developer sa Red Hat. Gigukod nila ang parehas nga mga katuyoan ug gipatuman ang parehas nga mga ideya, apan, siyempre, sa ilang kaugalingon nga mga detalye, nga mas duol sa mga developer sa pgagroal.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Ang laing kaso sa pagtrabaho uban sa postgres nga komunidad mao ang pagpasig-uli sa usa ka punto sa panahon. Kini mao ang pagbawi human sa usa ka kapakyasan, kini mao ang pagbawi gikan sa usa ka backup.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Adunay daghang mga backup ug silang tanan lahi. Hapit matag Postgres vendor adunay kaugalingon nga backup nga solusyon.

Kung gikuha nimo ang tanan nga mga backup nga sistema, paghimo usa ka feature matrix ug pagbiaybiay nga kuwentahon ang determinant niini nga matrix, kini mahimong zero. Unsay buot ipasabot niini? Unsa kaha kung magkuha ka usa ka piho nga backup file, nan dili kini ma-assemble gikan sa mga piraso sa tanan nga uban pa. Talagsaon kini sa pagpatuman niini, talagsaon kini sa katuyoan niini, talagsaon kini sa mga ideya nga nalakip niini. Ug silang tanan espesipiko.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Samtang nagtrabaho kami niini nga isyu, gilusad sa CitusData ang proyekto sa WAL-G. Kini usa ka backup nga sistema nga gihimo uban ang usa ka mata sa panganod nga palibot. Karon ang CitusData kabahin na sa Microsoft. Ug nianang higayuna, ganahan kaayo mi sa mga ideya nga gibutang sa mga inisyal nga pagpagawas sa WAL-G. Ug nagsugod kami sa pagtampo niini nga proyekto.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Karon adunay daghang mga dosena sa mga developer sa kini nga proyekto, apan ang nanguna nga 10 nga nag-ambag sa WAL-G naglakip sa 6 Yandexoids. Nagdala kami daghang mga ideya didto. Ug, siyempre, gipatuman namo kini sa among kaugalingon, gisulayan kini sa among kaugalingon, gilukot kini sa among kaugalingon sa produksiyon, among gigamit kini sa among kaugalingon, kami mismo ang nahibal-an kung asa mobalhin sunod, samtang nakig-uban sa daghang komunidad sa WAL-G.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Ug gikan sa among panan-aw, karon kini nga backup nga sistema, lakip ang pagkonsiderar sa among mga paningkamot, nahimo nga kamalaumon alang sa usa ka palibot sa panganod. Kini ang labing kaayo nga gasto sa pag-backup sa mga Postgres sa panganod.

Unsay buot ipasabot niini? Nagpasiugda kami og usa ka dako nga ideya: ang pag-backup kinahanglan nga luwas, barato sa pag-operate ug sa labing paspas nga mahimo aron mapasig-uli.

Nganong barato man ang pag-opera? Kung wala’y naguba, dili nimo kinahanglan mahibal-an nga adunay mga backup. Maayo ang tanan, nag-usik ka sa gamay nga CPU kutob sa mahimo, gigamit nimo ang gamay nga kahinguhaan sa imong disk kutob sa mahimo, ug nagpadala ka gamay nga byte sa network kutob sa mahimo aron dili makabalda sa payload sa imong bililhon nga mga serbisyo.

Ug kung naguba ang tanan, pananglitan, gihulog sa admin ang datos, adunay nahitabo nga sayup, ug kinahanglan nimo nga ibalik dayon ang nangagi, mabawi nimo ang tanan nga salapi, tungod kay gusto nimo nga dali ug wala’y hunong ang imong data.

Ug among gipasiugda kining yano nga ideya. Ug, ingon sa amon, nakahimo kami sa pagpatuman niini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Apan dili lang kana. Gusto namon ang usa pa ka gamay nga butang. Gusto namon ang daghang lainlaing mga database. Dili tanan sa among mga kliyente naggamit sa Postgres. Ang ubang mga tawo naggamit sa MySQL, MongoDB. Sa komunidad, gisuportahan sa ubang mga developer ang FoundationDB. Ug kini nga lista kanunay nga nagkalapad.

Gusto sa komunidad ang ideya sa database nga gipadagan sa usa ka gidumala nga palibot sa panganod. Ug gipadayon sa mga developer ang ilang mga database, nga mahimong i-back up nga parehas kauban ang Postgres sa among backup nga sistema.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsay atong nakat-onan niini nga istorya? Ang among produkto, isip usa ka development division, dili mga linya sa code, dili kini mga pahayag, dili kini mga file. Ang among produkto dili pull requests. Mao kini ang mga ideya nga among gipaabot sa komunidad. Kini ang kahanas sa teknolohiya ug ang paglihok sa teknolohiya padulong sa usa ka palibot sa panganod.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Adunay ingon nga database sama sa Postgres. Ganahan kaayo ko sa Postgres core. Naggugol ako og daghang panahon sa pagpalambo sa Postgres core uban sa komunidad.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Apan dinhi kinahanglan isulti nga ang Yandex.Cloud adunay internal nga pag-install sa mga gidumala nga mga database. Ug nagsugod kini sa dugay nga panahon sa Yandex.Mail. Ang kahanas nga karon mitultol sa pagdumala sa mga Postgres natipon sa dihang ang mail gusto nga mobalhin sa Postgres.

Ang mail adunay parehas nga mga kinahanglanon sa panganod. Kinahanglan nimo nga makahimo sa pag-scale sa wala damha nga exponential nga pagtubo sa bisan unsang punto sa imong datos. Ug ang mail aduna nay load uban sa gatusan ka milyon nga mga mailbox sa usa ka dako nga gidaghanon sa mga tiggamit nga kanunay nga naghimo sa daghang mga hangyo.

Ug kini usa ka seryoso nga hagit alang sa team nga nagpalambo sa Postgres. Kaniadto, ang bisan unsang mga problema nga among nasugatan gitaho sa komunidad. Ug kini nga mga problema gitul-id, ug gitul-id sa komunidad sa pipila ka mga lugar bisan sa lebel sa bayad nga suporta alang sa ubang mga database ug mas maayo pa. Kana mao, mahimo ka magpadala usa ka sulat sa PgSQL hacker ug makadawat usa ka tubag sa sulod sa 40 minuto. Ang bayad nga suporta sa pipila nga mga database mahimong maghunahuna nga adunay daghang mga butang nga prayoridad kaysa sa imong bug.

Karon ang internal nga pag-instalar sa Postgres mao ang pipila ka mga petabytes sa datos. Kini mga pipila ka milyon nga mga hangyo matag segundo. Kini mga libu-libo nga mga pungpong. Kini dako kaayo.

Apan adunay usa ka nuance. Wala kini nagpuyo sa nindot nga mga drive sa network, apan sa medyo yano nga hardware. Ug adunay usa ka pagsulay nga palibot ilabi na alang sa makapaikag nga bag-ong mga butang.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Ug sa usa ka gutlo sa palibot sa pagsulay nakadawat kami usa ka mensahe nga nagpakita nga ang mga internal nga invariant sa mga indeks sa database gilapas.

Ang usa ka invariant usa ka matang sa relasyon nga atong gilauman nga kanunay nga gihuptan.

Usa ka kritikal kaayo nga kahimtang alang kanamo. Kini nagpakita nga pipila ka mga data mahimong nawala. Ug ang pagkawala sa datos usa ka butang nga grabe nga katalagman.

Ang kinatibuk-ang ideya nga among gisunod sa gidumala nga mga database mao nga bisan sa paningkamot, lisud nga mawala ang datos. Bisan kung gituyo nimo nga tangtangon sila, kinahanglan nimo nga ibaliwala ang ilang pagkawala sa dugay nga panahon. Ang seguridad sa datos usa ka relihiyon nga makugihon natong gisunod.

Ug dinhi mitungha ang usa ka sitwasyon nga nagsugyot nga tingali adunay usa ka sitwasyon nga dili nato maandam. Ug nagsugod kami sa pag-andam alang niini nga sitwasyon.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Ang una namong gibuhat mao ang paglubong sa mga troso gikan niining liboan ka mga pungpong. Among nakit-an kung hain sa mga cluster ang nahimutang sa mga disk nga adunay problema nga firmware nga nawad-an sa mga update sa panid sa datos. Gimarkahan ang tanan nga kodigo sa datos sa Postgres. Ug among gimarkahan kadtong mga mensahe nga nagpaila sa mga paglapas sa internal nga mga invariant nga adunay code nga gidisenyo aron mahibal-an ang korapsyon sa datos.

Kini nga patch halos gidawat sa komunidad nga wala’y daghang diskusyon, tungod kay sa matag piho nga kaso klaro nga adunay daotan nga nahitabo ug kinahanglan nga ireport sa log.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

After ato, niabot mi sa point nga naa miy monitoring nga nag scan ug logs. Ug kung adunay mga kadudahang mensahe, iyang pukawon ang opisyal sa katungdanan, ug giayo kini sa opisyal sa katungdanan.

Apan! Ang pag-scan sa mga troso usa ka barato nga operasyon sa usa ka cluster ug mahal kaayo alang sa usa ka libo nga cluster.

Nagsulat kami usa ka extension nga gitawag Mga Logerror. Naghimo kini usa ka pagtan-aw sa database diin mahimo nimo nga barato ug dali nga makapili mga istatistika sa nangaging mga sayup. Ug kung kinahanglan naton pukawon ang opisyal sa katungdanan, nan mahibal-an naton kini nga wala’y pag-scan sa gigabyte nga mga file, apan pinaagi sa pagkuha sa pipila ka mga byte gikan sa lamesa sa hash.

Kini nga extension gisagop, pananglitan, sa repository alang sa CentOS. Kung gusto nimo gamiton, mahimo nimo kini i-install sa imong kaugalingon. Siyempre kini open source.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Apan dili lang kana. Nagsugod kami sa paggamit sa Amcheck, usa ka extension nga gitukod sa komunidad, aron makit-an ang kanunay nga mga paglapas sa mga indeks.

Ug nahibal-an namon nga kung imong operahan kini sa sukod, adunay mga bug. Nagsugod kami sa pag-ayo kanila. Gidawat ang among mga pagtul-id.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Nadiskobrehan namon nga kini nga extension dili maka-analisar sa mga indeks sa GiST & GIT. Gihimo namo sila nga suporta. Apan kini nga suporta gihisgutan gihapon sa komunidad, tungod kay kini usa ka bag-o nga gamit ug adunay daghang mga detalye didto.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Ug nahibal-an usab namon nga kung gisusi ang mga indeks alang sa mga paglapas sa lider sa replikasyon, sa agalon, ang tanan molihok nga maayo, apan sa mga replika, sa sumusunod, ang pagpangita sa korapsyon dili kaayo epektibo. Dili tanang invariant gisusi. Ug ang usa ka invariant nakasamok kaayo kanamo. Ug migugol kami ug usa ka tuig ug tunga sa pagpakigsulti sa komunidad aron mahimo kining pagsusi sa mga replika.

Gisulat namon ang code nga kinahanglan sundon ang tanan nga mahimo ... mga protocol. Gihisgutan namon kini nga patch sa dugay nga panahon kauban si Peter Gaghan gikan sa Crunchy Data. Kinahanglan niyang usbon gamay ang naglungtad nga B-tree sa Postgres aron madawat kini nga patch. Gidawat siya. Ug karon ang pagsusi sa mga indeks sa mga replika nahimo usab nga igo nga epektibo aron mahibal-an ang mga paglapas nga among nasugatan. Sa ato pa, kini ang mga paglapas nga mahimong hinungdan sa mga sayup sa firmware sa disk, mga bug sa Postgres, mga bug sa kernel sa Linux, ug mga problema sa hardware. Usa ka halapad nga lista sa mga gigikanan sa mga problema nga among giandam.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Apan gawas sa mga indeks, adunay usa ka bahin sama sa tambak, i.e. ang dapit diin ang datos gitipigan. Ug wala’y daghang mga invariant nga mahimong susihon.

Adunay kami usa ka extension nga gitawag og Heapcheck. Nagsugod kami sa pagpalambo niini. Ug sa susama, uban kanamo, ang kompanya sa EnterpriseDB nagsugod usab sa pagsulat sa usa ka module, nga gitawag nila nga Heapcheck sa parehas nga paagi. Gitawag ra namo kini nga PgHeapcheck, ug gitawag lang nila kini nga Heapcheck. Naa nila kini nga adunay parehas nga mga gimbuhaton, usa ka gamay nga lahi nga pirma, apan adunay parehas nga mga ideya. Gipatuman nila kini nga mas maayo sa pipila ka mga lugar. Ug gi-post nila kini sa open source kaniadto.

Ug karon atong gipalambo ang ilang pagpalapad, kay dili na ang ilang pagpalapad, kondili ang pagpalapad sa komunidad. Ug sa umaabot, bahin kini sa kernel nga igahatag sa tanan aron mahibal-an nila ang mga problema sa umaabot.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Sa pipila ka mga lugar, nakahinapos pa kami nga kami adunay mga sayup nga positibo sa among mga sistema sa pag-monitor. Pananglitan, ang 1C nga sistema. Kung mogamit usa ka database, ang Postgres usahay magsulat sa datos niini nga mabasa niini, apan ang pg_dump dili makabasa.

Kini nga kahimtang morag kurapsyon sa among sistema sa pagtuki sa problema. Gipukaw ang duty officer. Gitan-aw sa duty officer ang nahitabo. Human sa pipila ka panahon, usa ka kliyente ang miabut ug miingon nga ako adunay mga problema. Gipasabot sa attendant kon unsa ang problema. Apan ang problema naa sa kinauyokan sa Postgres.

Nakakita ko og diskusyon bahin niini nga bahin. Ug gisulat niya nga nahibal-an namon kini nga bahin ug dili maayo, ang usa ka tawo nagmata sa gabii aron mahibal-an kung unsa kini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Ang komunidad mitubag, "Oh, kinahanglan namong ayohon kini."

Naa koy simple nga analogy. Kung naglakaw ka sa usa ka sapatos nga adunay usa ka lugas nga balas niini, nan, sa prinsipyo, mahimo ka nga magpadayon - walay problema. Kung gibaligya nimo ang mga botas sa libu-libo nga mga tawo, nan maghimo kita mga botas nga wala’y balas. Ug kung ang usa sa mga tiggamit sa imong mga sapatos modagan sa usa ka marathon, nan gusto ka nga makahimo og maayo kaayo nga mga sapatos, ug dayon i-scale kini sa tanan nimong mga tiggamit. Ug ang ingon nga wala damha nga mga tiggamit kanunay nga naa sa palibot sa panganod. Kanunay adunay mga tiggamit nga nagpahimulos sa cluster sa pipila ka orihinal nga paagi. Kinahanglan nga kanunay kang mangandam niini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsay atong nakat-onan dinhi? Natun-an namon ang isa ka simple nga butang: ang pinakaimportante amo ang pagpaathag sa komunidad nga may problema. Kung giila sa komunidad ang problema, ang natural nga kompetisyon motungha aron masulbad ang problema. Tungod kay ang tanan gusto nga masulbad ang usa ka hinungdanon nga problema. Ang tanan nga mga tigbaligya, ang tanan nga mga hacker nakasabut nga sila mismo makatunob niini nga rake, mao nga gusto nila nga wagtangon sila.

Kung nagtrabaho ka sa usa ka problema, apan kini wala’y bisan kinsa gawas kanimo, apan imong gitrabaho kini sa sistematikong paagi ug kini sa katapusan giisip nga usa ka problema, nan ang imong hangyo sa pagbitad siguradong dawaton. Ang imong patch dawaton, ang imong mga pag-uswag o bisan ang mga hangyo alang sa mga pagpaayo susihon sa komunidad. Sa katapusan sa adlaw, among gihimo ang database nga mas maayo alang sa usag usa.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Usa ka makapaikag nga database mao ang Greenplum. Kini usa ka parehas kaayo nga database base sa Postgres codebase, nga pamilyar kaayo nako.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Ug ang Greenplum adunay makapaikag nga pagpaandar - idugang ang mga na-optimize nga lamesa. Kini ang mga lamesa nga dali nimong madugangan. Mahimo kini nga kolumnar o laray.

Apan wala'y clustering, i.e. wala'y pag-andar diin mahimo nimong ihan-ay ang datos nga nahimutang sa lamesa sumala sa han-ay nga anaa sa usa sa mga indeks.

Ang mga lalaki gikan sa taxi miduol kanako ug miingon: “Andrey, nakaila ka sa Postgres. Ug dinhi kini halos pareho. Pagbalhin sa 20 minuto. Kuhaa kini ug buhata kini.” Naghunahuna ko nga oo, nahibal-an ko ang mga Postgres, nagbalhin-balhin sa 20 minuto - kinahanglan nako buhaton kini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Apan dili, dili kini 20 minuto, gisulat ko kini sa daghang mga bulan. Sa komperensya sa PgConf.Russia, giduol nako si Heikki Linakangas gikan sa Pivotal ug nangutana: “Aduna bay mga problema niini? Ngano nga wala’y gidugang nga gi-optimize nga pag-cluster sa lamesa? Siya miingon: “Imong kuhaon ang datos. Pag-sort nimo, pag-usab ka. Trabaho lang kini." Ako: "Oh, oo, kinahanglan nimo nga kuhaon kini ug buhaton kini." Siya miingon: “Oo, gikinahanglan nato ang libreng mga kamot sa pagbuhat niini.” Naghunahuna ko nga kinahanglan gyud nakong buhaton kini.

Ug paglabay sa pipila ka bulan nagsumite ako usa ka hangyo sa pagbitad nga nagpatuman niini nga pagpaandar. Kini nga hangyo sa pagbitad gisusi sa Pivotal kauban ang komunidad. Siyempre, adunay mga bug.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Apan ang labing makaiikag nga butang mao nga kung kini nga hangyo sa pagbitad gihiusa, nakit-an ang mga bug sa Greenplum mismo. Among nakit-an nga ang mga heap table usahay makaguba sa transactionality kung gi-cluster. Ug kini usa ka butang nga kinahanglan nga ayohon. Ug naa siya sa lugar nga bag-o lang nako nahikap. Ug ang akong natural nga reaksyon mao - okay, tugoti ako nga buhaton usab kini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Giayo nako kini nga bug. Nagpadala ug pull request sa mga fixer. Gipatay siya.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Pagkahuman niini nahimo nga kini nga pagpaandar kinahanglan makuha sa bersyon sa Greenplum alang sa PostgreSQL 12. Sa ato pa, ang 20-minuto nga adventure nagpadayon sa bag-ong makapaikag nga mga panimpalad. Makapaikag ang paghikap sa karon nga pag-uswag, diin ang komunidad nagputol sa bag-o ug labing hinungdanon nga mga bahin. Nagyelo kini.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

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

Apan wala kini matapos didto. Pagkahuman sa tanan, nahibal-an nga kinahanglan namon isulat ang dokumentasyon alang sa tanan niini.

Nagsugod ko sa pagsulat og dokumentasyon. Suwerte, ang mga dokumentaryo gikan sa Pivotal miabut. English ang ilang lumad nga pinulongan. Gitabangan ko nila sa dokumentasyon. Sa pagkatinuod, sila mismo ang misulat pag-usab sa akong gisugyot ngadto sa tinuod nga English.

Ug dinhi, ingon og, natapos ang adventure. Ug nahibal-an ba nimo kung unsa ang nahitabo? Ang mga lalaki gikan sa taxi miduol kanako ug miingon: “Aduna pay duha ka adventure, matag usa sulod sa 10 minutos.” Ug unsa ang akong isulti kanila? Miingon ko nga karon maghatag ko og report sa sukod, unya atong makita ang imong mga panimpalad, tungod kay kini usa ka makapaikag nga trabaho.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Unsay atong nakat-onan niini nga kaso? Tungod kay ang pagtrabaho kauban ang bukas nga gigikanan kanunay nga nagtrabaho kauban ang usa ka piho nga tawo, kini kanunay nga nagtrabaho kauban ang komunidad. Tungod kay sa matag yugto nagtrabaho ko sa pipila ka developer, pipila ka tester, pipila ka hacker, pipila ka dokumentaryo, pipila ka arkitekto. Wala ko nagtrabaho sa Greenplum, nagtrabaho ko sa mga tawo sa palibot sa Greenplum.

Apan! Adunay laing importante nga punto - trabaho lang. Kana mao, moabut ka, moinom og kape, pagsulat og code. Ang tanan nga mga matang sa yano nga mga invariant nagtrabaho. Buhata kini sa kasagaran - kini maayo! Ug kini usa ka makapaikag nga trabaho. Adunay hangyo alang niini nga trabaho gikan sa mga kliyente sa Yandex.Cloud, mga tiggamit sa among mga cluster sa sulod sa Yandex ug sa gawas. Ug sa akong hunahuna nga ang gidaghanon sa mga proyekto nga atong giapilan modaghan ug ang kalawom sa atong pag-apil modaghan usab.

Mao ra. Mopadayon ta sa mga pangutana.

Unsa ug nganong gibuhat namo sa mga database sa Open Source. Andrey Borodin (Yandex.Cloud)

Mga pangutana nga sesyon

Hello! Naa tay laing pangutana ug tubag nga sesyon. Ug sa studio Andrei Borodin. Kini ang tawo nga nagsulti kanimo bahin sa kontribusyon sa Yandex.Cloud ug Yandex sa bukas nga gigikanan. Ang among report karon dili sa bug-os bahin sa Cloud, apan sa samang higayon gibase kami sa maong mga teknolohiya. Kung wala ang imong gibuhat sa sulod sa Yandex, wala’y serbisyo sa Yandex.Cloud, busa salamat gikan kanako sa personal. Ug ang una nga pangutana gikan sa sibya: "Unsa ang gisulat sa matag usa sa mga proyekto nga imong gihisgutan?"

Ang backup nga sistema sa WAL-G gisulat sa Go. Usa kini sa mga bag-ong proyekto nga among gitrabaho. Siya literal nga 3 ka tuig ang edad. Ug ang usa ka database kanunay bahin sa kasaligan. Ug kini nagpasabut nga ang mga database medyo karaan na ug kini kasagaran gisulat sa C. Ang proyekto sa Postgres nagsugod mga 30 ka tuig na ang milabay. Unya ang C89 mao ang husto nga pagpili. Ug ang Postgres nasulat niini. Ang mas modernong mga database sama sa ClickHouse sagad gisulat sa C++. Ang tanan nga pag-uswag sa sistema gibase sa palibot sa C ug C ++.

Usa ka pangutana gikan sa among tagdumala sa pinansya, nga responsable sa mga gasto sa Cloud: "Ngano nga naggasto ang Cloud sa pagsuporta sa open source?"

Adunay usa ka yano nga tubag alang sa tagdumala sa pinansyal dinhi. Gibuhat namo kini aron mahimong mas maayo ang among mga serbisyo. Sa unsa nga mga paagi kita makahimo og mas maayo? Kita makahimo sa mga butang nga mas episyente, mas paspas, ug makahimo sa mga butang nga mas scalable. Apan alang kanamo, kini nga istorya nag-una bahin sa pagkakasaligan. Pananglitan, sa usa ka backup nga sistema among girepaso ang 100% sa mga patch nga magamit niini. Nahibal-an namon kung unsa ang code. Ug mas komportable kami nga ilunsad ang mga bag-ong bersyon sa produksiyon. Kana mao, una sa tanan, kini mahitungod sa pagsalig, mahitungod sa pagkaandam alang sa kalamboan ug mahitungod sa kasaligan

Laing pangutana: "Ang mga kinahanglanon ba sa mga eksternal nga tiggamit nga nagpuyo sa Yandex.Cloud lahi sa mga internal nga tiggamit nga nagpuyo sa internal nga Cloud?"

Ang load profile, siyempre, lahi. Apan gikan sa punto sa panglantaw sa akong departamento, ang tanan nga mga espesyal ug makapaikag nga mga kaso gibuhat sa usa ka non-standard load. Ang mga developers nga adunay imahinasyon, mga developers nga nagbuhat sa wala damha, lagmit nga makit-an sa sulod ug sa gawas. Niining bahina, kitang tanan halos managsama ra. Ug, tingali, ang bugtong importante nga bahin sa sulod sa Yandex nga operasyon sa mga database mao nga sa sulod sa Yandex kita adunay pagtudlo. Sa pipila ka mga punto, ang pipila ka mga availability zone hingpit nga moadto sa anino, ug ang tanan nga mga serbisyo sa Yandex kinahanglan nga magpadayon sa paglihok bisan pa niini. Kini usa ka gamay nga kalainan. Apan nagmugna kini og daghang pag-uswag sa panukiduki sa interface sa database ug network stack. Kung dili, ang mga eksternal ug internal nga pag-install makamugna sa parehas nga mga hangyo alang sa mga bahin ug parehas nga mga hangyo alang sa pagpauswag sa kasaligan ug pasundayag.

Sunod nga pangutana: "Unsa ang imong personal nga gibati bahin sa kamatuoran nga kadaghanan sa imong gibuhat gigamit sa ubang mga Cloud?" Dili namo hinganlan ang mga espisipiko, apan daghang mga proyekto nga gihimo sa Yandex.Cloud gigamit sa mga panganod sa ubang mga tawo.

Nindot ni. Una, kini usa ka timaan nga nakahimo kita og usa ka butang nga husto. Ug kini nagkuniskunis sa ego. Ug mas masaligon kami nga nakahimo kami sa husto nga desisyon. Sa laing bahin, kini ang paglaum nga sa umaabot nga kini magdala kanato og bag-ong mga ideya, bag-ong mga hangyo gikan sa mga tiggamit sa ikatulo nga partido. Kadaghanan sa mga isyu sa GitHub gimugna sa indibidwal nga mga tigdumala sa sistema, indibidwal nga mga DBA, indibidwal nga mga arkitekto, indibidwal nga mga inhenyero, apan usahay ang mga tawo nga adunay sistematikong kasinatian moabut ug moingon nga sa 30% sa pipila ka mga kaso aduna kita niini nga problema ug atong hunahunaon kung unsaon kini pagsulbad. Kini ang labing gipaabut namon. Kami nagpaabut sa pagpaambit sa mga kasinatian sa ubang mga cloud platform.

Daghan ka nga naghisgot bahin sa marathon. Nahibal-an ko nga nagdagan ka usa ka marathon sa Moscow. Ingong resulta? Na-overtake ang mga lalaki gikan sa PostgreSQL?

Dili, si Oleg Bartunov kusog kaayo modagan. Nauna siya nakog usa ka oras. Sa kinatibuk-an, nalipay ko kung unsa ka layo ang akong naabot. Para nako, ang paghuman lang kay achievement na. Sa kinatibuk-an, katingad-an nga adunay daghang mga runner sa postgres community. Para nako adunay usa ka matang sa relasyon tali sa aerobic sports ug sa tinguha alang sa mga sistema sa programming.

Nag-ingon ka ba nga walay mga runner sa ClickHouse?

I know for sure nga naa sila. Ang ClickHouse usa usab ka database. Pinaagi sa dalan, si Oleg karon nagsulat kanako: "Mangadto ba kita sa pagdagan human sa taho?" Nindot ni nga ideya.

Laing pangutana gikan sa sibya gikan sa Nikita: "Ngano nga imong giayo ang bug sa Greenplum sa imong kaugalingon ug wala kini gihatag sa mga juniors?" Tinuod, dili kaayo klaro kung unsa ang bug ug kung asa nga serbisyo, apan tingali nagpasabut kini sa imong gihisgutan.

Oo, sa prinsipyo, kini mahimong gihatag sa usa ka tawo. Ang code ra ang akong giusab. Ug natural nga ipadayon kini dayon. Sa prinsipyo, ang ideya sa pagpaambit sa kahanas sa team usa ka maayong ideya. Magpaambit gyud kami sa mga buluhaton sa Greenplum sa tanan nga miyembro sa among dibisyon.

Tungod kay naghisgot kami bahin sa mga junior, ania ang usa ka pangutana. Ang tawo nakahukom sa paghimo sa unang commit sa Postgres. Unsa ang kinahanglan niyang buhaton aron mahimo ang una nga pasalig?

Kini usa ka makapaikag nga pangutana: "Asa magsugod?" Kasagaran lisud ang pagsugod sa usa ka butang sa kernel. Sa Postgres, pananglitan, adunay usa ka lista sa buhaton. Apan sa pagkatinuod, kini usa ka panid sa ilang gisulayan nga buhaton, apan wala molampos. Kini mga komplikado nga mga butang. Ug kasagaran makit-an nimo ang pipila ka mga utilities sa ekosistema, pipila ka mga extension nga mahimong mapauswag, nga dili kaayo makadani sa atensyon gikan sa mga developer sa kernel. Ug, sumala niana, adunay daghang mga punto alang sa pagtubo didto. Sa Google Summer of code program, kada tuig ang postgres community nagbutang sa unahan sa daghang lain-laing mga hilisgutan nga mahimong matubag. Karong tuiga kami adunay, sa akong hunahuna, tulo ka mga estudyante. Nagsulat pa ang usa sa WAL-G sa mga hilisgutan nga hinungdanon alang sa Yandex. Sa Greenplum, ang tanan mas simple kaysa sa Postgres nga komunidad, tungod kay ang mga hacker sa Greenplum nagtratar pag-ayo sa mga hangyo sa pagbitad ug nagsugod dayon sa pagrepaso. Ang pagpadala sa usa ka patch sa Postgres usa ka butang sa mga bulan, apan ang Greenplum moabut sa usa ka adlaw ug makita kung unsa ang imong nahimo. Ang laing butang mao nga kinahanglan sulbaron sa Greenplum ang mga problema karon. Dili kaylap nga gigamit ang Greenplum, mao nga lisud ang pagpangita sa imong problema. Ug una sa tanan, kinahanglan naton sulbaron ang mga problema, siyempre.

Source: www.habr.com