{"id":78887,"date":"2020-04-22T19:42:51","date_gmt":"2020-04-22T17:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov"},"modified":"2020-04-22T19:42:51","modified_gmt":"2020-04-22T17:42:51","slug":"wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","title":{"rendered":"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Ju ofroj t\u00eb njohni p\u00ebrkthimin e raportit t\u00eb fillimit t\u00eb vitit 2020 nga Georgiy Rylov \"WAL-G: mund\u00ebsit\u00eb e reja dhe zgjerimi i komunitetit\"<\/strong><\/p>\n<p><\/p>\n<p>Maintainer\u00ebt e open-source hasin shum\u00eb probleme me rritjen e tyre. Si t\u00eb shkruajm\u00eb gjithnj\u00eb e m\u00eb shum\u00eb ve\u00e7ori t\u00eb k\u00ebrkuara, t\u00eb rregullojm\u00eb gjithnj\u00eb e m\u00eb shum\u00eb probleme dhe t\u00eb arrijm\u00eb t\u00eb shqyrtojm\u00eb gjithnj\u00eb e m\u00eb shum\u00eb k\u00ebrkesa t\u00eb t\u00ebrheqjes? N\u00eb shembullin e WAL-G (mjeti i backup p\u00ebr PostgreSQL) do t\u00eb flas p\u00ebr m\u00ebnyr\u00ebn se si zgjidh\u00ebm k\u00ebto probleme duke nisur nj\u00eb kurs p\u00ebr zhvillimin Open-source n\u00eb universitet, \u00e7far\u00eb arrit\u00ebm dhe ku do t\u00eb shkojm\u00eb m\u00eb pas.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/c76e27949b782480284ab52791fdfe15.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>P\u00ebrs\u00ebri p\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve! Un\u00eb jam zhvillues n\u00eb Yandex nga Ekaterinburg. Dhe sot do t'u flas p\u00ebr WAL-G.<\/p>\n<p><\/p>\n<p>N\u00eb titullin e referatit nuk u tha se \u00ebsht\u00eb di\u00e7ka n\u00eb lidhje me backup-et. A ka ndonj\u00eb q\u00eb nuk e di \u00e7far\u00eb \u00ebsht\u00eb WAL-G? Apo t\u00eb gjith\u00eb e din\u00eb? Ngriheni dor\u00ebn n\u00ebse nuk e dini. Wow, erdh\u00ebt n\u00eb referat dhe nuk e dini p\u00ebr \u00e7far\u00eb \u00ebsht\u00eb.<\/p>\n<p><\/p>\n<p>Le t\u00eb flas p\u00ebr at\u00eb q\u00eb do t\u00eb ndodh\u00eb sot. Rasti \u00ebsht\u00eb i till\u00eb q\u00eb ekipi yn\u00eb \u00ebsht\u00eb angazhuar prej shum\u00eb koh\u00ebsh n\u00eb backup-ing. Dhe ky \u00ebsht\u00eb nj\u00eb tjet\u00ebr referat n\u00eb serin\u00eb ku ne flasim p\u00ebr m\u00ebnyrat se si ruajm\u00eb t\u00eb dh\u00ebnat n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb sigurt, t\u00eb besueshme, t\u00eb leht\u00eb dhe efektive.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/4307e7b2acc60cd908d91e3f1b83a9b6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00eb serit\u00eb e m\u00ebparshme ka pasur shum\u00eb referate nga Andrey Borodin, Vladimir Leskov. Ne ishim shum\u00eb. Dhe t\u00eb gjith\u00eb kemi folur p\u00ebr WAL-G p\u00ebr shum\u00eb vite. <\/p>\n<p><\/p>\n<p>clck.ru\/F8ioz \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2018\/abstracts\/3964\">https:\/\/www.highload.ru\/moscow\/2018\/abstracts\/3964<\/a><\/noindex><\/p>\n<p><\/p>\n<p>clck.ru\/Ln8Qw \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\/5981\">https:\/\/www.highload.ru\/moscow\/2019\/abstracts\/5981<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Ky referat do t\u00eb distingoj\u00eb pak nga t\u00eb tjer\u00ebt, sepse atje kishte p\u00ebr m\u00eb shum\u00eb pjes\u00ebn teknike, nd\u00ebrsa k\u00ebtu do t\u00eb tregoj p\u00ebr problemet q\u00eb p\u00ebrball\u00ebm lidhur me rritjen e komunitetit. Dhe si u mendua nj\u00eb ide e vog\u00ebl q\u00eb na ndihmon t\u00eb p\u00ebrballojm\u00eb k\u00ebt\u00eb. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/ec728f7d99ea9b6a5df4785d7e8a2a75.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Disa vite m\u00eb par\u00eb, WAL-G ishte nj\u00eb projekt mjaft i vog\u00ebl, q\u00eb na erdhi nga Citus Data. Dhe ne e mor\u00ebm at\u00eb. Dhe dikush e zhvillonte vet\u00ebm.<\/p>\n<p><\/p>\n<p>Dhe vet\u00ebm n\u00eb WAL-G mungonte:<\/p>\n<p><\/p>\n<ul>\n<li>Backup-i nga replika.<\/li>\n<li>Nuk kishte backup-e inkrementale.<\/li>\n<li>Nuk kishte backup-e WAL-Delta. <\/li>\n<li>Dhe kishte shum\u00eb m\u00eb tep\u00ebr q\u00eb mungonte.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>N\u00eb k\u00ebto disa vite, WAL-G \u00ebsht\u00eb rritur shum\u00eb.<\/strong> <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/16700dfcc2c54539c5a064894cd1ec88.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dhe deri n\u00eb vitin 2020, gjith\u00e7ka e p\u00ebrmendur m\u00eb sip\u00ebr kishte dal\u00eb. Dhe p\u00ebr k\u00ebt\u00eb \u00ebsht\u00eb shtuar se tani kemi:<\/p>\n<p><\/p>\n<ul>\n<li>M\u00eb shum\u00eb se 1,000 yje n\u00eb GitHub.<\/li>\n<li>150 fork-e.<\/li>\n<li>Rreth 15 PR t\u00eb hapur.<\/li>\n<li>Dhe shum\u00eb kontribues t\u00eb tjer\u00eb. <\/li>\n<li>Dhe issues t\u00eb hapura vazhdimisht. Dhe kjo ndodh kur ne p\u00ebrdit\u00eb bazojm\u00eb, b\u00ebjm\u00eb di\u00e7ka me k\u00ebt\u00eb. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/5e5dea14b328a7f0437017ca834d1eaf.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dhe ne erdh\u00ebm n\u00eb p\u00ebrfundimin se ky projekt k\u00ebrkon m\u00eb shum\u00eb v\u00ebmendjen ton\u00eb, madje edhe kur ne vet\u00eb nuk na nevojitet t\u00eb realizojm\u00eb di\u00e7ka p\u00ebr sh\u00ebrbimin ton\u00eb Managed Databases n\u00eb Yandex.<\/p>\n<p><\/p>\n<p>Dhe diku n\u00eb vjesht\u00ebn e vitit 2018, na erdhi nj\u00eb ide. Zakonisht, ekipi ka disa m\u00ebnyra p\u00ebr t\u00eb zhvilluar disa ve\u00e7ori, p\u00ebr t\u00eb riparuar gabimet, n\u00ebse nuk keni mjaft njer\u00ebz. P\u00ebr shembull, mund t\u00eb pun\u00ebsoni nj\u00eb zhvillues t\u00eb ri dhe t'i paguani atij para. Ose mund t\u00eb merrni nj\u00eb praktikant p\u00ebr nj\u00eb periudh\u00eb kohe dhe gjithashtu t'i paguani atij nj\u00eb pag\u00eb. Por ka gjithashtu nj\u00eb grup t\u00eb madh njer\u00ebzish, disa prej t\u00eb cil\u00ebve tashm\u00eb din\u00eb t\u00eb shkruajn\u00eb kod. Thjesht nuk e dini gjithmon\u00eb se \u00e7far\u00eb cil\u00ebsie ka ky kod.<\/p>\n<p><\/p>\n<p>Ne menduam dhe vendos\u00ebm t\u00eb p\u00ebrpiqemi t\u00eb t\u00ebrheqim student\u00eb. Por student\u00ebt nuk do t\u00eb marrin pjes\u00eb n\u00eb gjith\u00e7ka. Ata do t\u00eb b\u00ebjn\u00eb vet\u00ebm nj\u00eb pjes\u00eb t\u00eb pun\u00ebs. Dhe, p\u00ebr shembull, do t\u00eb shkruajn\u00eb teste, do t\u00eb riparojn\u00eb gabimet, do t\u00eb realizojn\u00eb ve\u00e7ori q\u00eb nuk prekin funksionalitetin kryesor. Funkcionaliteti kryesor \u00ebsht\u00eb krijimi i kopjeve rezerv\u00eb dhe rikthimi i kopjeve rezerv\u00eb. N\u00ebse lejohet nj\u00eb gabim n\u00eb krijimin e nj\u00eb kopje rezerv\u00eb, do t\u00eb kemi humbje t\u00eb t\u00eb dh\u00ebnave. Dhe askush nuk do t\u00eb d\u00ebshironte q\u00eb kjo t\u00eb ndodhte. T\u00eb gjith\u00eb duan q\u00eb gjith\u00e7ka t\u00eb jet\u00eb shum\u00eb e besueshme. Prandaj, ne sigurisht q\u00eb nuk d\u00ebshirojm\u00eb t\u00eb lejojm\u00eb kodin q\u00eb i besojm\u00eb m\u00eb pak se tonin ton\u00eb t\u00eb hyj\u00eb atje. Pra, \u00e7do kod jo kritik \u2013 \u00ebsht\u00eb ajo q\u00eb do t\u00eb d\u00ebshironim t\u00eb merrnim nga duar t\u00eb tjera t\u00eb pun\u00ebs.<\/p>\n<p><\/p>\n<p><strong>N\u00ebn cilat kushte pranohet PR i student\u00ebve<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Ata jan\u00eb t\u00eb detyruar t\u00eb mbulojn\u00eb kodin e tyre me teste. Gjith\u00e7ka duhet t\u00eb kaloj\u00eb n\u00eb CI. <\/li>\n<li>Dhe gjithashtu kalojm\u00eb 2 rishikime. Nj\u00eb nga Andrei Borodin dhe nj\u00eb nga un\u00eb. <\/li>\n<li>Dhe p\u00ebrve\u00e7 k\u00ebsaj, p\u00ebr t\u00eb kontrolluar se kjo nuk do t\u00eb prish\u00eb asgj\u00eb n\u00eb sh\u00ebrbimin ton\u00eb, un\u00eb ngarkoj ve\u00e7mas nj\u00eb nd\u00ebrtim me k\u00ebt\u00eb angazhim. Dhe ne kontrollojm\u00eb n\u00eb testet end-to-end, q\u00eb asgj\u00eb nuk d\u00ebshtonte.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Kurs i ve\u00e7ant\u00eb p\u00ebr Open Source<\/strong><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/58832406f3acdf294cd68e6adde14ec8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pak p\u00ebr at\u00eb se p\u00ebrse \u00ebsht\u00eb e nevojshme dhe pse kjo, m\u00eb duket, \u00ebsht\u00eb nj\u00eb ide e shk\u00eblqyer. <\/p>\n<p><\/p>\n<p><strong>P\u00ebr ne, p\u00ebrfitimi \u00ebsht\u00eb i qart\u00eb:<\/strong> <\/p>\n<p><\/p>\n<ul>\n<li>Ne marrim duar t\u00eb tjera. <\/li>\n<li>Dhe k\u00ebrkojm\u00eb kandidat\u00eb p\u00ebr ekip nga student\u00eb t\u00eb zellsh\u00ebm q\u00eb shkruajn\u00eb kod t\u00eb zellsh\u00ebm. <\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Cili \u00ebsht\u00eb p\u00ebrfitimi p\u00ebr student\u00ebt?<\/strong><\/p>\n<p><\/p>\n<p>Ata mund t\u00eb jen\u00eb m\u00eb pak t\u00eb duksh\u00ebm, sepse student\u00ebt, t\u00eb pakt\u00ebn, nuk marrin para p\u00ebr kodin q\u00eb shkruajn\u00eb, por vet\u00ebm nota n\u00eb regjistrin e tyre. <\/p>\n<p><\/p>\n<p>I pyeta rreth k\u00ebsaj. Dhe sipas fjal\u00ebve t\u00eb tyre:<\/p>\n<p><\/p>\n<ul>\n<li>P\u00ebrvoja e kontribuesit n\u00eb Open Source.<\/li>\n<li>T\u00eb marrin nj\u00eb rresht n\u00eb CV.<\/li>\n<li>T\u00eb shp\u00ebrthejn\u00eb veten dhe t\u00eb kalojn\u00eb nj\u00eb intervist\u00eb n\u00eb Yandex.<\/li>\n<li>T\u00eb b\u00ebhen pjes\u00ebmarr\u00ebs t\u00eb GSoC.<\/li>\n<li>+1 kurs i ve\u00e7ant\u00eb p\u00ebr ata q\u00eb duan t\u00eb shkruajn\u00eb kod.<\/li>\n<\/ul>\n<p><\/p>\n<p>Nuk do t\u00eb flas p\u00ebr m\u00ebnyr\u00ebn se si ishte organizuar kursi. Sidoqoft\u00eb, do t\u00eb them se WAL-G ishte projekti kryesor. Po ashtu, n\u00eb k\u00ebt\u00eb kurs p\u00ebrfshim\u00eb projekte si Odyssey, PostgreSQL dhe ClickHouse.<\/p>\n<p><\/p>\n<p>Dhe ne kemi dh\u00ebn\u00eb detyra jo vet\u00ebm n\u00eb k\u00ebt\u00eb kurs, por kemi ndar\u00eb edhe diploma dhe pun\u00eb m\u00eb projekte.<\/p>\n<p><\/p>\n<p><strong>Dhe \u00e7far\u00eb p\u00ebrfitimi ka p\u00ebr p\u00ebrdoruesit?<\/strong><\/p>\n<p><\/p>\n<p>Tani le t\u00eb kalojm\u00eb n\u00eb pjes\u00ebn q\u00eb me siguri ju intereson. \u00c7far\u00eb p\u00ebrfitoni ju nga kjo? P\u00ebrfitimi \u00ebsht\u00eb se student\u00ebt kan\u00eb rregulluar shum\u00eb bugs. Dhe kan\u00eb b\u00ebr\u00eb k\u00ebrkesa p\u00ebr ve\u00e7ori q\u00eb i kishit k\u00ebrkuar. <\/p>\n<p><\/p>\n<p>Dhe le t\u00eb flas p\u00ebr gj\u00ebra q\u00eb ju i keni d\u00ebshiruar prej nj\u00eb kohe t\u00eb gjat\u00eb dhe q\u00eb jan\u00eb realizuar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/bb836742bf4f99e1b91c891ed1802bf0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mb\u00ebshtetje p\u00ebr tablespaces. Mb\u00ebshtetja p\u00ebr tablespaces n\u00eb WAL-G ka pritur ndoshta q\u00eb nga momenti i l\u00ebshimit t\u00eb WAL-G, sepse WAL-G \u00ebsht\u00eb pasuesi i nj\u00eb instrumenti tjet\u00ebr backup, WAL-E, ku ishin mb\u00ebshtetur kopjet rezerv\u00eb t\u00eb bazave t\u00eb t\u00eb dh\u00ebnave me tablespaces.<\/p>\n<p><\/p>\n<p>Leht\u00ebsisht t'ju kujtoj se \u00e7far\u00eb \u00ebsht\u00eb dhe pse \u00ebsht\u00eb e nevojshme. N\u00eb rregull, t\u00eb gjitha t\u00eb dh\u00ebnat e Postgres zakonisht z\u00ebn\u00eb nj\u00eb katalog t\u00eb vet\u00ebm n\u00eb sistemin e skedar\u00ebve, q\u00eb quhet katalogu baz\u00eb. Ky katalog tashm\u00eb p\u00ebrmban t\u00eb gjitha skedar\u00ebt dhe n\u00ebnkatalog\u00ebt e nevojsh\u00ebm p\u00ebr Postgres.<\/p>\n<p><\/p>\n<p>Tablespaces jan\u00eb katalog\u00eb ku ndodhen t\u00eb dh\u00ebnat e Postgres, por ato nuk ndodhen jasht\u00eb katalogut baz\u00eb. N\u00eb slajd duket se tablespacet jan\u00eb p\u00ebrtej katalogut baz\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/0f25591cfcaaeaec02903c9b98d8ac65.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Si duket kjo p\u00ebr Postgres-in vet\u00eb? N\u00eb katalogun baz\u00eb ka nj\u00eb n\u00ebnkatalog t\u00eb ve\u00e7ant\u00eb pg_tblspc. N\u00eb t\u00eb ndodhen lidhjet simbolike p\u00ebr katalog\u00ebt ku realisht ndodhen t\u00eb dh\u00ebnat e Postgres jasht\u00eb katalogut baz\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/9e9875696c03e6e42bb98b5a7a9acd75.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kur e p\u00ebrdorni t\u00eb gjith\u00eb k\u00ebt\u00eb, komandat mund t\u00eb duken k\u00ebshtu p\u00ebr ju. K\u00ebshtu, krijoni nj\u00eb tabel\u00eb n\u00eb ndonj\u00eb tablespace t\u00eb specifikuar dhe shikoni se ku ndodhet tani. K\u00ebto dy rreshta t\u00eb fundit, dy komandat e fundit t\u00eb thirrura. Dhe aty duket se ka nj\u00eb rrug\u00eb. Por n\u00eb t\u00eb v\u00ebrtet\u00eb, kjo nuk \u00ebsht\u00eb nj\u00eb rrug\u00eb e v\u00ebrtet\u00eb. Kjo \u00ebsht\u00eb nj\u00eb rrug\u00eb me prefiks nga katalogu baz\u00eb te tablespace. Dhe nga aty ajo \u00ebsht\u00eb lidhur me nj\u00eb lidhje simbolike, q\u00eb \u00e7on te t\u00eb dh\u00ebnat tuaja reale.<\/p>\n<p><\/p>\n<p>T\u00eb gjitha k\u00ebto nuk p\u00ebrdoren n\u00eb ekipin ton\u00eb, por ato jan\u00eb p\u00ebrdorur nga shum\u00eb p\u00ebrdorues t\u00eb tjer\u00eb t\u00eb WAL-E, q\u00eb na kan\u00eb shkruar se donin t\u00eb migronin n\u00eb WAL-G, por kjo i ka penguar. Tani mb\u00ebshtetet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/95ec319ccefa7e6c8bce193317407229.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nj\u00eb ve\u00e7ori tjet\u00ebr q\u00eb na solli kursi yn\u00eb special \u00ebsht\u00eb catchup. Njohin catchup ata q\u00eb ndoshta kan\u00eb punuar m\u00eb shum\u00eb me Oracle sesa me Postgres.<\/p>\n<p><\/p>\n<p>N\u00eb p\u00ebrmbledhje, \u00e7far\u00eb \u00ebsht\u00eb kjo. Nj\u00eb topologji e zakonshme e nj\u00eb klasteri n\u00eb sh\u00ebrbimin ton\u00eb mund t\u00eb duket k\u00ebshtu. Ne kemi nj\u00eb master. Ka nj\u00eb replik\u00eb q\u00eb transmeton nga ai log-un p\u00ebrpara shkrimit. Dhe reprika i thot\u00eb masterit se n\u00eb cilin LSN \u00ebsht\u00eb aktualisht. Dhe ndonj\u00ebher\u00eb, paralelisht me k\u00ebt\u00eb, mund t\u00eb arkivohet journal. P\u00ebrve\u00e7 arkivimit t\u00eb journal-it, ndodhen dhe backup-et n\u00eb cloud. Po ashtu d\u00ebrgohen dhe delta-backup-et.<\/p>\n<p><\/p>\n<p>Cila mund t\u00eb jet\u00eb problemi? Kur keni nj\u00eb baz\u00eb t\u00eb madhe, mund t\u00eb ndodh\u00eb q\u00eb replik\u00ebs t\u2019i mungoj\u00eb shum\u00eb pas masterit. Dhe ajo vonohet aq shum\u00eb, saq\u00eb kurr\u00eb nuk mund ta arrij\u00eb. K\u00ebt\u00eb problem shpeshher\u00eb duhet ta zgjidhni si\u00e7 duhet. <\/p>\n<p><\/p>\n<p>Dhe m\u00ebnyra m\u00eb e thjesht\u00eb \u2013 \u00ebsht\u00eb t\u00eb hiqni replik\u00ebn dhe ta rivendosni at\u00eb nga e para, sepse ajo kurr\u00eb nuk do ta arrij\u00eb, ndersa me problemin duhet t\u00eb merremi. Por kjo \u00ebsht\u00eb shum\u00eb e gjat\u00eb, sepse rikthimi i nj\u00eb backup t\u00eb plot\u00eb t\u00eb nj\u00eb baze prej 10 TB merr shum\u00eb, shum\u00eb koh\u00eb. Dhe na p\u00eblqen ta b\u00ebjm\u00eb k\u00ebt\u00eb sa m\u00eb shpejt t\u00eb jet\u00eb e mundur, n\u00ebse ndodhin k\u00ebto probleme. Dhe p\u00ebr k\u00ebt\u00eb \u00ebsht\u00eb e destinuar catchup.<\/p>\n<p><\/p>\n<p>Catchup lejon p\u00ebrdorimin e delta-backup-eve, q\u00eb ruajn\u00eb n\u00eb cloud n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb. Ju thoni se n\u00eb cilin LSN ndodhet tani replikat e prapambetur dhe e tregoni at\u00eb n\u00eb komand\u00ebn catchup p\u00ebr t\u00eb krijuar nj\u00eb delta-backup midis atij LSN dhe LSN ku ndodhet aktualisht klasteri juaj. Dhe pas k\u00ebsaj, e riktheni k\u00ebt\u00eb backup n\u00eb replik\u00ebn q\u00eb ishte prapambetur.<\/p>\n<p><\/p>\n<p><strong>Baza t\u00eb tjera<\/strong><\/p>\n<p><\/p>\n<p>Nj\u00ebkoh\u00ebsisht, student\u00ebt na soll\u00ebn shum\u00eb karakteristika. S\u00eb bashku me t\u00eb, ne n\u00eb Yandex rregullojm\u00eb jo vet\u00ebm Postgres, por gjithashtu kemi MySQL, MongoDB, Redis, ClickHouse, k\u00ebshtu q\u00eb n\u00eb nj\u00eb moment na nevojitej q\u00eb t\u00eb mund t\u00eb b\u00ebnim backup me rikthim n\u00eb koh\u00eb p\u00ebr MySQL, dhe q\u00eb t\u00eb kishte mund\u00ebsi p\u00ebr t\u2019i ngarkuar ato n\u00eb cloud.<\/p>\n<p><\/p>\n<p>Dhe doja t\u00eb b\u00ebja k\u00ebt\u00eb n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb ngjashme me at\u00eb q\u00eb b\u00ebn WAL-G. Dhe vendos\u00ebm t\u00eb eksperimentojm\u00eb dhe t\u00eb shohim se si do t\u00eb dukej gjith\u00e7ka.<\/p>\n<p><\/p>\n<p>N\u00eb fillim, pa e ndar\u00eb logjik\u00ebn, shkruam kodin n\u00eb nj\u00eb fork. E pam\u00eb se kishim nj\u00eb model funksional dhe kjo mund t\u00eb avancoj\u00eb. M\u00eb pas menduam se bashk\u00ebsia jon\u00eb kryesore \u00ebsht\u00eb PostgreSQL-ist\u00ebt, ata p\u00ebrdorin WAL-G. Prandaj duhet ndar\u00eb disa pjes\u00eb. Pra, kur p\u00ebrmir\u00ebsojm\u00eb kodin p\u00ebr Postgres, nuk d\u00ebmtojm\u00eb MySQL-n\u00eb, kur p\u00ebrmir\u00ebsojm\u00eb MySQL-n\u00eb, nuk d\u00ebmtojm\u00eb Postgres-in.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/deef7615eaeb0b8bd790fb253cc42312.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ideja e par\u00eb p\u00ebr t\u00eb ndar\u00eb k\u00ebt\u00eb ishte t\u00eb p\u00ebrdorej i nj\u00ebjti qasje si\u00e7 p\u00ebrdoret n\u00eb zgjerimet PostgreSQL. N\u00eb thelb, p\u00ebr t\u00eb b\u00ebr\u00eb nj\u00eb backup MySQL, ju duhej t\u00eb instalonit nj\u00eb bibliotek\u00eb dinamike. <\/p>\n<p><\/p>\n<p>Por k\u00ebtu menj\u00ebher\u00eb duket asimetri e k\u00ebtij qasjeje. Kur b\u00ebni backup p\u00ebr Postgres, ju vendosni nj\u00eb backup tool normal p\u00ebr Postgres dhe gjith\u00e7ka shkon mir\u00eb. Por p\u00ebr MySQL, rezulton se vendosni nj\u00eb backup tool p\u00ebr Postgres dhe pastaj p\u00ebr t\u00eb vendosni nj\u00eb bibliotek\u00eb dinamike p\u00ebr MySQL. Duket disi e \u00e7uditshme. Ne gjithashtu menduam k\u00ebshtu dhe vendos\u00ebm se kjo nuk ishte zgjidhja q\u00eb na nevojitej. <\/p>\n<p><\/p>\n<p><strong>Ndryshme nd\u00ebrtimet p\u00ebr Postgres, MySQL, MongoDB, Redis<\/strong><\/p>\n<p><\/p>\n<p>Por kjo na lejoi, si\u00e7 duket, t\u00eb arrijm\u00eb n\u00eb nj\u00eb zgjidhje t\u00eb sakt\u00eb \u2013 t\u00eb ve\u00e7ojm\u00eb nd\u00ebrtimet e ndryshme p\u00ebr baza t\u00eb ndryshme. Kjo lejonte izolimin e logjik\u00ebs s\u00eb lidhur me backup-et e bazave t\u00eb ndryshme t\u00eb t\u00eb dh\u00ebnave, t\u00eb cilat do t\u00eb qasen n\u00eb nj\u00eb API t\u00eb p\u00ebrbashk\u00ebt q\u00eb realizon WAL-G.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/6c810d5f065de06fc200bdd028707318.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kjo \u00ebsht\u00eb ajo pjes\u00eb q\u00eb e shkruam vet\u00eb \u2013 p\u00ebrpara se t'u jepnim student\u00ebve detyra. Pra, kjo \u00ebsht\u00eb pik\u00ebrisht ajo pjes\u00eb ku ata mund t\u00eb b\u00ebnin ndonj\u00eb gj\u00eb jo t\u00eb drejt\u00eb, prandaj vendos\u00ebm q\u00eb \u00ebsht\u00eb m\u00eb mir\u00eb ta b\u00ebjm\u00eb ne di\u00e7ka k\u00ebshtu q\u00eb gjith\u00e7ka do t\u00eb ishte n\u00eb rregull. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/3a864a85bfb820ef64cbacc029a9198c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pas k\u00ebsaj u dham\u00eb detyra. Menj\u00ebher\u00eb u mor\u00ebn ato. Nga student\u00ebt k\u00ebrkohej t\u00eb mb\u00ebshtesin tre baza. <\/p>\n<p><\/p>\n<p>Kjo \u00ebsht\u00eb MySQL, t\u00eb cil\u00ebn e b\u00ebjm\u00eb backup me WAL-G n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb p\u00ebr m\u00eb shum\u00eb se nj\u00eb vit. <\/p>\n<p><\/p>\n<p>Dhe tashm\u00eb MongoDB po i afrohet prodhimit, aty po e rafinojn\u00eb me dor\u00eb. N\u00eb thelb, ne shkruam skeletin p\u00ebr t\u00eb gjith\u00eb k\u00ebt\u00eb. M\u00eb pas student\u00ebt shkruan disa gj\u00ebra funksionale. Dhe pastaj ne i \u00e7ojm\u00eb ato n\u00eb nj\u00eb gjendje t\u00eb till\u00eb q\u00eb mund t'i pranojm\u00eb n\u00eb prodhimin ton\u00eb.<\/p>\n<p><\/p>\n<p>K\u00ebto detyra nuk dukeshin si t\u00eb nevojitej p\u00ebr student\u00ebt t\u00eb shkruanin mjete t\u00eb plota backup p\u00ebr secil\u00ebn prej k\u00ebtyre bazave. Ne nuk kishim nj\u00eb problem t\u00eb till\u00eb. Problemi yn\u00eb ishte se donim rikuperim pik\u00eb n\u00eb koh\u00eb dhe donim t\u00eb b\u00ebnim backup n\u00eb cloud. Dhe iu k\u00ebrkuam student\u00ebve t\u00eb shkruanin ndonj\u00eb kod q\u00eb do ta zgjidhte k\u00ebt\u00eb. Student\u00ebt p\u00ebrdor\u00ebn mjete ekzistuese backup, t\u00eb cilat n\u00eb nj\u00eb far\u00eb m\u00ebnyre marrin backup-e, dhe pastaj e lidh\u00ebn gjith\u00e7ka me WAL-G, e cila e d\u00ebrgonte gjith\u00e7ka n\u00eb cloud. Po ashtu, e shtuan rikuperimin pik\u00eb n\u00eb koh\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/7494aef259c7599e8bf0b70d77e1bb09.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c7far\u00eb tjet\u00ebr soll\u00ebn student\u00ebt? Ata soll\u00ebn n\u00eb WAL-G mb\u00ebshtetje p\u00ebr enkriptimin Libsodium.<\/p>\n<p><\/p>\n<p>Po ashtu, ne kemi krijuar politika p\u00ebr ruajtjen e backup-eve. Tani backup-et mund t\u00eb sh\u00ebnjohen si p\u00ebrhersh\u00ebm. Dhe ndoshta \u00ebsht\u00eb m\u00eb e leht\u00eb p\u00ebr sh\u00ebrbimin tuaj t\u00eb automatizoni procesin e ruajtjes s\u00eb tyre. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/6e932ab13dbc3119f7f1da1122443b10.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c7far\u00eb arriti ky eksperiment n\u00eb fund t\u00eb fundit?<\/p>\n<p><\/p>\n<p>Fillimisht, mbi 100 njer\u00ebz u regjistruan n\u00eb kurs. N\u00eb fillim nuk e thash\u00eb q\u00eb universiteti n\u00eb Ekaterinburg \u00ebsht\u00eb Universiteti Federal i Urals. Aty e shpall\u00ebm gjith\u00e7ka. 100 njer\u00ebz u regjistruan. N\u00eb t\u00eb v\u00ebrtet\u00eb, shum\u00eb m\u00eb pak filluan t\u00eb b\u00ebjn\u00eb di\u00e7ka, rreth 30 njer\u00ebz. <\/p>\n<p><\/p>\n<p>Kursin e mbyll\u00ebn edhe m\u00eb pak njer\u00ebz, sepse atje duhej t\u00eb shkruhen teste p\u00ebr kodet q\u00eb ishin tashm\u00eb n\u00eb dispozicion. Dhe gjithashtu t\u00eb rregullohej ndonj\u00eb bug ose t\u00eb b\u00ebhej nj\u00eb funksionalitet. Disa student\u00eb e mbyll\u00ebn gjithsesi kursin.<\/p>\n<p><\/p>\n<p>Aktualisht, p\u00ebr k\u00ebt\u00eb kurs student\u00ebt kan\u00eb rregulluar rreth 14 issues, kan\u00eb krijuar 10 funksionalitete t\u00eb ndryshme. Dhe, sipas mendimit tim, kjo \u00ebsht\u00eb nj\u00eb z\u00ebvend\u00ebsim i plot\u00eb p\u00ebr nj\u00eb ose dy zhvillues. <\/p>\n<p><\/p>\n<p>P\u00ebrve\u00e7 gjith\u00e7kaje, ne l\u00ebshuam diploma dhe pun\u00eb kursi. 12 prej tyre mor\u00ebn diplomat. 6 prej tyre u mbrojt\u00ebn me nota \u20185\u2019. P\u00ebr t\u00eb tjer\u00ebt, mbrojtjet ende nuk jan\u00eb b\u00ebr\u00eb, por mendoj se gjithashtu do t'u shkoj\u00eb mir\u00eb. <\/p>\n<p><\/p>\n<p>Planet p\u00ebr t\u00eb ardhmen<\/p>\n<p><\/p>\n<p>Cilat jan\u00eb planet tona p\u00ebr t\u00eb ardhmen?<\/p>\n<p><\/p>\n<p>T\u00eb pakt\u00ebn, ato k\u00ebrkesa p\u00ebr funksionalitete q\u00eb tashm\u00eb kemi d\u00ebgjuar nga p\u00ebrdoruesit dhe duam t'i realizojm\u00eb. K\u00ebto jan\u00eb:<\/p>\n<p><\/p>\n<ul>\n<li>Monitorimi i sakt\u00ebsis\u00eb s\u00eb gjurmimit t\u00eb linearit n\u00eb arkiv t\u00eb kopjeve rezerv\u00eb t\u00eb klasterit HA. Me ndihm\u00ebn e WAL-G, kjo mund t\u00eb b\u00ebhet. Dhe, mendoj se do t\u00eb gjejm\u00eb student\u00eb q\u00eb do ta marrin at\u00eb pun\u00eb. <\/li>\n<li>P\u00ebr transferimin e kopjeve rezerv\u00eb dhe WAL-it midis reve, ne tashm\u00eb kemi nj\u00eb person p\u00ebrgjegj\u00ebs. <\/li>\n<li>Dhe s\u00eb fundmi, ne publikuan iden\u00eb se mund ta p\u00ebrshpejtojm\u00eb akoma m\u00eb shum\u00eb WAL-G-n\u00eb p\u00ebrmes shfletimit t\u00eb kopjeve rezerv\u00eb inkrementale pa rinovimin e faqeve dhe optimizimin e arkivave q\u00eb i d\u00ebrgojm\u00eb atje. <\/li>\n<\/ul>\n<p><\/p>\n<p>Mund t\u00eb ndani ato k\u00ebtu<\/p>\n<p><\/p>\n<p>P\u00ebr \u00e7far\u00eb ishte ky raport? P\u00ebr faktin se tani, p\u00ebrve\u00e7 nesh 4 individ\u00ebve q\u00eb mb\u00ebshtesin k\u00ebt\u00eb projekt, kemi duar shtes\u00eb, t\u00eb cilat jan\u00eb mjaft t\u00eb shumta. Sidomos n\u00ebse u shkruani n\u00eb mesazh privat. Dhe n\u00ebse ju po e back-up-oni t\u00eb dh\u00ebnat tuaja dhe po e b\u00ebni k\u00ebt\u00eb me ndihm\u00ebn e WAL-G ose do t\u00eb donit t\u00eb kaloni n\u00eb WAL-G, d\u00ebshirat tuaja ne mund t\u2019i marrim mjaft leht\u00eb parasysh.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/7b0dc1633121ea6493610b08f68a14d2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ky \u00ebsht\u00eb nj\u00eb kod qr dhe nj\u00eb lidhje. Mund t\u00eb kaloni p\u00ebrmes tyre dhe t\u00eb shkruani t\u00eb gjitha d\u00ebshirat tuaja. P\u00ebr shembull, ndoshta ne nuk e rregullojm\u00eb nj\u00eb bug. Ose ndonj\u00eb funksionalitet q\u00eb e doni shum\u00eb, por p\u00ebr ndonj\u00eb arsye nuk \u00ebsht\u00eb ende n\u00eb asnj\u00eb nga kopjet rezerv\u00eb, p\u00ebrfshir\u00eb ton\u00ebn. Sigurohuni ta b\u00ebni t\u00eb ditur k\u00ebt\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/56f1c4eef8522d2d6628ea98b1278846.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pyetje<\/p>\n<p><\/p>\n<p><em>P\u00ebrsh\u00ebndetje! Faleminderit p\u00ebr raportin! Kam nj\u00eb pyetje p\u00ebr WAL-G, por jo p\u00ebr Postgres. WAL-G b\u00ebni backup MySQL dhe th\u00ebrret backup ekstra. N\u00eb qoft\u00eb se merrni instalime moderne n\u00eb CentOS dhe n\u00ebse b\u00ebni yum install MySQL, do t\u00eb instalohet MariaDB. Q\u00eb nga versione 10.3, backup ekstra nuk mb\u00ebshtetet, por mb\u00ebshtetet backup-i i MariaDB. Si e keni k\u00ebt\u00eb gj\u00eb?<\/em><\/p>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb moment nuk kemi provuar t\u00eb b\u00ebjm\u00eb backup p\u00ebr MariaDB. Kishim k\u00ebrkesa p\u00ebr mb\u00ebshtetje p\u00ebr FoundationDB, por n\u00eb p\u00ebrgjith\u00ebsi, n\u00ebse ka nj\u00eb k\u00ebrkes\u00eb t\u00eb till\u00eb, mund t\u00eb gjejm\u00eb njer\u00ebz q\u00eb do ta b\u00ebjn\u00eb. Nuk \u00ebsht\u00eb shum\u00eb e gjat\u00eb dhe aq e komplikuar sa mendoj.<\/p>\n<p><\/p>\n<p><em>Mir\u00ebdita! Faleminderit p\u00ebr raportin! Kam nj\u00eb pyetje p\u00ebr potencialisht karakteristika t\u00eb reja. A jeni t\u00eb gatsh\u00ebm ta b\u00ebni WAL-G t\u00eb funksionoj\u00eb me banda, q\u00eb t\u00eb mund t\u00eb b\u00ebni backup n\u00eb banda?<\/em><\/p>\n<p><\/p>\n<p>Duket se po flisni p\u00ebr backup n\u00eb ruajtjen me banda?<\/p>\n<p><\/p>\n<p><em>Po.<\/em><\/p>\n<p><\/p>\n<p>Atje \u00ebsht\u00eb Andrei Borodin, i cili mund t\u00eb p\u00ebrgjigjet m\u00eb mir\u00eb se un\u00eb p\u00ebr k\u00ebt\u00eb pyetje. <\/p>\n<p><\/p>\n<p>(Andrei) Po, faleminderit p\u00ebr pyetjen! Kemi pasur nj\u00eb k\u00ebrkes\u00eb p\u00ebr transferimin e backup-it n\u00eb band\u00eb nga ruajtja n\u00eb re. Dhe p\u00ebr k\u00ebt\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\/pull\/596\">po zhvillohet<\/a><\/noindex> transferimi midis reve. Sepse transferimi midis reve \u00ebsht\u00eb nj\u00eb version i p\u00ebrgjith\u00ebsuar i transferimit n\u00eb band\u00eb. P\u00ebr m\u00eb tep\u00ebr, kemi nj\u00eb arkitektur\u00eb t\u00eb zgjerueshme n\u00eb pjes\u00ebn e Storages. Nga ana tjet\u00ebr, shum\u00eb nga storaget jan\u00eb shkruar nga student\u00ebt. Dhe n\u00ebse shkruani nj\u00eb Storage p\u00ebr banda, ai sigurisht do t\u00eb mb\u00ebshtetet. Jemi t\u00eb gatsh\u00ebm t\u00eb shqyrtojm\u00eb pull request. Aty duhet t\u00eb regjistrohet nj\u00eb skedar, t\u00eb lexohet nj\u00eb skedar. N\u00ebse k\u00ebto gj\u00ebra b\u00ebhen n\u00eb Go, zakonisht rezulton n\u00eb 50 rreshta kodi. Dhe at\u00ebher\u00eb n\u00eb WAL-G do t\u00eb mb\u00ebshtetet banda. <\/p>\n<p><\/p>\n<p><em>Faleminderit p\u00ebr raportin! Procesi i zhvillimit \u00ebsht\u00eb interesant. Backup \u00ebsht\u00eb nj\u00eb pjes\u00eb serioze e funksionalitetit q\u00eb duhet t\u00eb mbulohet mir\u00eb me teste. Kur ju e realizuat funksionalitetin p\u00ebr baza t\u00eb reja, a t\u00eb gjitha testet u shkruan gjithashtu nga student\u00ebt apo ju i shkruat testet dhe pastaj ua dhat\u00eb student\u00ebve implementimin?<\/em><\/p>\n<p><\/p>\n<p>Testet i shkruan gjithashtu student\u00ebt. Por student\u00ebt shkruan m\u00eb shum\u00eb p\u00ebr karakteristika t\u00eb tilla si bazat e reja. Ata shkruan teste integruese. Dhe ata shkruan teste unit. N\u00ebse testet integruese kalojn\u00eb, dmth p\u00ebr momentin \u2013 \u00ebsht\u00eb nj\u00eb skenar q\u00eb ju e ejecutoni me duar ose e b\u00ebn cron, p\u00ebr shembull. DMTH, atje skenari \u00ebsht\u00eb shum\u00eb i kuptuesh\u00ebm. <\/p>\n<p><\/p>\n<p><em>Student\u00ebt nuk kan\u00eb shum\u00eb eksperienc\u00eb. Sa koh\u00eb shpenzohet p\u00ebr rishikimin?<\/em><\/p>\n<p><\/p>\n<p>Po, rreth rishikimeve po kalon shum\u00eb koh\u00eb. Z. e. zakonisht, kur vijn\u00eb disa kontribuues menj\u00ebher\u00eb dhe thon\u00eb q\u00eb kam b\u00ebr\u00eb k\u00ebt\u00eb, kam b\u00ebr\u00eb at\u00eb, duhet t\u00eb mendoj dhe t\u00eb rezervoj diku gjysm\u00eb dit\u00eb p\u00ebr t'u marr\u00eb me at\u00eb q\u00eb ata kan\u00eb shkruar. Sepse kodi duhet lexuar me kujdes. Ata nuk kan\u00eb kaluar intervist\u00ebn. Ne nuk i njohim shum\u00eb mir\u00eb, prandaj kjo merr nj\u00eb koh\u00eb t\u00eb konsiderueshme.<\/p>\n<p><\/p>\n<p><em>Faleminderit p\u00ebr raportin! M\u00eb par\u00eb, Andrei Borodin shpalli se archive_command n\u00eb WAL-G duhet t\u00eb thirret drejtp\u00ebrdrejt. Por n\u00eb rast t\u00eb nj\u00eb klasteri patron, na nevojitet logjik\u00eb shtes\u00eb p\u00ebr t\u00eb p\u00ebrcaktuar nodin nga e cila t\u00eb d\u00ebrgojm\u00eb vallet. Si e zgjidhni ju k\u00ebt\u00eb problem?<\/em><\/p>\n<p><\/p>\n<p>Cila \u00ebsht\u00eb problemit tuaj k\u00ebtu? Le t\u00eb themi, a keni nj\u00eb replik\u00eb sinkrone nga e cila merrni backup? Apo \u00e7far\u00eb?<\/p>\n<p><\/p>\n<p>(Andrei) Problemi \u00ebsht\u00eb se v\u00ebrtet WAL-G supozon p\u00ebrdorimin pa lidhur me skriptet e shell. N\u00ebse di\u00e7ka mungon, at\u00ebher\u00eb le t'i shtojm\u00eb logjik\u00ebn q\u00eb duhet t\u00eb jet\u00eb brenda WAL-G. N\u00eb lidhje me at\u00eb nga e cila duhet t\u00eb b\u00ebhet arkivimi, ne mendojm\u00eb se arkivimi duhet t\u00eb b\u00ebhet nga mjeshtri aktual n\u00eb klaster. Arkivimi nga replika \u00ebsht\u00eb nj\u00eb ide e keqe. Jan\u00eb t\u00eb mundshme skenar\u00eb t\u00eb ndrysh\u00ebm me probleme. N\u00eb ve\u00e7anti, problemet me arkivimin e kronologjive dhe informacionit t\u00eb tjera t\u00eb shtes\u00eb. Faleminderit p\u00ebr pyetjen!<\/p>\n<p><\/p>\n<p>(Sqarim: Jemi liruar nga lidhja me skriptet e shell) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\/issues\/549\">n\u00eb k\u00ebt\u00eb \u00e7\u00ebshtje<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p><em>Mir\u00ebmbr\u00ebma! Faleminderit p\u00ebr raportin! M\u00eb interesoi karakteristika catchup, p\u00ebr t\u00eb cil\u00ebn keni folur. Takoheshit me nj\u00eb situat\u00eb ku replika vonohej dhe nuk mund t\u00eb kapte dot. Dhe n\u00eb WAL-G nuk gjeta p\u00ebrshkrimin e k\u00ebsaj karakteristike n\u00eb dokumentacion.<\/em><\/p>\n<p><\/p>\n<p>Catchup u shfaq n\u00eb t\u00eb v\u00ebrtet\u00eb n\u00eb mesin e 20: dit\u00ebve t\u00eb janarit 2020. Me dokumentacionin, ndoshta duhet t\u00eb punoni m\u00eb mir\u00eb. Ne vet\u00eb e shkruajm\u00eb dhe nuk jemi duke e b\u00ebr\u00eb at\u00eb p\u00ebr t\u00eb qen\u00eb super-shk\u00eblqyesh\u00ebm. Dhe ndoshta, duhet filluar t\u00eb k\u00ebrkojm\u00eb nga student\u00ebt q\u00eb ta shkruajn\u00eb.<\/p>\n<p><\/p>\n<p><em>A \u00ebsht\u00eb ajo tashm\u00eb n\u00eb l\u00ebshim?<\/em><\/p>\n<p><\/p>\n<p>Pull request-in e kam shqyrtuar tani, pra e kam kontrolluar. E kam provuar at\u00eb n\u00eb klasterin testues. Deri tani nuk kemi pasur ndonj\u00eb situat\u00eb kur mund ta verifikonim k\u00ebt\u00eb n\u00eb nj\u00eb shembull n\u00eb produksion.<\/p>\n<p><\/p>\n<p><em>Kur t\u00eb pritet?<\/em><\/p>\n<p><\/p>\n<p>Nuk e di. Prisni nj\u00eb muaj, do ta verifikojm\u00eb me siguri.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/498428\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e \u043c\u0435\u0440\u0435 \u0438\u0445 \u0440\u043e\u0441\u0442\u0430. \u041a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0438\u0447, \u0447\u0438\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 issues&#8217;\u043e\u0432 \u0438 \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 pull request&#8217;\u043e\u0432? \u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 WAL-G(backup-tool for PostgreSQL) \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u044d\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":78888,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-78887","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u0413\u0435\u043e\u0440\u0433\u0438\u0439 \u0420\u044b\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-22T17:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-22T17:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit. Georgi Rylov | ProHoster","description":"Propozoj q\u00eb t\u00eb njiheni me shpjegimin e raportit nga fillimi i vitit 2020 t\u00eb Georgiy Rylov \"WAL-G: mund\u00ebsi t\u00eb reja dhe zgjerimi i komunitetit\". M\u00eb maintainer\u00ebt open-source ndodhin shum\u00eb probleme.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u0413\u0435\u043e\u0440\u0433\u0438\u0439 \u0420\u044b\u043b\u043e\u0432 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-22T17:42:51+00:00","article:modified_time":"2020-04-22T17:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"78887","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:49:45","updated":"2022-09-29 18:48:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/78887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=78887"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/78887\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/78888"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=78887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=78887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=78887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}