Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Саҳми Яндекс ба пойгоҳи додаҳои зерин баррасӣ карда мешавад.

  • кликхона
  • Odyssey
  • Барқароршавӣ то лаҳзаи вақт (WAL-G)
  • PostgreSQL (аз ҷумла хатогиҳо, Amcheck, heapcheck)
  • сабз

Видео:

Салом Ҷаҳон! Номи ман Андрей Бородин аст. Ва он чизе ки ман дар Yandex.Cloud мекунам, ин таҳияи пойгоҳи додаҳои реляционии кушода ба манфиати муштариёни Yandex.Cloud ва Yandex.Cloud мебошад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Дар ин сӯҳбат, мо дар бораи мушкилоте сӯҳбат хоҳем кард, ки дар миқёси пойгоҳи додаҳои кушода дучор мешаванд. Чаро муҳим аст? Зеро мушкилоти андак ва андаке, ки мисли магасҳо, баъд фил мешаванд. Вақте ки шумо кластерҳои зиёд доред, онҳо калон мешаванд.

Аммо ин чизи асосй нест. Ҳодисаҳои аҷиб рӯй медиҳанд. Ҳодисаҳое, ки дар як миллион ҳолат рӯй медиҳанд. Ва дар муҳити абрӣ, шумо бояд ба ин омода бошед, зеро вақте ки чизе дар миқёс вуҷуд дорад, чизҳои аҷиб эҳтимолияти зиёд пайдо мекунанд.

Аммо! Бартарии пойгоҳи додаҳои кушода чист? Гап дар сари он аст, ки шумо барои халли хар як проблема имконияти назариявй доред. Шумо рамзи сарчашма доред, шумо дониши барномасозӣ доред. Мо онро якҷоя мекунем ва он кор мекунад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Кадом равишҳо дар кор бо нармафзори кушодаасос вуҷуд доранд?

  • Роҳи осонтарин истифодаи нармафзор аст. Агар шумо протоколҳоро истифода баред, агар шумо стандартҳоро истифода баред, агар шумо форматҳоро истифода баред, агар шумо дар нармафзори кушодаасос дархост нависед, шумо аллакай онро дастгирӣ мекунед.
  • Шумо экосистемаи онро калонтар мекунед. Шумо эҳтимолияти ошкор кардани барвақти хатогиро зиёдтар мекунед. Шумо эътимоднокии ин системаро зиёд мекунед. Шумо дастрасии таҳиягаронро дар бозор зиёд мекунед. Шумо ин нармафзорро такмил медиҳед. Шумо аллакай саҳмгузор ҳастед, агар шумо навакак услуби худро пайдо карда бошед ва дар он ҷо бо чизе кор карда бошед.
  • Равиши дигари фаҳмо сарпарастии нармафзори кушодаасос мебошад. Масалан, барномаи маъруфи Google Summer of Code, вақте ки Google ба шумораи зиёди донишҷӯён аз тамоми ҷаҳон пулҳои фаҳмо пардохт мекунад, то онҳо лоиҳаҳои нармафзори кушодаеро таҳия кунанд, ки ба талаботи муайяни иҷозатномадиҳӣ ҷавобгӯ бошанд.
  • Ин як равиши хеле ҷолиб аст, зеро он имкон медиҳад, ки нармафзор бидуни тағир додани таваҷҷӯҳ аз ҷомеа таҳаввул кунад. Google, ҳамчун як бузургҷуссаи технологӣ, намегӯяд, ки мо ин хусусиятро мехоҳем, мо мехоҳем ин хатогиро ислоҳ кунем ва мо бояд он ҷо кобед. Google мегӯяд: "Он чи мекунед, кунед. Танҳо тавре кор кунед, ки шумо кор мекардед ва ҳама чиз хуб мешавад."
  • Равиши навбатии иштирок дар манбаи кушода ин иштирок аст. Вақте ки шумо дар нармафзори кушодаасос мушкилот доред ва таҳиягарон ҳастанд, таҳиягарони шумо ба ҳалли мушкилот шурӯъ мекунанд. Онҳо инфрасохтори шуморо самараноктар, барномаҳои шуморо тезтар ва боэътимодтар мекунанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Яке аз лоиҳаҳои машҳуртарини Яндекс дар соҳаи нармафзори кушодаасос ClickHouse мебошад. Ин пойгоҳи додаҳоест, ки ҳамчун посух ба мушкилоте, ки Yandex.Metrica дучор мешаванд, таваллуд шудааст.

Ва ҳамчун пойгоҳи додаҳо, он дар манбаи кушода бо мақсади эҷоди экосистема ва таҳияи он дар якҷоягӣ бо дигар таҳиягарон (на танҳо дар дохили Яндекс) сохта шудааст. Ва ҳоло ин як лоиҳаи бузург аст, ки дар он бисёр ширкатҳои гуногун ҷалб шудаанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Дар Yandex.Cloud, мо ClickHouse-ро дар болои анбори объекти Yandex, яъне дар болои анбори абрӣ сохтем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Чаро ин дар абр муҳим аст? Зеро ҳама гуна пойгоҳи додаҳо дар ин секунҷа, дар ин пирамида, дар ин иерархияи намудҳои хотира кор мекунад. Шумо регистрҳои зуд, вале хурд ва арзон SSD-ҳои калон, вале суст, дискҳои сахт ва баъзе дигар дастгоҳҳои блок доред. Ва агар шумо дар болои пирамида самаранок бошед, пас шумо базаи зуд доред. агар шумо дар поёни ин пирамида самаранок бошед, пас шумо як пойгоҳи додаҳои миқёсӣ доред. Ва дар ин росто, аз поён илова кардани қабати дигар як равиши мантиқӣ барои афзоиши миқёспазирии пойгоҳи додаҳост.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Инро чй тавр кардан мумкин буд? Ин нуктаи муҳим дар ин гузориш аст.

  • Мо метавонем ClickHouse-ро бар MDS татбиқ кунем. MDS интерфейси дохилии нигоҳдории абрии Yandex. Он аз протоколи маъмулии S3 мураккабтар аст, аммо он барои дастгоҳи блок мувофиқтар аст. Барои сабти маълумот беҳтар аст. Он барномасозии бештарро талаб мекунад. Барномасозон барномарезӣ мекунанд, ин ҳатто хуб аст, ҷолиб аст.
  • S3 як равиши бештар маъмул аст, ки интерфейсро бо арзиши камтар мутобиқ шудан ба намудҳои муайяни сарбории корӣ соддатар мекунад.

Табиист, ки мехостем ба тамоми экосистемаи ClickHouse функсионалӣ фароҳам оварем ва вазифаеро, ки дар дохили Yandex.Cloud лозим аст, иҷро кунем, мо тасмим гирифтем, ки тамоми ҷомеаи ClickHouse аз он баҳра хоҳанд бурд. Мо ClickHouse-ро бар S3 татбиқ кардем, на ClickHouse бар MDS. Ва ин кори бисьёр аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Истинодҳо:

https://github.com/ClickHouse/ClickHouse/pull/7946 "Қабати абстраксияи системаи файлӣ"
https://github.com/ClickHouse/ClickHouse/pull/8011 "Интегратсияи AWS SDK S3"
https://github.com/ClickHouse/ClickHouse/pull/8649 "Татбиқи асосии интерфейси IDisk барои S3"
https://github.com/ClickHouse/ClickHouse/pull/8356 "Интегратсияи муҳаррикҳои нигоҳдории гузоришҳо бо интерфейси IDisk"
https://github.com/ClickHouse/ClickHouse/pull/8862 "Дастгирии муҳаррики сабт барои S3 ва SeekableReadBuffer"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Дастгирии Stripe Log S3"
https://github.com/ClickHouse/ClickHouse/pull/9415 "Дастгирии ибтидоии Storage MergeTree барои S3"
https://github.com/ClickHouse/ClickHouse/pull/9646 "Дастгирии пурраи MergeTree барои S3"
https://github.com/ClickHouse/ClickHouse/pull/10126 "Дастгирии ReplicatedMergeTree аз болои S3"
https://github.com/ClickHouse/ClickHouse/pull/11134 "Илова кардани маълумоти пешфарз ва сарлавҳаҳои фармоишӣ барои нигаҳдории s3"
https://github.com/ClickHouse/ClickHouse/pull/10576 "S3 бо конфигуратсияи прокси динамикӣ"
https://github.com/ClickHouse/ClickHouse/pull/10744 "S3 бо ҳалли прокси"

Ин як рӯйхати дархост барои татбиқи системаи файлии виртуалӣ дар ClickHouse аст. Ин шумораи зиёди дархостҳои ҷалб аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Истинодҳо:

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 татбиқи оптималии истинодҳои сахт"
https://github.com/ClickHouse/ClickHouse/pull/11522 "Мизоҷи S3 HTTP - Аз нусхабардории ҷараёни посух ба хотира худдорӣ кунед"
https://github.com/ClickHouse/ClickHouse/pull/11561 "Аз нусхабардории тамоми ҷараёни посух ба хотира дар S3 HTTP худдорӣ кунед
муштарӣ"
https://github.com/ClickHouse/ClickHouse/pull/13076 "Имконияти кэш кардани файлҳои аломат ва индексатсия барои диски S3"
https://github.com/ClickHouse/ClickHouse/pull/13459 "Ҷисмҳоро аз DiskLocal ба DiskS3 параллел интиқол диҳед"

Аммо кор бо ин тамом нашуд. Пас аз он ки ин хусусият сохта шуд, барои оптимизатсияи ин функсия кори бештар лозим шуд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Истинодҳо:

https://github.com/ClickHouse/ClickHouse/pull/12638 "Илова кардани рӯйдодҳои SelectedRows ва SelectedBytes"
https://github.com/ClickHouse/ClickHouse/pull/12464 "Илова кардани рӯйдодҳои профилактикӣ аз дархости S3 ба system.events"
https://github.com/ClickHouse/ClickHouse/pull/13028 "Илова кардани QueryTimeMicroseconds, SelectQueryTimeMicroseconds ва InsertQueryTimeMicroseconds"

Ва он гоҳ зарур буд, ки онро ташхис карда, мониторингро ба роҳ монем ва онро идорашаванда гардонем.

Ва ҳамаи ин ба тавре анҷом дода шуд, ки тамоми ҷомеа, тамоми экосистемаи ClickHouse натиҷаи ин корро қабул кунанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Биёед ба пойгоҳи додаҳои транзаксионӣ, ба пойгоҳи додаҳои OLTP, ки шахсан ба ман наздиктаранд, гузарем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Ин шӯъбаи таҳияи DBMS-и кушода аст. Ин бачаҳо ҷодугарии кӯчаро барои беҳтар кардани пойгоҳи додаҳои кушоди транзаксионӣ мекунанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Яке аз лоиҳаҳое, ки бо истифода аз намунае, ки мо метавонем дар бораи чӣ гуна ва чӣ кор кунем сӯҳбат кунем, Пойлер пайвастшавӣ дар Postgres мебошад.

Postgres пойгоҳи додаҳои раванд аст. Ин маънои онро дорад, ки пойгоҳи додаҳо бояд то ҳадди имкон камтар пайвастҳои шабакавӣ дошта бошанд, ки транзаксияҳоро иҷро мекунанд.

Аз тарафи дигар, дар муҳити абрӣ, вазъияти маъмулӣ он аст, ки ҳазорҳо пайвастҳо якбора ба як кластер меоянд. Ва вазифаи пулатори пайвастшавӣ бастабандии ҳазор пайваст ба шумораи ками пайвастҳои сервер мебошад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо гуфта метавонем, ки пулаки пайвастшавӣ оператори телефонист, ки байтҳоро аз нав танзим мекунад, то онҳо ба пойгоҳи додаҳо самаранок бирасанд.

Мутаассифона, калимаи хуби русӣ барои пайвасткунаки пулак вуҷуд надорад. Баъзан онро пайвастҳои мултиплексӣ меноманд. Агар шумо донед, ки пулатори пайвасткуниро чӣ гуна номидан лозим аст, пас ҳатман ба ман бигӯед, ки ман хеле хушҳолам, ки бо забони техникии русии дуруст ҳарф занам.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

https://pgconf.ru/2017/92899

Мо пулҳои пайвасткуниро тафтиш кардем, ки барои кластери postgres идорашаванда мувофиқ буданд. Ва PgBouncer беҳтарин интихоб барои мо буд. Аммо мо бо PgBouncer ба як қатор мушкилот дучор шудем. Солҳои зиёд пеш Володя Бородин гузориш дода буд, ки мо PgBouncer-ро истифода мебарем, ба мо ҳама чиз маъқул аст, аммо нозукиҳо ҳастанд, чизе барои кор кардан вуҷуд дорад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ва мо кор кардем. Мо мушкилотеро, ки дучор шуда будем, ҳал кардем, Bouncer-ро ислоҳ кардем ва кӯшиш кардем, ки дархостҳоро ба боло интиқол диҳем. Аммо бо як риштаи бунёдӣ кор кардан душвор буд.

Мо маҷбур шудем, ки каскадҳоро аз Bouncers часпонидашуда ҷамъ кунем. Вақте ки мо бисёр Боунсерҳои як ришта дорем, пайвастҳои қабати боло ба қабати ботинии Bouncers интиқол дода мешаванд. Ин як системаи суст идорашаванда аст, ки сохтан ва васеъ карданаш душвор аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо ба хулосае омадем, ки мо пулатори пайвасти худро, ки Одиссей ном дорад, офаридаем. Мо онро аз сифр навиштем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Дар соли 2019, дар конфронси PgCon, ман ин пулакро ба ҷомеаи таҳиягарон пешниҳод кардам. Ҳоло мо дар GitHub каме камтар аз 2 ситора дорем, яъне лоиҳа зинда аст, лоиҳа маъмул аст.

Ва агар шумо дар Yandex.Cloud як кластери Postgres эҷод кунед, он гоҳ он кластер бо Odyssey-и дарунсохт хоҳад буд, ки ҳангоми васеъ кардани кластер ба ақиб ё пеш аз нав танзим карда мешавад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо аз ин лоиҳа чӣ омӯхтаем? Оғози лоиҳаи рақобат ҳамеша як қадами хашмгин аст, вақте ки мо мегӯем, ки мушкилоте ҳастанд, ки ба қадри кофӣ зуд ҳал намешаванд, дар фосилаҳои вақт, ки ба мо мувофиқанд, ҳал намешаванд. Аммо ин тадбири самарабахш аст.

PgBouncer тезтар инкишоф ёфт.

Ва ҳоло лоиҳаҳои дигар пайдо шуданд. Масалан, pgagroal, ки аз ҷониби таҳиягарони Red Hat таҳия шудааст. Онҳо ҳадафҳои шабеҳро пайгирӣ мекунанд ва ғояҳои шабеҳро амалӣ мекунанд, аммо, албатта, бо хусусиятҳои худ, ки ба таҳиягарони pgagroal наздиктаранд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Ҳодисаи дигари кор бо ҷомеаи postgres ин барқарорсозӣ ба як вақт аст. Ин барқароршавӣ пас аз нокомӣ, ин барқароршавӣ аз нусхабардорӣ аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Нусхаҳои зиёде мавҷуданд ва онҳо ҳама гуногунанд. Қариб ҳар як фурӯшандаи Postgres ҳалли эҳтиётии худро дорад.

Агар шумо ҳамаи системаҳои эҳтиётиро гиред, матритсаи хусусият эҷод кунед ва детерминантро дар ин матритса шӯхӣ ҳисоб кунед, он сифр мешавад. Ин чӣ маъно дорад? Чӣ мешавад, агар шумо як файли эҳтиётии мушаххасро гиред, пас онро аз қисмҳои дигар ҷамъ овардан мумкин нест. Вай дар амалй гардондани он, аз чихати максад, дар идеяхое, ки дар он чойгир шудаанд, беназир аст. Ва ҳамаи онҳо мушаххасанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ҳангоме ки мо рӯи ин масъала кор мекардем, CitusData лоиҳаи WAL-G-ро оғоз кард. Ин як системаи эҳтиётӣ аст, ки бо назардошти муҳити абр сохта шудааст. Ҳоло CitusData аллакай як қисми Microsoft мебошад. Ва дар он лаҳза ба мо ғояҳое, ки дар нашрияҳои аввалини WAL-G оварда шудаанд, хеле писанд омад. Ва мо саҳмгузорӣ дар ин лоиҳаро оғоз кардем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ҳоло дар ин лоиҳа даҳҳо таҳиягарон мавҷуданд, аммо ба 10 саҳмгузорони беҳтарини WAL-G 6 Яндексоид дохил мешаванд. Мо бисёр идеяҳои худро ба он ҷо овардем. Ва, албатта, мо онҳоро худамон амалӣ кардем, худамон санҷидем, худамон онҳоро дар истеҳсолот ҷорӣ кардем, худамон онҳоро истифода мебарем ва худамон мефаҳмем, ки минбаъд ба куҷо ҳаракат кунем, ҳангоми ҳамкорӣ бо ҷомеаи бузурги WAL-G.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Ва аз нуқтаи назари мо, ҳоло ин системаи эҳтиётӣ, аз ҷумла бо назардошти кӯшишҳои мо, барои муҳити абрӣ оптималӣ шудааст. Ин беҳтарин арзиши нусхабардории Postgres дар абр аст.

Ин чӣ маъно дорад? Мо як идеяи хеле калонро пешбарӣ мекардем: нусхабардорӣ бояд бехатар, арзон барои кор ва ҳарчи зудтар барқарор карда шавад.

Чаро амалиёт бояд арзон бошад? Вақте ки ҳеҷ чиз вайрон нашудааст, шумо набояд бидонед, ки шумо нусхаҳои эҳтиётӣ доред. Ҳама чиз хуб кор мекунад, шумо CPU то ҳадди имкон камро сарф мекунед, захираҳои диски худро ба қадри имкон кам истифода мебаред ва ба шабака ҳарчи камтар байт мефиристед, то ба сарбории хидматҳои арзишманди шумо халал нарасонед.

Ва вақте ки ҳама чиз мешиканад, масалан, администратор маълумотро партофтааст, чизе хато кард ва шумо фавран бояд ба гузашта баргардед, шумо бо тамоми пул барқарор мешавед, зеро шумо мехоҳед маълумоти худро зуд ва бетағйир баргардонед.

Ва мо ин идеяи оддиро таргиб кардем. Ва, ба назари мо, мо онро ба амал бароварда тавонистем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Аммо ин ҳама нест. Мо боз як чизи хурде мехостем. Мо бисёр базаҳои гуногунро мехостем. На ҳама муштариёни мо Postgres-ро истифода мебаранд. Баъзе одамон MySQL, MongoDB -ро истифода мебаранд. Дар ҷомеа, дигар таҳиягарон FoundationDB-ро дастгирӣ карданд. Ва ин рӯйхат мунтазам васеъ мешавад.

Ҷомеа идеяи дар муҳити идорашавандаи абр иҷро кардани пойгоҳи додаҳоро дӯст медорад. Ва таҳиягарон пойгоҳи додаҳои худро нигоҳ медоранд, ки онҳоро бо Postgres бо системаи эҳтиётии мо яксон нусхабардорӣ кардан мумкин аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо аз ин ҳикоя чӣ омӯхтаем? Маҳсулоти мо, ҳамчун шӯъбаи рушд, сатрҳои код нест, он изҳорот нест, он файл нест. Маҳсулоти мо дархости ҷалб нест. Ин идеяҳое мебошанд, ки мо ба ҷомеа мерасонем. Ин таҷрибаи технологӣ ва ҳаракати технология ба муҳити абрӣ мебошад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Чунин пойгоҳи додаҳо ба монанди Postgres вуҷуд дорад. Ба ман бештар асосии Postgres маъқул аст. Ман вақти зиёдро барои таҳияи асосии Postgres бо ҷомеа сарф мекунам.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Аммо дар ин ҷо бояд гуфт, ки Yandex.Cloud дорои насби дохилии пойгоҳи додаҳои идорашаванда мебошад. Ва он муддати тӯлонӣ дар Yandex.Mail оғоз ёфт. Таҷрибае, ки ҳоло ба Postgres идорашаванда оварда расонд, вақте ҷамъ карда шуд, ки почта мехост ба Postgres гузарад.

Почта ба абр талаботҳои хеле монанд дорад. Он ба шумо лозим аст, ки дар ҳама нуқтаи маълумоти шумо ба афзоиши экспоненсиалии ғайричашмдошт миқёс дошта бошед. Ва почта аллакай бо садҳо миллион қуттиҳои почтаи шумораи зиёди корбарон, ки пайваста дархостҳои зиёд пешниҳод мекунанд, бор мекард.

Ва ин барои гурӯҳе, ки Postgres-ро таҳия мекард, як мушкили ҷиддӣ буд. Он вақтҳо дар бораи мушкилоте, ки мо дучор мешудем, ба ҷомеа хабар медоданд. Ва ин мушкилот дар баъзе ҷойҳо ҳатто дар сатҳи дастгирии пулакӣ барои баъзе базаҳои дигар ва ҳатто беҳтар аз ҷониби ҷомеа ислоҳ ва ислоҳ карда шуданд. Яъне шумо метавонед ба хакери PgSQL нома фиристед ва дар давоми 40 дақиқа посух гиред. Дастгирии пулакӣ дар баъзе пойгоҳи додаҳо метавонад фикр кунад, ки чизҳои афзалиятноктар аз хатогиҳои шумо ҳастанд.

Ҳоло насби дохилии Postgres чанд петабайт маълумот аст. Инҳо миллионҳо дархостҳо дар як сония мебошанд. Инҳо ҳазорҳо кластерҳо мебошанд. Ин хеле васеъ аст.

Аммо як нозуки вуҷуд дорад. Он на дар дискҳои шабакавии зебо, балки дар сахтафзори хеле оддӣ зиндагӣ мекунад. Ва як муҳити санҷишӣ барои чизҳои нави ҷолиб вуҷуд дорад.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Ва дар лаҳзаи муайян дар муҳити санҷиш мо паёме гирифтем, ки нишон медиҳад, ки инвариантҳои дохилии индексҳои пойгоҳи додаҳо вайрон карда шудаанд.

Инвариант як навъ муносибатест, ки мо интизори онро ҳамеша нигоҳ дорем.

Вазъияти хеле вазнин барои мо. Ин нишон медиҳад, ки баъзе маълумотҳо гум шудаанд. Ва талафоти маълумот як чизи фалокатбор аст.

Идеяи умумие, ки мо дар пойгоҳи додаҳои идорашаванда пайравӣ мекунем, ин аст, ки ҳатто бо кӯшиш, гум кардани маълумот душвор хоҳад буд. Ҳатто агар шумо дидаву дониста онҳоро хориҷ кунед, ба шумо лозим меояд, ки набудани онҳоро дар муддати тӯлонӣ сарфи назар кунед. Амнияти маълумот динест, ки мо ба таври ҷиддӣ пайравӣ мекунем.

Ва дар ин ҷо вазъияте ба миён меояд, ки аз он шаҳодат медиҳад, ки шояд вазъияте вуҷуд дошта бошад, ки мо ба он омода набошем. Ва мо ба ин вазъият омодагӣ гирифтем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Аввалин коре, ки мо кардем, гӯр кардани чӯбҳои ин ҳазорон кластер буд. Мо фаҳмидем, ки кадоме аз кластерҳо дар дискҳои дорои нармафзори мушкилие ҷойгир шудаанд, ки навсозиҳои саҳифаи маълумотро аз даст медиҳанд. Ҳама рамзи маълумоти Postgres қайд карда шудааст. Ва мо он паёмҳоро, ки вайронкунии инвариантҳои дохилиро нишон медиҳанд, бо коде, ки барои ошкор кардани фасоди маълумот пешбинӣ шудааст, қайд кардем.

Ин пачкаро чамъият бе мухокимаи зиёд амалан кабул кард, зеро дар хар як холати конкретй маълум буд, ки ходисаи нохуш руй додааст ва ба журнал хабар додан лозим буд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Пас аз ин, мо ба нуктае расидем, ки мо мониторинг дорем, ки гузоришҳоро скан мекунад. Ва дар сурати омадани паёмҳои шубҳанок навбатдорро аз хоб бедор мекунад ва навбатдор онро таъмир мекунад.

Аммо! Сканкунии гузоришҳо як амалиёти арзон дар як кластер аст ва барои ҳазор кластер ба таври фалокатбор гарон аст.

Мо як васеъкуниро бо номи худ навиштем Логерҳо. Он намуди пойгоҳи додаҳоро эҷод мекунад, ки дар он шумо метавонед омори хатогиҳои гузаштаро бо нархи арзон ва зуд интихоб кунед. Ва агар ба мо лозим ояд, ки навбатдорро бедор кунем, пас мо дар ин бора бидуни скан кардани файлҳои гигабайтӣ, балки бо гирифтани чанд байт аз ҷадвали ҳаш маълум хоҳем шуд.

Ин тамдид, масалан, дар репозиторий барои CentOS. Агар шумо хоҳед, ки онро истифода баред, шумо метавонед онро худатон насб кунед. Албатта, он манбаи кушода аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[почтаи электронӣ ҳифз карда шудааст]

Аммо ин ҳама нест. Мо ба истифодабарии Amcheck, як тамдиди аз ҷониби ҷомеа сохташуда, барои дарёфти вайронкуниҳои инвариант дар индексҳо оғоз кардем.

Ва мо фаҳмидем, ки агар шумо онро дар миқёс кор кунед, хатогиҳо мавҷуданд. Мо ба ислоҳи онҳо шурӯъ кардем. Ислоххои мо кабул карда шуданд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[почтаи электронӣ ҳифз карда шудааст]

Мо фаҳмидем, ки ин васеъшавӣ индексҳои GiST ва GIT-ро таҳлил карда наметавонад. Мо онҳоро дастгирӣ кардем. Аммо ин дастгирӣ ҳоло ҳам аз ҷониби ҷомеа баррасӣ мешавад, зеро ин як функсияи нисбатан нав аст ва дар он тафсилоти зиёде мавҷуданд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ва мо инчунин фаҳмидем, ки ҳангоми тафтиши нишондиҳандаҳо барои вайронкуниҳо дар пешвои реплика, дар усто ҳама чиз хуб кор мекунад, аммо дар репликаҳо, дар пайравӣ, ҷустуҷӯи фасод чандон муассир нест. На ҳама инвариантҳо тафтиш карда мешаванд. Ва як инвариант моро хеле ба ташвиш овард. Ва мо якуним солро бо ҷомеа муошират кардем, то ин санҷиши репликаҳоро фаъол созем.

Мо код навиштем, ки бояд ҳама протоколҳои can... риоя кунанд. Мо ин часпакро муддати тӯлонӣ бо Питер Гаган аз Crunchy Data муҳокима кардем. Ба ӯ лозим омад, ки дарахти мавҷудаи B-ро дар Postgres каме тағир диҳад, то ин пачкаро қабул кунад. Уро кабул карданд. Ва ҳоло тафтиши индексатсияҳо дар репликаҳо барои ошкор кардани қонуншикание, ки мо дучор шудаем, ба қадри кофӣ муассир гардид. Яъне, ин вайронкуниҳоест, ки метавонанд аз хатогиҳо дар нармафзори диск, хатоҳо дар Postgres, хатоҳо дар ядрои Linux ва мушкилоти сахтафзор ба вуҷуд оянд. Рӯйхати хеле васеи манбаъҳои мушкилоте, ки мо барои онҳо омода карда будем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Аммо ба ғайр аз индексҳо, чунин қисме вуҷуд дорад, ба монанди теппа, яъне ҷойе, ки маълумот дар он нигоҳ дошта мешавад. Ва инвариантҳои зиёде вуҷуд надоранд, ки онҳоро тафтиш кардан мумкин аст.

Мо васеъшавӣ дорем бо номи Heapcheck. Мо ба таҳияи он шурӯъ кардем. Ва дар баробари ин, дар якҷоягӣ бо мо, ширкати EnterpriseDB низ ба навиштани модул шурӯъ кард, ки онҳо онро Heapcheck низ ҳамин тавр номиданд. Танҳо мо онро PgHeapcheck номидем ва онҳо танҳо онро Heapcheck номиданд. Онҳо онро бо вазифаҳои шабеҳ, имзои каме фарқ мекунанд, аммо бо як идеяҳо. Онхоро дар баъзе чойхо каме бехтар ба амал бароварданд. Ва онҳо қаблан онро дар манбаи кушода нашр карда буданд.

Ва акнун мо экспансияро инкишоф дода истодаем, зеро ин дигар васеъшавии онхо не, балки васеъшавии чамъият аст. Ва дар оянда, ин як қисми ядроест, ки ба ҳама дода мешавад, то онҳо дар бораи мушкилоти оянда пешакӣ огоҳ бошанд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Дар баъзе чойхо мо хатто ба хулосае омадем, ки дар системахои мониторинги мо позитивхои бардуруг мавчуданд. Масалан, системаи 1С. Ҳангоми истифодаи пойгоҳи додаҳо, Postgres баъзан ба он маълумот менависад, ки хонда метавонад, аммо pg_dump хонда наметавонад.

Ин вазъ дар системаи муайянкунии мушкилоти мо ба фасод монанд буд. Навбатдор аз хоб бедор шуд. Навбатчй ба чй вокеа нигарист. Пас аз чанде муштарӣ омада гуфт, ки мушкил дорам. Корманд фаҳмонд, ки мушкил дар чист. Аммо мушкилот дар асосии Postgres аст.

Ман муҳокима дар бораи ин хусусият пайдо кардам. Ва навиштааст, ки мо ба ин хусусият дучор шудем ва нохушоянд аст, шахс шаб аз хоб бедор шуд, то бидонад, ки ин чӣ аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ҷамъият ҷавоб дод: "Оҳ, мо дар ҳақиқат бояд онро ислоҳ кунем."

Ман як қиёси оддӣ дорам. Агар шумо дар пойафзоле рафтор кунед, ки дар он донаи қум мавҷуд аст, пас, дар асл, шумо метавонед ҳаракат кунед - ҳеҷ мушкиле нест. Агар шумо ба хазорон одамон мӯза мефурӯшед, пас биёед мӯзаро умуман бе рег созем. Ва агар яке аз корбарони пойафзоли шумо ба марафон рафтанӣ бошад, пас шумо мехоҳед пойафзоли хеле хуб созед ва сипас онҳоро ба ҳамаи корбарони худ васеъ кунед. Ва чунин корбарони ғайричашмдошт ҳамеша дар муҳити абрӣ ҳастанд. Ҳамеша корбароне ҳастанд, ки кластерро ба таври аслӣ истифода мебаранд. Шумо бояд ҳамеша ба ин омода шавед.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо дар ин ҷо чӣ омӯхтаем? Мо як чизи оддиро фахмидем: аз хама мухимаш ба ахли чамъият фахмондан аст, ки мушкиле вучуд дорад. Агар ҷомеа мушкилотро эътироф карда бошад, пас рақобати табиӣ барои ҳалли мушкилот ба миён меояд. Зеро хар як масъалаи мухимро хал кардан мехохад. Ҳама фурӯшандагон, ҳама ҳакерҳо мефаҳманд, ки худашон метавонанд ба ин раке қадам зананд, бинобар ин онҳо мехоҳанд, ки онҳоро нест кунанд.

Агар шумо дар болои мушкилот кор карда истода бошед, аммо он ба ҷуз шумо касеро ташвиш намедиҳад, аммо шумо дар он мунтазам кор мекунед ва дар ниҳоят он мушкилот ҳисобида мешавад, дархости ҷалби шумо ҳатман қабул карда мешавад. Ямоқи шумо қабул карда мешавад, такмилдиҳии шумо ё ҳатто дархостҳо барои такмилдиҳӣ аз ҷониби ҷомеа баррасӣ карда мешаванд. Дар охири рӯз мо базаро барои ҳамдигар беҳтар месозем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Як пойгоҳи ҷолиб Greenplum мебошад. Ин як махзани хеле мувозӣ дар асоси коди Postgres аст, ки ман бо он хеле ошно ҳастам.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ва Greenplum дорои функсияҳои ҷолиб аст - ҷадвалҳои оптимизатсияшударо замима кунед. Ин ҷадвалҳо ҳастанд, ки шумо метавонед ба зудӣ илова кунед. Онҳо метавонанд сутун ё сатр бошанд.

Аммо кластеркунӣ вуҷуд надошт, яъне ягон функсия вуҷуд надошт, ки шумо метавонед маълумоти дар ҷадвал ҷойгиршударо мувофиқи тартиби дар яке аз индексҳо ҷойгиршуда ба тартиб дароред.

Бачаҳои такси ба назди ман омада гуфтанд: «Андрей, ту Постгресро мешиносӣ. Ва дар ин ҷо тақрибан якхела аст. Ба 20 дақиқа гузаред. Шумо онро гиред ва ин корро кунед ». Ман фикр мекардам, ки ҳа, ман Postgres-ро медонам, ки 20 дақиқа иваз карда мешавад - ман бояд ин корро кунам.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Аммо не, ин 20 дақиқа набуд, ман онро дар тӯли моҳҳо навиштам. Дар конфронси PgConf.Russia, ман ба Ҳейкки Линакангас аз Пивотал муроҷиат кардам ва пурсидам: "Оё дар ин ҷо ягон мушкилот вуҷуд дорад? Чаро кластеркунии ҷадвалҳои оптимизатсияшудаи замима вуҷуд надорад?" Ӯ мегӯяд: «Шумо маълумотро мегиред. Шумо ҷудо мекунед, шумо аз нав тартиб медиҳед. Ин танҳо як кор аст." Ман: "Оҳ, бале, ба шумо танҳо лозим аст, ки онро гиред ва ин корро кунед." Ӯ мегӯяд: «Бале, барои ин ба мо дастони озод лозим аст». Ман фикр мекардам, ки ман бояд ин корро анҷом диҳам.

Ва пас аз чанд моҳ ман дархостеро пешниҳод кардам, ки ин функсияро амалӣ мекунад. Ин дархости ҷалб аз ҷониби Pivotal якҷоя бо ҷомеа баррасӣ шуд. Албатта, хатогиҳо буданд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Аммо ҷолибтарин чиз ин аст, ки вақте ки ин дархости кашидан якҷоя карда шуд, дар худи Greenplum хатогиҳо пайдо шуданд. Мо дарёфтем, ки мизҳои теппа баъзан ҳангоми кластерӣ транзаксияро вайрон мекунанд. Ва ин чизест, ки бояд ислоҳ карда шавад. Ва вай дар он ҷое, ки ман навам ламс кардам. Ва вокуниши табиии ман ин буд - хуб, иҷозат диҳед, ки ман ҳам ин корро кунам.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Ман ин хатогиро ислоҳ кардам. Ба таъмиргарон дархости кашидан фиристод. Ӯ кушта шуд.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Пас аз он маълум шуд, ки ин функсия бояд дар версияи Greenplum барои PostgreSQL 12 ба даст оварда шавад. Яъне саёҳати 20-дақиқаӣ бо моҷароҳои нави ҷолиб идома дорад. Тавассути рушди кунунӣ ҷолиб буд, ки ҷомеа хусусиятҳои нав ва муҳимтаринро бурида истодааст. Он ях кардааст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

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

Аммо кор бо ин тамом нашуд. Баъд аз ҳама маълум шуд, ки барои ҳамаи ин ҳуҷҷатҳо навиштан лозим аст.

Ман ба навиштани ҳуҷҷатҳо шурӯъ кардам. Хушбахтона, ҳуҷҷатнависони Pivotal омаданд. Забони англисӣ забони модарии онҳост. Онҳо ба ман дар ҳуҷҷатгузорӣ кӯмак карданд. Дарвоқеъ, онҳо худашон он чизеро, ки ман пешниҳод кардам, ба забони воқеии англисӣ аз нав навиштанд.

Ва дар ин ҷо, ба назар мерасад, саёҳат ба охир расид. Ва ту медонӣ, ки он вақт чӣ шуд? Бачаҳои такси ба назди ман омада гуфтанд: "Ҳанӯз ду саргузашт ҳаст, ки ҳар кадомаш 10 дақиқа аст." Ва ман бояд ба онҳо чӣ гӯям? Ман гуфтам, ки ҳоло ман дар бораи миқёс гузориш медиҳам, пас мо саргузаштҳои шуморо мебинем, зеро ин кори ҷолиб аст.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Мо аз ин ҳодиса чӣ дарс гирифтем? Азбаски кор бо манбаи кушода ҳамеша бо шахси мушаххас кор мекунад, он ҳамеша бо ҷомеа кор мекунад. Зеро дар ҳар як марҳила ман бо баъзе таҳиякунанда, баъзе озмоишгар, баъзе ҳакерҳо, баъзе ҳуҷҷатсозон, баъзе меъморҳо кор мекардам. Ман бо Greenplum кор накардаам, ман бо одамони атрофи Greenplum кор мекардам.

Аммо! Боз як нуқтаи муҳим вуҷуд дорад - ин танҳо кор аст. Ин аст, ки шумо биёед, қаҳва менӯшед, код нависед. Ҳама навъҳои инвариантҳои оддӣ кор мекунанд. Онро одатан иҷро кунед - хуб мешавад! Ва ин кори хеле ҷолиб аст. Барои ин кор аз муштариёни Yandex.Cloud, корбарони кластерҳои мо ҳам дар дохили Яндекс ва ҳам берун аз он дархост шудааст. Ва ман фикр мекунам, ки шумори лоиҳаҳое, ки мо дар он ширкат меварем, зиёд мешавад ва умқи иштироки мо низ афзоиш хоҳад ёфт.

Ҳамааш ҳамин. Биёед ба саволҳо гузарем.

Чӣ ва чаро мо дар пойгоҳи додаҳои кушодаасос чӣ кор мекунем. Андрей Бородин (Yandex.Cloud)

Сеанси саволҳо

Салом! Боз як саволу ҷавоб дорем. Ва дар студия Андрей Бородин. Ин шахсест, ки танҳо ба шумо дар бораи саҳми Yandex.Cloud ва Яндекс ба кушодаасос нақл кард. Ҳоло гузориши мо комилан дар бораи Абр нест, аммо дар айни замон мо ба чунин технологияҳо асос ёфтаем. Бе он чизе, ки шумо дар дохили Яндекс кардед, дар Yandex.Cloud ягон хидмат вуҷуд надошт, аз ин рӯ шахсан аз ман ташаккур. Ва саволи аввал аз пахш: "Ҳар як лоиҳае, ки шумо зикр кардед, дар бораи чӣ навишта шудааст?"

Системаи эҳтиётӣ дар WAL-G дар Go навишта шудааст. Ин яке аз лоиҳаҳои навтарини мост. Ӯ аслан ҳамагӣ 3 сола аст. Ва базаи маълумот аксар вақт дар бораи эътимоднокӣ аст. Ва ин маънои онро дорад, ки пойгоҳи додаҳо хеле кӯҳнаанд ва онҳо одатан дар C навишта мешаванд. Лоиҳаи Postgres тақрибан 30 сол пеш оғоз шудааст. Пас C89 интихоби дуруст буд. Ва дар он Postgres навишта шудааст. Пойгоҳҳои муосири бештар ба монанди ClickHouse одатан дар C++ навишта мешаванд. Ҳама таҳияи система дар атрофи C ва C++ асос ёфтааст.

Савол аз менеҷери молиявии мо, ки барои хароҷот дар Cloud масъул аст: "Чаро Cloud барои дастгирии манбаи кушода пул сарф мекунад?"

Дар ин ҷо барои мудири молиявӣ ҷавоби оддӣ мавҷуд аст. Мо инро барои беҳтар кардани хидматҳои худ мекунем. Бо кадом роҳҳо мо метавонем беҳтар кор кунем? Мо метавонем корҳоро самараноктар, зудтар анҷом диҳем ва миқёспазиртар кунем. Аммо барои мо, ин ҳикоя пеш аз ҳама дар бораи эътимоднокӣ аст. Масалан, дар системаи эҳтиётӣ мо 100% часбҳоеро, ки ба он дахл доранд, баррасӣ мекунем. Мо медонем, ки код чист. Ва мо бароҳаттар ҳастем, ки версияҳои навро ба истеҳсолот паҳн кунем. Яъне, пеш аз ҳама, сухан дар бораи эътимод, дар бораи омодагӣ ба рушд ва эътимод аст

Саволи дигар: "Оё талаботи корбарони беруние, ки дар Yandex.Cloud зиндагӣ мекунанд, аз корбарони дохилие, ки дар Абри дохилӣ зиндагӣ мекунанд, фарқ мекунанд?"

Профили сарборӣ, албатта, гуногун аст. Аммо аз нуктаи назари шуъбаи ман хамаи кор-хои махсусу шавковар аз руи бори гайристандартй сохта мешаванд. Таҳиягарони дорои хаёлот, таҳиягароне, ки ғайричашмдошт мекунанд, эҳтимолан ҳам дар дохил ва ҳам берунӣ пайдо мешаванд. Дар ин бобат хамаи мо такрибан як хелем. Ва, эҳтимолан, ягона хусусияти муҳим дар дохили Яндекс дар пойгоҳи додаҳо он аст, ки дар дохили Яндекс мо таълим дорем. Дар баъзе мавридҳо, баъзе минтақаи дастрас комилан ба соя меафтад ва ҳама хидматҳои Яндекс бояд бо вуҷуди ин кор кунанд. Ин фарқияти хурд аст. Аммо он дар интерфейси пойгоҳи додаҳо ва стеки шабака бисёр корҳои тадқиқотиро ба вуҷуд меорад. Дар акси ҳол, насбҳои беруна ва дохилӣ дархостҳои якхела барои хусусиятҳо ва дархостҳои шабеҳро барои баланд бардоштани эътимоднокӣ ва иҷроиш тавлид мекунанд.

Саволи навбатӣ: "Шумо шахсан дар бораи он, ки аксари корҳое, ки шумо мекунед, аз ҷониби абрҳои дигар истифода мешавад, чӣ гуна ҳис мекунед?" Мо баъзеи онҳоро номбар намекунем, аммо бисёре аз лоиҳаҳое, ки дар Yandex.Cloud иҷро шудаанд, дар абрҳои одамони дигар истифода мешаванд.

Ин сард аст. Якум, ин нишонаи он аст, ки мо кори дуруст кардаем. Ва он egoро харошида мекунад. Ва мо бештар боварӣ дорем, ки қарори дуруст қабул кардем. Аз тарафи дигар, ин умед аст, ки дар оянда ин ба мо ғояҳои нав, дархостҳои нави корбарони тарафи сеюм меорад. Аксари масъалаҳо дар GitHub аз ҷониби маъмурони системаҳои инфиродӣ, DBA-ҳои инфиродӣ, меъморони инфиродӣ, муҳандисони инфиродӣ эҷод мешаванд, аммо баъзан одамоне, ки таҷрибаи мунтазам доранд, меоянд ва мегӯянд, ки дар 30% ҳолатҳои муайян мо ин мушкилот дорем ва биёед дар бораи чӣ гуна ҳал кардани он фикр кунем. Ин чизест, ки мо бештар интизори он ҳастем. Мо бесаброна интизори мубодилаи таҷриба бо платформаҳои абрии дигар.

Шумо дар бораи марафон бисёр гап задед. Ман медонам, ки шумо дар Маскав марафон давидаед. Дар натиҷа? Оё бачаҳо аз PostgreSQL гузашт?

Не, Олег Бартунов хеле тез медавад. Вай як соат пеш аз ман тамом кард. Умуман, ман аз он ки чӣ қадар дур рафтам, қаноатмандам. Барои ман танҳо хатм кардан як дастовард буд. Дар маҷмӯъ, тааҷҷубовар аст, ки дар ҷомеаи postgres давандагони зиёде ҳастанд. Ба назари ман, байни варзишҳои аэробикӣ ва хоҳиши барномасозии системаҳо як навъ робита вуҷуд дорад.

Оё шумо мегӯед, ки дар ClickHouse давандагон нестанд?

Ман аниқ медонам, ки онҳо дар он ҷо ҳастанд. ClickHouse инчунин як пойгоҳи додаҳост. Воқеан, Олег ҳоло ба ман менависад: «Оё аз паи гузориш ба давидан равем?». Ин як идеяи бузург аст.

Саволи дигар аз пахши Никита: "Чаро шумо хатогиро дар Greenplum худатон ислоҳ кардед ва онро ба наврасон надодед?" Дуруст аст, он қадар равшан нест, ки хатогӣ чист ва дар кадом хидмат, аммо ин эҳтимол маънои он чизеро, ки шумо дар бораи он гуфтед, ифода мекунад.

Бале, принципан онро ба касе додан мумкин буд. Ин танҳо рамзе буд, ки ман нав иваз кардам. Ва табиист, ки фавран ин корро давом дихед. Аслан, идеяи мубодилаи таҷриба бо даста фикри хуб аст. Мо бешубҳа вазифаҳои Greenplumро дар байни ҳамаи аъзоёни шӯъбаи худ мубодила хоҳем кард.

Азбаски мо дар бораи наврасон гап мезанем, ин ҷо як савол аст. Ин шахс тасмим гирифт, ки аввалин ӯҳдадориро дар Postgres эҷод кунад. Вай барои ичрои ухдадории аввалин чй кор кардан лозим аст?

Ин саволи ҷолиб аст: "Аз куҷо бояд оғоз кард?" Оғози кор бо чизе дар ядро ​​​​одатан хеле душвор аст. Масалан, дар Postgres рӯйхати корҳо мавҷуд аст. Аммо дар асл ин варақаи он чизест, ки онҳо кӯшиш карданд, аммо муваффақ нашуданд. Ин чизҳои мураккабанд. Ва одатан шумо метавонед дар экосистема баъзе утилитаҳо пайдо кунед, баъзе васеъкуниҳо, ки метавонанд такмил дода шаванд, ки таваҷҷӯҳи камтари таҳиягарони ядроро ҷалб мекунанд. Ва, мутаносибан, дар он ҷо нуқтаҳои бештари афзоиш вуҷуд доранд. Дар барномаи Google Summer of code, ҳар сол ҷомеаи postgres мавзӯъҳои мухталиферо пешниҳод мекунад, ки онҳоро метавон ҳал кард. Имсол, ба фикрам, мо се талаба доштем. Яке ҳатто дар WAL-G дар мавзӯъҳое навиштааст, ки барои Яндекс муҳиманд. Дар Greenplum, ҳама чиз назар ба ҷомеаи Postgres соддатар аст, зеро ҳакерҳои Greenplum ба дархостҳои кашидан хеле хуб муносибат мекунанд ва фавран ба баррасӣ оғоз мекунанд. Фиристодани ямоқи ба Postgres чанд моҳ аст, аммо Greenplum дар як рӯз меояд ва бубинед, ки шумо чӣ кор кардаед. Чизи дигар ин аст, ки Greenplum бояд мушкилоти ҷорӣро ҳал кунад. Greenplum ба таври васеъ истифода намешавад, бинобар ин пайдо кардани мушкилоти шумо хеле душвор аст. Ва пеш аз хама, мо бояд масъалахоро хал кунем, албатта.

Манбаъ: will.com