WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Men sizga Georgiy Rilovning 2020 yil boshidagi "WAL-G: yangi imkoniyatlar va jamiyatning kengayishi" hisobotining stenogrammasini o'qishni taklif qilaman.

Ochiq manbalarni qo'llab-quvvatlovchilar o'sib borishi bilan ko'plab qiyinchiliklarga duch kelishadi. Qanday qilib ko'proq va ko'proq talab qilinadigan xususiyatlarni yozish, tobora ko'proq muammolarni tuzatish va tobora ko'proq tortish so'rovlarini ko'rishni boshqarish mumkin? Misol sifatida WAL-G (PostgreSQL uchun zahiraviy vosita) dan foydalanib, men sizga universitetda Ochiq manbalarni rivojlantirish bo'yicha kursni yo'lga qo'yish orqali ushbu muammolarni qanday hal qilganimizni, nimaga erishganimizni va keyin qayerga o'tishimizni aytib beraman.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Hammaga yana salom! Men Yekaterinburgdan Yandex dasturchisiman. Va bugun men WAL-G haqida gapiraman.

Hisobotning sarlavhasida bu zaxira nusxalari haqida aytilmagan. WAL-G nima ekanligini kimdir biladimi? Yoki hamma biladimi? Agar bilmasangiz, qo'lingizni ko'taring. Muqaddas, siz hisobotga keldingiz va u nima haqida ekanligini bilmayapsiz.

Bugun nima bo'lishini sizga aytaman. Shunday bo'ladiki, bizning jamoamiz ancha vaqtdan beri zaxira nusxalarini yaratmoqda. Va bu biz ma'lumotlarni qanday xavfsiz, xavfsiz, qulay va samarali saqlashimiz haqida gapiradigan seriyadagi yana bir hisobot.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Oldingi seriyalarda Andrey Borodin va Vladimir Leskovning ko'plab hisobotlari bor edi. Bizda ko'p edi. Va biz ko'p yillar davomida WAL-G haqida gapiramiz.

clck.ru/F8ioz — https://www.highload.ru/moscow/2018/abstracts/3964

clck.ru/Ln8Qw — https://www.highload.ru/moscow/2019/abstracts/5981

Ushbu hisobot boshqalardan bir oz farq qiladi, chunki u ko'proq texnik qism haqida edi, ammo bu erda men jamiyatning o'sishi bilan bog'liq muammolarga qanday duch kelganimiz haqida gapiraman. Va qanday qilib biz buni engishga yordam beradigan kichik g'oyaga keldik.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bir necha yil oldin, WAL-G biz Citus Data-dan olgan juda kichik loyiha edi. Va biz shunchaki oldik. Va u bir kishi tomonidan ishlab chiqilgan.

Va faqat WAL-Gda yo'q edi:

  • Replikadan zaxira nusxasi.
  • Qo'shimcha zaxiralar yo'q edi.
  • WAL-Delta zaxiralari yo'q edi.
  • Va hali ko'p narsa etishmayotgan edi.

Ushbu bir necha yil ichida WAL-G juda ko'p o'sdi.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Va 2020 yilga kelib, yuqoridagilarning barchasi allaqachon paydo bo'lgan. Va bunga bizda mavjud bo'lgan narsalar qo'shildi:

  • GitHub-da 1 dan ortiq yulduzlar.
  • 150 vilkalar.
  • 15 ga yaqin ochiq PR.
  • Va yana ko'plab ishtirokchilar.
  • Va har doim ochiq masalalar. Va bu biz har kuni u erga borib, biror narsa qilishimizga qaramay.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Va biz ushbu loyiha bizning e'tiborimizni ko'proq talab qiladi degan xulosaga keldik, hatto biz o'zimiz Yandex-da boshqariladigan ma'lumotlar bazalari xizmati uchun hech narsa amalga oshirishimiz shart emas.

2018 yilning kuzida esa xayolimga bir fikr keldi. Odatda jamoada qo'llaringiz etarli bo'lmasa, ba'zi xususiyatlarni ishlab chiqish yoki xatolarni tuzatishning bir necha usullari mavjud. Misol uchun, siz boshqa ishlab chiquvchini yollashingiz va unga pul to'lashingiz mumkin. Yoki siz bir muddat stajyorni qabul qilishingiz va unga maosh to'lashingiz mumkin. Ammo hali ham juda katta odamlar guruhi mavjud, ularning ba'zilari allaqachon kod yozishni biladi. Siz har doim ham kodning sifatini bilmaysiz.

Biz bu haqda o'ylab, talabalarni jalb qilishga harakat qildik. Ammo talabalar biz bilan hamma narsada qatnashmaydi. Ular ishning faqat bir qismini bajaradilar. Va ular, masalan, testlarni yozadilar, xatolarni tuzatadilar, asosiy funksionallikka ta'sir qilmaydigan xususiyatlarni amalga oshiradilar. Asosiy funksiya - zaxira nusxalarini yaratish va zaxira nusxalarini tiklash. Agar biz zaxira nusxasini yaratishda xatoga yo'l qo'ysak, biz ma'lumotlar yo'qolishiga duch kelamiz. Va buni hech kim xohlamaydi, albatta. Har bir inson hamma narsa juda xavfsiz bo'lishini xohlaydi. Shuning uchun, albatta, biz o'zimizga qaraganda kamroq ishonadigan kodga ruxsat berishni xohlamaymiz. Ya'ni, biz qo'shimcha ishchilarimizdan olishni istagan har qanday muhim bo'lmagan koddir.

Talaba PR qanday sharoitlarda qabul qilinadi?

  • Ular o'z kodlarini testlar bilan qoplashlari kerak. Hamma narsa CIda bo'lishi kerak.
  • Va biz 2 ta ko'rib chiqamiz. Biri Andrey Borodin, biri men.
  • Bundan tashqari, bu bizning xizmatimizda hech narsani buzmasligini tekshirish uchun men ushbu majburiyat bilan yig'ilishni alohida yuklayman. Va biz oxirigacha sinovlarni tekshiramiz, hech narsa muvaffaqiyatsizlikka uchramaydi.

Ochiq manba bo'yicha maxsus kurs

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bu nima uchun kerakligi va nima uchun bu, menimcha, ajoyib fikr.

Biz uchun foyda aniq:

  • Biz qo'shimcha qo'llarni olamiz.
  • Va biz aqlli kod yozadigan aqlli talabalar orasidan jamoaga nomzodlarni qidirmoqdamiz.

Talabalar uchun qanday foyda bor?

Ular kamroq ravshan bo'lishi mumkin, chunki talabalar, hech bo'lmaganda, yozgan kodlari uchun pul olmaydilar, lekin faqat talabalarning yozuvlari uchun baho oladilar.

Men ulardan bu haqda so'radim. Va ularning so'zlarida:

  • Ochiq manbada ishtirokchi tajribasi.
  • CV-da qatorni oling.
  • O'zingizni isbotlang va Yandex-da suhbatdan o'ting.
  • GSoC a'zosi bo'ling.
  • Kod yozmoqchi bo'lganlar uchun +1 maxsus kurs.

Kurs qanday tuzilgani haqida gapirmayman. Aytmoqchimanki, WAL-G asosiy loyiha edi. Biz ushbu kursga Odyssey, PostgreSQL va ClickHouse kabi loyihalarni ham kiritdik.

Va ular nafaqat ushbu kursda muammolar, balki diplom va kurs ishlarini ham berishdi.

Foydalanuvchilar uchun foyda haqida nima deyish mumkin?

Endi sizni eng ko'p qiziqtiradigan qismga o'tamiz. Bu sizga nima foyda? Gap shundaki, talabalar ko'plab xatolarni tuzatdilar. Va biz siz so'ragan so'rov xususiyatlarini yaratdik.

Va men sizga uzoq vaqtdan beri orzu qilgan va amalga oshirilgan narsalar haqida gapirib beraman.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Tablespaces qo'llab-quvvatlash. WAL-G-dagi jadvallar bo'shliqlari, ehtimol, WAL-G chiqarilgandan beri kutilgan edi, chunki WAL-G boshqa WAL-E zahiralash vositasining vorisi bo'lib, bu erda jadval bo'shliqlari bilan ma'lumotlar bazasi zahiralarini qo'llab-quvvatlaydi.

Sizga bu nima ekanligini va nima uchun kerakligini qisqacha eslatib o'taman. Odatda, barcha Postgres ma'lumotlaringiz fayl tizimidagi baza deb ataladigan bitta katalogni egallaydi. Va bu katalog allaqachon Postgres tomonidan talab qilinadigan barcha fayllar va pastki kataloglarni o'z ichiga oladi.

Jadvallar bo'shliqlari Postgres ma'lumotlarini o'z ichiga olgan kataloglardir, lekin ular asosiy katalogdan tashqarida joylashgan emas. Slayd jadval maydonlari asosiy katalogdan tashqarida joylashganligini ko'rsatadi.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bu Postgresning o'zi uchun qanday ko'rinadi? Asosiy katalogda alohida pg_tblspc pastki katalogi mavjud. Va u asosiy katalogdan tashqarida Postgres ma'lumotlarini o'z ichiga olgan kataloglarga simli havolalarni o'z ichiga oladi.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bularning barchasini ishlatganingizda, siz uchun bu buyruqlar shunday ko'rinishi mumkin. Ya'ni, siz belgilangan jadval maydonida jadval yaratasiz va uning hozir qaerdaligini ko'rasiz. Bu oxirgi ikkita satr, oxirgi ikkita buyruq chaqiriladi. Va u erda qandaydir yo'l borligi aniq. Lekin, aslida, bu haqiqiy yo'l emas. Bu asosiy katalogdan jadval maydoniga prefiksli yo'l. Va u erdan sizning haqiqiy ma'lumotlaringizga olib boradigan symlink bilan mos keladi.

Biz bularning barchasini jamoamizda ishlatmaymiz, lekin undan WAL-G ga o'tishni xohlashlarini bizga yozgan boshqa ko'plab WAL-E foydalanuvchilari foydalangan, ammo bu ularni to'xtatib turardi. Bu endi qo'llab-quvvatlanadi.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bizning maxsus kursimiz bizga olib kelgan yana bir xususiyatdir. Postgres bilan emas, balki Oracle bilan ko'proq ishlagan odamlar catchup haqida bilishadi.

Bu nima haqida qisqacha. Bizning xizmatimizdagi klaster topologiyasi odatda shunday ko'rinishi mumkin. Bizning ustamiz bor. Undan oldindan yozish jurnalini uzatuvchi nusxa mavjud. Va replika ustaga hozirda qaysi LSN yoqilganligini aytadi. Va shunga parallel ravishda, jurnalni arxivlash mumkin. Va jurnalni arxivlashdan tashqari, zaxira nusxalari ham bulutga yuboriladi. Va delta zahiralari yuboriladi.

Muammo nima bo'lishi mumkin? Agar sizda juda katta ma'lumotlar bazasi bo'lsa, sizning replikangiz masterdan ancha orqada qola boshlagani ma'lum bo'lishi mumkin. Va u shunchalik orqada qoladiki, u hech qachon unga yeta olmaydi. Odatda bu muammoni qandaydir tarzda hal qilish kerak.

Va eng oson yo'li - replikani olib tashlash va uni qayta yuklash, chunki u hech qachon ushlamaydi va muammoni hal qilish kerak. Ammo bu juda uzoq vaqt, chunki 10 TB hajmdagi ma'lumotlar bazasining butun zaxira nusxasini tiklash juda va juda uzoq vaqt. Va agar bunday muammolar yuzaga kelsa, bularning barchasini imkon qadar tezroq qilishni xohlaymiz. Va aynan shu maqsadda tutib olish kerak.

Catchup sizga shu tarzda bulutda saqlanadigan delta zahiralaridan foydalanish imkonini beradi. Siz ortda qolgan replika qaysi LSN yoqilganligini aytasiz va ushbu LSN va hozirda klasteringiz joylashgan LSN o'rtasida delta zahirasini yaratish uchun uni catchup buyrug'ida ko'rsating. Va shundan so'ng siz ushbu zaxira nusxasini orqada qolgan nusxaga tiklaysiz.

Boshqa asoslar

Talabalar bizga bir vaqtning o'zida juda ko'p xususiyatlarni olib kelishdi. Yandex-da biz nafaqat Postgres-ni pishiramiz, balki bizda MySQL, MongoDB, Redis, ClickHouse ham bor, shuning uchun biz MySQL-ni o'z vaqtida tiklash bilan zahira nusxalarini yaratishimiz kerak edi va shuning uchun yuklash imkoniyati mavjud edi. ularni bulutga.

Va biz buni WAL-G qiladigan narsaga o'xshash tarzda qilishni xohladik. Va biz tajriba o'tkazishga va barchasi qanday ko'rinishini ko'rishga qaror qildik.

Va dastlab, bu mantiqni hech qanday tarzda baham ko'rmasdan, ular kodni vilkaga yozdilar. Ular bizda qandaydir ishlaydigan model borligini va u ucha olishini ko'rdilar. Keyin bizning asosiy jamoamiz postgresistlar, ular WAL-G dan foydalanadilar deb o'yladik. Va shuning uchun biz bu qismlarni qandaydir tarzda ajratishimiz kerak. Ya'ni, Postgres uchun kodni tahrir qilganimizda, biz MySQL-ni buzmaymiz; MySQL-ni tahrir qilganimizda, Postgres-ni buzmaymiz.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Buni qanday ajratish mumkinligi haqidagi birinchi fikr PostgreSQL kengaytmalarida qo'llaniladigan bir xil yondashuvdan foydalanish g'oyasi edi. Va, aslida, MySQL zaxira nusxasini yaratish uchun siz qandaydir dinamik kutubxonani o'rnatishingiz kerak edi.

Ammo bu erda ushbu yondashuvning assimetriyasi darhol ko'rinadi. Postgres-ning zaxira nusxasini yaratganingizda, siz Postgres uchun oddiy zaxira nusxasini qo'yasiz va hamma narsa yaxshi. Va MySQL uchun siz Postgres uchun zaxira nusxasini o'rnatasiz va buning uchun MySQL uchun dinamik kutubxonani o'rnatasiz. Bu qandaydir g'alati eshitiladi. Biz ham shunday deb o'yladik va bu bizga kerak bo'lgan yechim emas deb qaror qildik.

Postgres, MySQL, MongoDB, Redis uchun turli xil tuzilmalar

Ammo bu bizga to'g'ri qarorga kelishga - turli bazalar uchun turli yig'ilishlarni ajratishga imkon berdi. Bu WAL-G amalga oshiradigan umumiy API-ga kirishga imkon beradigan turli xil ma'lumotlar bazalarining zaxira nusxalariga bog'langan mantiqni ajratish imkonini berdi.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bu biz o'zimiz yozgan qism - talabalarga muammolarni berishdan oldin. Ya'ni, bu ular noto'g'ri ish qilishlari mumkin bo'lgan qismdir, shuning uchun biz shunga o'xshash narsani qilsak, hammasi yaxshi bo'ladi, deb qaror qildik.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Shundan so'ng biz muammolarni hal qildik. Ular darhol demontaj qilindi. Talabalar uchta bazani qo'llab-quvvatlashlari kerak edi.

Bu MySQL bo'lib, biz WAL-G yordamida bir yildan ko'proq vaqt davomida shu tarzda zaxira qilib kelmoqdamiz.

Va endi MongoDB ishlab chiqarishga yaqinlashmoqda, ular uni fayl bilan yakunlamoqda. Aslida, biz bularning barchasi uchun ramka yozdik. Keyin o'quvchilar bir nechta amaliy narsalarni yozdilar. Va keyin biz ularni ishlab chiqarishda qabul qila oladigan holatga keltiramiz.

Ushbu muammolar talabalar ushbu ma'lumotlar bazalarining har biri uchun to'liq zaxira vositalarini yozishlari kerak emas edi. Bizda bunday muammo yo'q edi. Bizning muammomiz shundan iboratki, biz o'z vaqtida tiklanishni xohladik va biz bulutga zaxiralashni xohladik. Va ular talabalardan buni hal qiladigan kod yozishni so'rashdi. Talabalar allaqachon mavjud bo'lgan zaxira vositalaridan foydalanganlar, ular qandaydir tarzda zaxira nusxalarini oladilar va keyin hammasini WAL-G bilan birga yopishtirdilar, bu esa barchasini bulutga uzatdi. Va ular ham bunga vaqtni tiklashni qo'shdilar.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Talabalar yana nima olib kelishdi? Ular WAL-G-ga Libsodium shifrlash yordamini keltirdilar.

Shuningdek, bizda zaxira saqlash qoidalari mavjud. Endi zaxira nusxalari doimiy sifatida belgilanishi mumkin. Va qandaydir tarzda sizning xizmatingiz ularni saqlash jarayonini avtomatlashtirish uchun qulayroqdir.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Ushbu tajriba qanday natija berdi?

Kursga dastlab 100 dan ortiq kishi roʻyxatdan oʻtgan. Avvaliga men Yekaterinburgdagi universitet Ural federal universiteti deb aytmadim. Biz hamma narsani u erda e'lon qildik. 100 kishi roʻyxatdan oʻtgan. Haqiqatda, juda kam odam biror narsa qilishni boshladi, taxminan 30 kishi.

Kursni kamroq odam tugatdi, chunki allaqachon mavjud kodlar uchun testlarni yozish kerak edi. Shuningdek, ba'zi xatolarni tuzating yoki biron bir xususiyatni yarating. Va ba'zi talabalar hali ham kursni yopdilar.

Hozirgi vaqtda ushbu kurs davomida talabalar 14 ga yaqin masalalarni hal qilishdi va har xil o'lchamdagi 10 ta xususiyatni yaratdilar. Va, menimcha, bu bir yoki ikkita ishlab chiquvchini to'liq almashtirish.

Boshqa narsalar qatorida, biz diplom va kurs ishlarini berdik. 12 nafari esa diplom oldi. Ulardan 6 nafari allaqachon o'zini "5" darajasida himoya qilgan. Qolganlar hali himoyaga ega emas edilar, lekin menimcha, ular uchun ham hammasi yaxshi bo'ladi.

Kelajak uchun rejalar

Kelajak uchun qanday rejalarimiz bor?

Hech bo'lmaganda biz foydalanuvchilardan eshitgan va bajarishni xohlaydigan xususiyatlar so'rovlari. Bu:

  • HA klasterining zaxira arxivida vaqt jadvalini kuzatishning to'g'riligini nazorat qilish. Buni WAL-G bilan qilishingiz mumkin. O'ylaymanki, bizda bu masala bilan shug'ullanadigan talabalar bo'ladi.
  • Bizda allaqachon bulutlar o'rtasida zahira va WAL o'tkazish uchun mas'ul bo'lgan shaxs bor.
  • Va biz yaqinda sahifalarni qayta yozmasdan va u yerga yuboradigan arxivlarni optimallashtirmasdan qo'shimcha zaxira nusxalarini ochish orqali WAL-G ni yanada tezlashtirishimiz mumkin degan fikrni nashr qildik.

Siz ularni bu yerda baham ko'rishingiz mumkin

Bu hisobot nima uchun edi? Bundan tashqari, hozir, ushbu loyihani qo'llab-quvvatlayotgan 4 kishidan tashqari, bizda qo'shimcha qo'llar bor, ulardan juda ko'p. Ayniqsa, agar siz ularga shaxsiy xabarda yozsangiz. Va agar siz ma'lumotlaringizni zaxira nusxasini yaratsangiz va uni WAL-G yordamida amalga oshirsangiz yoki WAL-G ga o'tmoqchi bo'lsangiz, biz sizning istaklaringizni osongina bajara olamiz.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Bu QR kodi va havola. Siz ular orqali o'tishingiz va barcha istaklaringizni yozishingiz mumkin. Misol uchun, biz ba'zi xatolarni tuzatmayapmiz. Yoki siz haqiqatan ham biron bir xususiyatni xohlaysiz, lekin negadir u hali hech qanday zaxirada, shu jumladan bizda ham yo'q. Bu haqda yozishni unutmang.

WAL-G: yangi xususiyatlar va hamjamiyatni kengaytirish. Georgiy Rilov

Sizning savollaringiz

Salom! Hisobot uchun rahmat! WAL-G haqida savol, lekin Postgres haqida emas. WAL-G MySQL-ning zaxira nusxasini yaratadi va qo'shimcha zahirani chaqiradi. Agar biz CentOS-da zamonaviy o'rnatishlarni olsak va MySQL-ni yaxshi o'rnatgan bo'lsangiz, MariDB o'rnatiladi. 10.3 versiyasidan qo'shimcha zaxira nusxasi qo'llab-quvvatlanmaydi, MariDB zaxira nusxasi qo'llab-quvvatlanadi. Buni qanday qilyapsiz?

Ayni paytda biz MariDB-ni zaxiralashga urinmadik. Bizda FoundationDB-ni qo'llab-quvvatlash uchun so'rovlar bo'lgan, ammo umuman olganda, agar bunday so'rov bo'lsa, biz buni amalga oshiradigan odamlarni topishimiz mumkin. Bu men o'ylaganchalik uzoq yoki qiyin emas.

Hayrli kun! Hisobot uchun rahmat! Potentsial yangi xususiyatlar haqida savol. WAL-G-ni lentalarga zaxiralash uchun lentalar bilan ishlashga tayyormisiz?

Lenta xotirasida zaxira nusxa ko'chirish degani?

Ha.

Bu savolga mendan ko'ra yaxshiroq javob beradigan Andrey Borodin bor.

(Andrey) Ha, savol uchun rahmat! Bizda bulutli xotiradan zaxira nusxasini lentaga o'tkazish so'rovi bor edi. Va buning uchun arralash bulutlar o'rtasida uzatish. Chunki bulutdan bulutga uzatish lenta uzatishning umumlashtirilgan versiyasidir. Bundan tashqari, bizda saqlash joylari bo'yicha kengaytiriladigan arxitektura mavjud. Aytgancha, ko'plab Storoges talabalar tomonidan yozilgan. Va agar siz lenta uchun saqlashni yozsangiz, u albatta qo'llab-quvvatlanadi. Biz tortishish so'rovlarini ko'rib chiqishga tayyormiz. U erda siz fayl yozishingiz, faylni o'qishingiz kerak. Agar siz buni Go-da qilsangiz, siz odatda 50 qator kodga ega bo'lasiz. Va keyin lenta WAL-G da qo'llab-quvvatlanadi.

Hisobot uchun rahmat! Qiziqarli rivojlanish jarayoni. Zaxira - bu sinovlar bilan yaxshi qamrab olinishi kerak bo'lgan jiddiy funktsional qism. Yangi ma'lumotlar bazalari uchun funksionallikni joriy qilganingizda, talabalar ham testlarni yozganmisiz yoki testlarni o'zingiz yozdingizmi va keyin amalga oshirishni talabalarga topshirdingizmi?

Talabalar testlar ham yozdilar. Ammo talabalar yangi ma'lumotlar bazalari kabi xususiyatlar uchun ko'proq yozdilar. Ular integratsiya testlarini yozdilar. Va ular birlik testlarini yozdilar. Agar integratsiya o'tib ketsa, ya'ni hozirda bu siz qo'lda bajaradigan skript yoki sizda buni cron bajaradi, masalan. Ya'ni, u erda skript juda aniq.

Talabalarda katta tajriba yo'q. Ko'rib chiqish ko'p vaqtni oladimi?

Ha, sharhlar juda ko'p vaqtni oladi. Ya'ni, odatda, bir vaqtning o'zida bir nechta komitentlar kelib, men buni qildim, men buni qildim, deyishsa, u erda nima yozganligini tushunish uchun o'ylab, yarim kun ajratishingiz kerak. Chunki kodni diqqat bilan o'qib chiqish kerak. Ular intervyu olishmadi. Biz ularni yaxshi bilmaymiz, shuning uchun bu juda ko'p vaqtni oladi.

Hisobot uchun rahmat! Ilgari Andrey Borodin WAL-G-dagi archive_command to'g'ridan-to'g'ri chaqirilishi kerakligini aytdi. Ammo ba'zi turdagi klaster kartrijlari bo'lsa, biz vallar yuboriladigan tugunni aniqlash uchun qo'shimcha mantiqqa muhtojmiz. Bu muammoni o'zingiz qanday hal qilasiz?

Bu yerda sizning muammoingiz nima? Aytaylik, sizda zaxira nusxasini yaratayotgan sinxron nusxangiz bormi? Yoki nima?

(Andrey) Gap shundaki, haqiqatan ham WAL-G qobiq skriptlarisiz foydalanish uchun mo'ljallangan. Agar biror narsa etishmayotgan bo'lsa, WAL-G ichida bo'lishi kerak bo'lgan mantiqni qo'shamiz. Arxivlash qayerdan kelib chiqishiga kelsak, biz arxivlash klasterdagi joriy ustadan bo'lishi kerak deb hisoblaymiz. Replikadan arxivlash yomon fikr. Muammolarning turli xil stsenariylari mavjud. Xususan, vaqt jadvallari va har qanday qo'shimcha ma'lumotlarni arxivlash bilan bog'liq muammolar. Savol uchun rahmat!

(Tushuntirish: Biz qobiq skriptlaridan xalos bo'ldik bu masalada)

Hayrli kech! Hisobot uchun rahmat! Men siz aytgan tutib olish xususiyatiga qiziqaman. Biz replika ortda qolgan va yetib bora olmaydigan vaziyatga duch keldik. Va WAL-G hujjatlarida bu xususiyatning tavsifini topmadim.

Catchup tom ma'noda 20 yil 2020 yanvarda paydo bo'ldi. Hujjatlar biroz ko'proq ishlashni talab qilishi mumkin. Biz buni o'zimiz yozamiz va biz uni juda yaxshi yozmaymiz. Va, ehtimol, biz talabalardan uni yozishni talab qilishni boshlashimiz kerak.

U allaqachon chiqarilganmi?

Pull so'rovi allaqachon o'lik, ya'ni men uni tekshirdim. Men buni test klasterida sinab ko'rdim. Hozircha biz buni jangovar misolda sinab ko'rishimiz mumkin bo'lgan vaziyatga duch kelmadik.

Qachon kutish kerak?

Bilmayman. Bir oy kuting, aniq tekshiramiz.

Manba: www.habr.com

a Izoh qo'shish