WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Мен сізге Георгий Рыловтың 2020 жылдың басындағы «WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі» баяндамасының стенограммасын оқуды ұсынамын.

Ашық көзді қолдаушылар өсіп келе жатқанда көптеген қиындықтарға тап болады. Барған сайын көбірек қажетті мүмкіндіктерді қалай жазуға, көбірек мәселелерді шешуге және көбірек тарту сұрауларын көруді қалай басқаруға болады? Мысал ретінде WAL-G (PostgreSQL үшін сақтық көшірме құралы) пайдалана отырып, мен сізге университетте ашық бастапқы кодты дамыту курсын ашу арқылы бұл мәселелерді қалай шешкенімізді, біз неге қол жеткіздік және бұдан әрі қайда көшетінімізді айтып беремін.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Барлығына тағы да сәлем! Мен Екатеринбургтен Яндекс әзірлеушісімін. Ал бүгін мен WAL-G туралы айтатын боламын.

Есептің атауында бұл сақтық көшірмелер туралы бірдеңе деп айтылмаған. WAL-G деген не екенін біреу біледі ме? Әлде бәрі біледі ме? Білмесеңіз қолыңызды көтеріңіз. Қасиетті, сіз есеп беруге келдіңіз және оның не туралы екенін білмейсіз.

Бүгін не болатынын айтайын. Біздің команда біраз уақыттан бері сақтық көшірме жасаумен айналысады. Бұл біз деректерді қауіпсіз, қауіпсіз, ыңғайлы және тиімді қалай сақтайтынымыз туралы айтатын сериядағы тағы бір есеп.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Алдыңғы серияларда Андрей Бородин мен Владимир Лесковтың көптеген репортаждары болды. Арамыз көп болды. Ал біз WAL-G туралы көп жылдар бойы айтып келеміз.

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

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

Бұл есеп басқалардан біршама ерекшеленеді, себебі ол техникалық бөлікке көбірек қатысты болды, бірақ бұл жерде мен қауымдастықтың өсуіне байланысты проблемаларға қалай тап болғанымыз туралы айтатын боламын. Біз мұнымен күресуге көмектесетін шағын идеяны қалай алдық.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бірнеше жыл бұрын WAL-G Citus Data-дан алған өте кішкентай жоба болды. Ал біз жай ғана алдық. Және оны бір адам әзірлеген.

Тек WAL-G-де жоқ:

  • Көшірмеден сақтық көшірме.
  • Қосымша сақтық көшірмелер болған жоқ.
  • WAL-Delta сақтық көшірмелері болған жоқ.
  • Және әлі де көп нәрсе жетіспейтін еді.

Осы бірнеше жыл ішінде WAL-G айтарлықтай өсті.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Ал 2020 жылға қарай жоғарыда аталғандардың барлығы пайда болды. Бұған бізде қазір бар нәрсе қосылды:

  • GitHub сайтында 1-нан астам жұлдыз.
  • 150 шанышқы.
  • 15-ке жуық ашық PR.
  • Және тағы да көптеген салымшылар.
  • Және әрқашан ашық мәселелер. Бұл біз күн сайын сонда барып, бұл туралы бірдеңе жасайтынымызға қарамастан.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Және біз бұл жоба біздің көп көңіл бөлуді қажет етеді деген қорытындыға келдік, тіпті біз өзіміз Яндекс-те басқарылатын деректер қорлары қызметі үшін ештеңені енгізудің қажеті жоқ кезде де.

Ал 2018 жылдың күзінде бір ой басымызға келді. Әдетте командада кейбір мүмкіндіктерді дамытудың немесе қолдарыңыз жеткіліксіз болса, қателерді түзетудің бірнеше жолы бар. Мысалы, сіз басқа әзірлеушіні жалдап, оған ақша төлей аласыз. Немесе сіз біраз уақытқа тағылымдамадан өтушіні қабылдап, оған біраз жалақы төлей аласыз. Бірақ әлі де көптеген адамдар тобы бар, олардың кейбіреулері кодты қалай жазуды біледі. Сіз кодтың сапасы қандай екенін әрқашан біле бермейсіз.

Біз ойланып, студенттерді тартуға тырысамыз деп шештік. Бірақ студенттер бізбен бірге бәріне қатыса бермейді. Олар жұмыстың бір бөлігін ғана орындайды. Және олар, мысалы, сынақтар жазады, қателерді түзетеді, негізгі функционалдылыққа әсер етпейтін мүмкіндіктерді енгізеді. Негізгі функционалдылық резервтік көшірмелерді жасау және сақтық көшірмелерді қалпына келтіру болып табылады. Сақтық көшірме жасауда қателессек, деректердің жоғалуына тап боламыз. Және мұны ешкім қаламайды, әрине. Барлығының бәрі өте қауіпсіз болғанын қалайды. Сондықтан, әрине, біз өзімізге қарағанда аз сенетін кодқа жол бергіміз келмейді. Яғни, кез келген маңызды емес кодты біз қосымша жұмысшыларымыздан алғымыз келеді.

Студенттік PR қандай жағдайларда қабылданады?

  • Олар өздерінің кодтарын сынақтармен қамтуы керек. Барлығы CI-де болуы керек.
  • Сондай-ақ біз 2 шолудан өтеміз. Біреуі Андрей Бородиндікі, бірі менікі.
  • Сонымен қатар, бұл біздің қызметімізде ештеңені бұзбайтынына көз жеткізу үшін мен осы міндеттемемен жинақты бөлек жүктеймін. Ештеңе сәтсіз аяқталмайтын сынақтарды біз тексереміз.

Ашық код бойынша арнайы курс

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бұл не үшін қажет және неліктен бұл менің ойымша, керемет идея.

Біз үшін пайда анық:

  • Біз қосымша қолдар аламыз.
  • Ал біз смарт-код жазатын ақылды студенттер арасынан командаға үміткерлерді іздейміз.

Оқушыларға қандай пайдасы бар?

Олар азырақ анық болуы мүмкін, өйткені студенттер, кем дегенде, олар жазған код үшін ақша алмайды, бірақ тек студенттік жазбалары үшін баға алады.

Мен олардан бұл туралы сұрадым. Және олардың сөздерінде:

  • Ашық бастапқы кодтағы үлес қосушы тәжірибесі.
  • Түйіндемеде жолды алыңыз.
  • Өзіңізді дәлелдеңіз және Яндексте сұхбаттан өтіңіз.
  • GSoC мүшесі болыңыз.
  • +1 код жазғысы келетіндер үшін арнайы курс.

Курстың қалай құрылғаны туралы айтпай-ақ қояйын. Мен WAL-G негізгі жоба болды деп айтайын. Бұл курсқа біз Odyssey, PostgreSQL және ClickHouse сияқты жобаларды да қостық.

Олар тек осы курста есеп беріп қоймай, дипломдар мен курстық жұмыстарды да берді.

Пайдаланушылар үшін пайдасы туралы не деуге болады?

Енді сізді ең қызықтыратын бөлікке көшейік. Мұның саған не пайдасы бар? Мәселе мынада, студенттер көптеген қателерді түзетті. Біз сіз сұраған сұрау мүмкіндіктерін жасадық.

Ал мен сізге көптен бері армандаған және орындалған нәрселер туралы айтайын.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Tablespaces қолдауы. WAL-G кесте кеңістігі WAL-G шығарылымынан бері күтілуде, себебі WAL-G басқа сақтық көшірме WAL-E құралының мұрагері болып табылады, мұнда кесте кеңістігі бар дерекқордың сақтық көшірмесін жасауға қолдау көрсетіледі.

Мұның не екенін және не үшін қажет екенін қысқаша еске сала кетейін. Әдетте, барлық Postgres деректеріңіз файлдық жүйеде база деп аталатын бір каталогты алады. Және бұл каталогта Postgres талап ететін барлық файлдар мен ішкі каталогтар бар.

Кесте кеңістігі - Postgres деректерін қамтитын каталогтар, бірақ олар негізгі каталогтан тыс жерде орналаспайды. Слайд кесте кеңістігінің негізгі каталогтан тыс орналасқанын көрсетеді.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бұл Postgres үшін қандай көрінеді? Негізгі каталогта pg_tblspc жеке ішкі каталогы бар. Оның құрамында негізгі каталогтан тыс Postgres деректері бар каталогтарға символдық сілтемелер бар.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Мұның бәрін пайдаланған кезде, сіз үшін бұл пәрмендер келесідей көрінуі мүмкін. Яғни, сіз белгілі бір кесте кеңістігінде кесте жасайсыз және оның қазір қай жерде екенін көресіз. Бұл соңғы екі жол, соңғы екі команда шақырылады. Және бұл жерде қандай да бір жол бар екені анық. Бірақ іс жүзінде бұл нақты жол емес. Бұл негізгі каталогтан кесте кеңістігіне дейінгі префиксті жол. Сол жерден ол сіздің нақты деректеріңізге апаратын символдық сілтемемен сәйкестендіріледі.

Біз мұның бәрін өз командамызда қолданбаймыз, бірақ оны WAL-G-ге көшкісі келетінін жазған көптеген басқа WAL-E пайдаланушылары пайдаланды, бірақ бұл оларды тоқтатты. Бұған қазір қолдау көрсетіледі.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Арнайы курсымыздың бізге әкелген тағы бір ерекшелігі - қуып жету. Postgres-тен гөрі Oracle-пен көбірек жұмыс істеген адамдар catchup туралы біледі.

Бұл не туралы қысқаша. Біздің қызметіміздегі кластер топологиясы әдетте осындай болуы мүмкін. Бізде шебер бар. Одан алдын ала жазу журналын жіберетін көшірме бар. Ал реплика шеберге қазіргі уақытта қай LSN қосылып тұрғанын айтады. Сонымен қатар, журналды мұрағаттауға болады. Журналды мұрағаттаудан басқа, сақтық көшірмелер де бұлтқа жіберіледі. Және дельта сақтық көшірмелері жіберіледі.

Мәселе не болуы мүмкін? Сізде жеткілікті үлкен дерекқор болған кезде, сіздің репликаңыз шеберден әлдеқайда артта қала бастайтыны белгілі болуы мүмкін. Ал оның артта қалғаны сонша, оны ешқашан қуып жете алмайды. Бұл мәселені әдетте қандай да бір жолмен шешу керек.

Ең оңай жолы - көшірмені алып тастап, оны қайта жүктеп салу, өйткені ол ешқашан қуып жете алмайды және мәселені шешу керек. Бірақ бұл өте ұзақ уақыт, өйткені толық 10 ТБ дерекқордың сақтық көшірмесін қалпына келтіру өте, өте ұзақ уақыт. Ал мұндай мәселелер туындаса, мұның барлығын тезірек жасағымыз келеді. Және дәл осы үшін аулау керек.

Catchup сізге осылайша бұлтта сақталатын дельта сақтық көшірмелерін пайдалануға мүмкіндік береді. Сіз артта қалған көшірменің қай LSN қосылып тұрғанын айтасыз және осы LSN мен қазіргі уақытта кластеріңіз орналасқан LSN арасында дельта сақтық көшірмесін жасау үшін оны catchup пәрменінде көрсетіңіз. Осыдан кейін сіз бұл сақтық көшірмені артта қалған көшірмеге қалпына келтіресіз.

Басқа негіздер

Студенттер бізге бірден көптеген мүмкіндіктерді әкелді. Яндекс-те біз тек Postgres-ті ғана емес, сонымен қатар MySQL, MongoDB, Redis, ClickHouse-ды дайындайтындықтан, белгілі бір уақытта MySQL-ті уақытында қалпына келтіру арқылы сақтық көшірмелерді жасай алуымыз керек болды, сондықтан жүктеп салу мүмкіндігі болды. оларды бұлтқа.

Және біз мұны WAL-G әрекетіне ұқсас етіп жасағымыз келді. Біз тәжірибе жасап, бәрі қалай көрінетінін көруді шештік.

Алғашында бұл логиканы ешбір жолмен бөліспестен, олар кодты шанышқыға жазды. Олар бізде жұмыс істейтін үлгінің бар екенін және оның ұшуға болатынын көрді. Содан кейін біз біздің негізгі қауымдастықты постгресистер деп ойладық, олар WAL-G пайдаланады. Сондықтан біз бұл бөліктерді қандай да бір жолмен бөлуіміз керек. Яғни, Postgres үшін кодты өңдегенде, біз MySQL-ті бұзбаймыз, MySQL-ті өңдегенде, Postgres-ті бұзбаймыз.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Мұны қалай бөлуге болатыны туралы бірінші идея PostgreSQL кеңейтімдерінде қолданылатын тәсілді пайдалану идеясы болды. Ал, шын мәнінде, MySQL сақтық көшірмесін жасау үшін динамикалық кітапхананың қандай да бір түрін орнату керек болды.

Бірақ бұл жерде бұл тәсілдің асимметриясы бірден көрінеді. Postgres сақтық көшірмесін жасаған кезде, оған Postgres үшін қалыпты сақтық көшірме қоясыз және бәрі жақсы. Ал MySQL үшін сіз Postgres үшін сақтық көшірмені орнатқаныңыз және оған MySQL үшін динамикалық кітапхана орнатқаныңыз белгілі болды. Бұл біртүрлі естіледі. Біз де солай ойладық және бұл бізге қажет шешім емес деп шештік.

Postgres, MySQL, MongoDB, Redis үшін әртүрлі құрылымдар

Бірақ бұл бізге дұрыс шешімге келуге мүмкіндік берді - әртүрлі негіздер үшін әртүрлі ассамблеяларды бөлу. Бұл WAL-G іске асыратын жалпы API интерфейсіне қол жеткізетін әртүрлі дерекқорлардың сақтық көшірмелеріне байланысты логиканы оқшаулауға мүмкіндік берді.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бұл студенттерге есептерді бермес бұрын өзіміз жазған бөлік. Яғни, бұл олардың дұрыс емес нәрсе жасауы мүмкін бөлігі, сондықтан біз осындай нәрсені жасаған дұрыс және бәрі жақсы болады деп шештік.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Осыдан кейін біз проблемаларды шештік. Олар бірден бөлшектелді. Студенттерге үш негізді қолдау талап етілді.

Бұл MySQL, оның сақтық көшірмесін WAL-G көмегімен бір жылдан астам уақыт бойы осылай жасап келеміз.

Енді MongoDB өндіріске жақындап келеді, олар оны файлмен аяқтауда. Шындығында, біз мұның барлығының негізін жаздық. Содан кейін оқушылар жұмыс істейтін нәрселерді жазды. Содан кейін біз оларды өндіріске қабылдай алатындай күйге келтіреміз.

Бұл мәселелер студенттерге осы дерекқорлардың әрқайсысы үшін толық сақтық көшірме құралдарын жазу қажет емес сияқты. Бізде мұндай проблема болған жоқ. Мәселе мынада: біз уақытында қалпына келтіруді қалаймыз және бұлтқа сақтық көшірме жасағымыз келді. Және олар студенттерден осы мәселені шешетін код жазуды сұрады. Студенттер бұрыннан бар сақтық көшірме құралдарын қолданды, олар қандай да бір түрде сақтық көшірме жасайды, содан кейін барлығын WAL-G көмегімен желімдеп, барлығын бұлтқа жіберді. Сондай-ақ олар бұған уақытында қалпына келтіруді қосты.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Оқушылар тағы не әкелді? Олар WAL-G-ге Libsodium шифрлау қолдауын әкелді.

Бізде сақтық көшірме сақтау саясаттары да бар. Енді сақтық көшірмелерді тұрақты деп белгілеуге болады. Сіздің қызметіңізге оларды сақтау процесін автоматтандыру қандай да бір жолмен ыңғайлы.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бұл эксперименттің нәтижесі қандай болды?

Курсқа алғашында 100-ден астам адам тіркелген. Алғашында Екатеринбургтегі университет Орал федералды университеті деп айтқан жоқпын. Барлығын сонда жария еттік. 100 адам тіркелді. Шындығында, бірдеңе жасай бастағандар әлдеқайда аз, шамамен 30 адам.

Курсты одан да аз адамдар аяқтады, өйткені бұрыннан бар кодтарға тест жазу керек болды. Сондай-ақ кейбір қателерді түзетіңіз немесе қандай да бір функция жасаңыз. Ал кейбір студенттер әлі де курсты жапты.

Қазіргі уақытта осы курс барысында студенттер 14-ке жуық мәселені шешіп, әртүрлі көлемдегі 10 мүмкіндікті жасады. Менің ойымша, бұл бір немесе екі әзірлеушіні толыққанды ауыстыру.

Оның ішінде дипломдар мен курстық жұмыстарды бердік. Ал 12-сі диплом алды. Олардың 6-ы «5-ке» қорғанып үлгерді. Қалғандардың қорғанысы әлі болмады, бірақ олар үшін де бәрі жақсы болады деп ойлаймын.

Болашақ жоспарлары

Болашаққа қандай жоспарларымыз бар?

Кем дегенде, біз пайдаланушылардан естіген және орындағымыз келетін мүмкіндік сұраулары. Бұл:

  • HA кластерінің сақтық көшірме мұрағатындағы уақыт шкаласын бақылаудың дұрыстығын бақылау. Мұны WAL-G арқылы жасауға болады. Ал бізде осы істі қолға алатын студенттер болады деп ойлаймын.
  • Бізде сақтық көшірмелер мен WAL бұлттар арасында тасымалдауға жауапты адам бар.
  • Жақында біз WAL-G жылдамдығын беттерді қайта жазбай-ақ қосымша сақтық көшірмелерді ашу және сол жерге жіберетін мұрағаттарды оңтайландыру арқылы одан әрі жылдамдата алатынымыз туралы идеяны жарияладық.

Сіз оларды осында бөлісе аласыз

Бұл есеп не үшін болды? Оның үстіне, қазір бұл жобаны қолдайтын 4 адамнан басқа, бізде қосымша қолдар бар, олардың саны өте көп. Әсіресе, егер сіз оларға жеке хабарламада жазсаңыз. Егер деректеріңіздің сақтық көшірмесін жасап, оны WAL-G арқылы жасасаңыз немесе WAL-G жүйесіне ауысқыңыз келсе, біз сіздің тілектеріңізді оңай орындай аламыз.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Бұл QR коды және сілтеме. Сіз олардың арасынан өтіп, барлық тілектеріңізді жаза аласыз. Мысалы, біз кейбір қателерді түзетпейміз. Немесе сіз шынымен қандай да бір мүмкіндікті алғыңыз келеді, бірақ қандай да бір себептермен ол әлі ешқандай сақтық көшірмеде жоқ, соның ішінде біздікі. Бұл туралы міндетті түрде жазыңыз.

WAL-G: жаңа мүмкіндіктер және қауымдастықтың кеңеюі. Георгий Рылов

Сіздің сұрақтарыңыз

Сәлеметсіз бе! Есеп үшін рахмет! WAL-G туралы сұрақ, бірақ Postgres туралы емес. WAL-G MySQL сақтық көшірмесін жасайды және қосымша сақтық көшірмені шақырады. Егер біз CentOS жүйесінде заманауи қондырғыларды алсақ және MySQL-ті жақсы орнатсаңыз, MariDB орнатылады. 10.3 нұсқасынан бастап қосымша сақтық көшірмеге қолдау көрсетілмейді, MariDB сақтық көшірмесіне қолдау көрсетіледі. Бұған қалай қарайсыз?

Қазіргі уақытта біз MariDB сақтық көшірмесін жасауға тырысқан жоқпыз. Бізде FoundationDB қолдауына сұраныстар болды, бірақ жалпы, егер мұндай сұраныс болса, біз оны орындайтын адамдарды таба аламыз. Бұл мен ойлағандай ұзақ немесе қиын емес.

Қайырлы күн! Есеп үшін рахмет! Ықтимал жаңа мүмкіндіктер туралы сұрақ. Таспаларға сақтық көшірме жасау үшін WAL-G таспалармен жұмыс істеуге дайынсыз ба?

Таспа сақтау орнындағы сақтық көшірме дегенді білдіреді ме?

Иә.

Бұл сұраққа менен қарағанда жақсы жауап беретін Андрей Бородин бар.

(Андрей) Иә, сұраққа рахмет! Сақтық көшірмені бұлттық қоймадан таспаға көшіру туралы өтінішіміз болды. Және бұл үшін аралау бұлттар арасында тасымалдау. Өйткені бұлттан бұлтқа тасымалдау таспаны берудің жалпыланған нұсқасы болып табылады. Сонымен қатар, бізде сақтау орындары бойынша кеңейтілген архитектура бар. Айтпақшы, көптеген Сторогтарды студенттер жазған. Ал таспаға арналған Сақтау деп жазсаңыз, оған, әрине, қолдау көрсетіледі. Біз тарту сұрауларын қарастыруға дайынбыз. Онда файлды жазу, файлды оқу керек. Егер сіз осы әрекеттерді Go бағдарламасында жасасаңыз, әдетте 50 жол кодымен аяқталады. Содан кейін таспаға WAL-G қолдау көрсетіледі.

Есеп үшін рахмет! Қызықты даму процесі. Сақтық көшірме - бұл сынақтармен жақсы қамтылуы керек функционалдылықтың маңызды бөлігі. Жаңа дерекқорларға арналған функционалдылықты енгізген кезде, студенттер де тест жазды ма, әлде тесттерді өзіңіз жазып, содан кейін іске асыруды студенттерге бердіңіз бе?

Оқушылар тест тапсырмаларын да жазды. Бірақ студенттер жаңа дерекқорлар сияқты мүмкіндіктер үшін көбірек жазды. Олар интеграциялық тесттер жазды. Және олар бірлік сынақтарын жазды. Егер интеграция өтіп кетсе, яғни қазіргі уақытта бұл сіз қолмен орындайтын сценарий немесе сізде оны cron жасайды, мысалы. Яғни, ол жердегі сценарий өте түсінікті.

Студенттердің тәжірибесі аз. Тексеру көп уақытты алады ма?

Иә, шолулар көп уақытты алады. Яғни, әдетте, бірден бірнеше комиссар келіп, мен мынаны істедім, мен олай істедім десе, онда олардың не жазғанын білу үшін жарты күнді ойланып, уақыт бөлу керек. Өйткені кодты мұқият оқып шығу керек. Олар сұхбат алған жоқ. Біз оларды жақсы білмейміз, сондықтан бұл айтарлықтай уақытты алады.

Есеп үшін рахмет! Бұрын Андрей Бородин WAL-G-дегі archive_command тікелей шақырылуы керек деп мәлімдеді. Бірақ кластерлік картридждің қандай да бір түрі болған жағдайда, біліктерді жіберетін түйінді анықтау үшін бізге қосымша логика қажет. Бұл мәселені өзіңіз қалай шешесіз?

Бұл жерде сіздің проблемаңыз не? Сізде сақтық көшірме жасап жатқан синхронды көшірмеңіз бар делік? Немесе не?

(Андрей) Шынында да, WAL-G қабық сценарийлерінсіз пайдалануға арналған. Егер бірдеңе жетіспесе, WAL-G ішінде болуы керек логиканы қосамыз. Мұрағаттауды қайдан алу керек дегенге келетін болсақ, мұрағаттау кластердегі ағымдағы шеберден болуы керек деп есептейміз. Көшірмеден мұрағаттау жаман идея. Мәселелері бар әртүрлі ықтимал сценарийлер бар. Атап айтқанда, уақыт шкаласын және кез келген қосымша ақпаратты мұрағаттау проблемалары. Сұрақ үшін рахмет!

(Түсіндіру: біз қабық сценарийлерінен құтылдық осы мәселеде)

Қайырлы кеш! Есеп үшін рахмет! Мен сіз айтқан қуып жету мүмкіндігіне қызығамын. Біз көшірме артта қалып, қуып жете алмайтын жағдайға тап болдық. Мен WAL-G құжаттарында бұл мүмкіндіктің сипаттамасын таппадым.

Catchup 20 жылдың 2020 қаңтарында пайда болды. Құжаттамаға қосымша жұмыс қажет болуы мүмкін. Біз оны өзіміз жазамыз және оны өте жақсы жазбаймыз. Мүмкін біз студенттерден оны жазуды талап етуді бастау керек шығар.

Ол қазірдің өзінде шығарылды ма?

Тарту сұрауы әлдеқашан өлі, яғни мен оны тексердім. Мен мұны сынақ кластерінде көрдім. Әзірге бізде мұны жауынгерлік мысалда сынайтын жағдай болған жоқ.

Қашан күтуге болады?

Мен білмеймін. Бір ай күтіңіз, біз міндетті түрде тексереміз.

Ақпарат көзі: www.habr.com

пікір қалдыру