WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

مان توهان کي صلاح ڏيان ٿو ته توهان پڙهو شروعاتي 2020 جي رپورٽ جارجي رائلوف جي "WAL-G: نوان موقعا ۽ ڪميونٽي جي توسيع"

اوپن سورس سنڀاليندڙ ڪيترن ئي چئلينجن کي منهن ڏين ٿا جيئن اهي وڌندا آهن. وڌيڪ ۽ وڌيڪ گهربل خاصيتون ڪيئن لکجي، وڌيڪ ۽ وڌيڪ مسئلن کي حل ڪريو ۽ وڌيڪ ۽ وڌيڪ ڇڪڻ جي درخواستن کي ڏسڻ لاء منظم ڪريو؟ مثال طور WAL-G (Backup-tool for PostgreSQL) استعمال ڪندي، مان توهان کي ٻڌايان ٿو ته ڪيئن اسان يونيورسٽي ۾ اوپن سورس ڊولپمينٽ تي ڪورس شروع ڪري انهن مسئلن کي حل ڪيو، اسان ڇا حاصل ڪيو ۽ اڳتي هلي ڪٿي وينداسين.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هيلو وري سڀني کي! مان Yekaterinburg کان Yandex ڊولپر آهيان. ۽ اڄ مان 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-G تمام گهڻو وڌي چڪو آهي.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

۽ 2020 تائين، مٿين سڀني کان اڳ ۾ ئي ظاهر ٿي چڪو آهي. ۽ انهي ۾ شامل ڪيو ويو جيڪو اسان وٽ آهي:

  • GitHub تي 1 ستارن کان وڌيڪ.
  • 150 فورڪس.
  • اٽڪل 15 اوپن پي آرز.
  • ۽ ٻيا ڪيترائي مددگار.
  • ۽ کليل مسئلا هر وقت. ۽ هن حقيقت جي باوجود ته اسان لفظي طور تي هر روز اتي وڃون ٿا ۽ ان بابت ڪجهه ڪندا آهيون.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

۽ اسان ان نتيجي تي پهتاسين ته هي پروجيڪٽ اسان جي وڌيڪ توجه جي ضرورت آهي، تڏهن به جڏهن اسان پاڻ کي Yandex ۾ اسان جي منظم ڊيٽابيس سروس لاءِ ڪجهه به لاڳو ڪرڻ جي ضرورت ناهي.

۽ ڪٿي 2018 جي ​​زوال ۾، هڪ خيال اسان جي ذهن ۾ آيو. عام طور تي ٽيم وٽ ڪيترائي طريقا آھن جيڪي ڪجھ خاصيتون ٺاھيو يا بگ کي درست ڪريو جيڪڏھن توھان وٽ ڪافي ھٿ نه آھن. مثال طور، توهان هڪ ٻئي ڊولپر کي نوڪري ڪري سگهو ٿا ۽ کيس پئسا ادا ڪري سگهو ٿا. يا توهان ڪجهه وقت لاءِ انٽرن تي وٺي سگهو ٿا ۽ هن کي ڪجهه تنخواه پڻ ادا ڪري سگهو ٿا. پر اڃا تائين ماڻهن جو هڪ وڏو گروهه آهي، جن مان ڪجهه پهريان ئي ڄاڻن ٿا ته ڪوڊ ڪيئن لکڻو آهي. توهان هميشه نه ٿا ڄاڻو ته ڪوڊ ڪهڙي معيار آهي.

اسان ان جي باري ۾ سوچيو ۽ شاگردن کي راغب ڪرڻ جي ڪوشش ڪرڻ جو فيصلو ڪيو. پر شاگرد اسان سان گڏ هر شي ۾ حصو نه وٺندا. اهي صرف ڪم جو ڪجهه حصو ڪندا. ۽ اهي، مثال طور، ٽيسٽ لکندا، بگ درست ڪندا، خاصيتون لاڳو ڪندا جيڪي مکيه ڪارڪردگي کي متاثر نه ڪن. بنيادي ڪارڪردگي بيڪ اپ ٺاهڻ ۽ بيڪ اپ بحال ڪرڻ آهي. جيڪڏهن اسان هڪ بيڪ اپ ٺاهڻ ۾ غلطي ڪريون ٿا، اسان ڊيٽا جي نقصان جو تجربو ڪنداسين. ۽ ڪو به اهو نٿو چاهي، يقينا. هرڪو چاهي ٿو ته هر شيء بلڪل محفوظ هجي. تنهن ڪري، يقينا، اسان اهو ڪوڊ نه ڏيڻ چاهيون ٿا جيڪو اسان پنهنجي پاڻ کان گهٽ تي ڀروسو ڪريون ٿا. اهو آهي، ڪو به غير نازڪ ڪوڊ آهي جيڪو اسان حاصل ڪرڻ چاهيندا آهيون اسان جي اضافي ڪارڪنن کان.

ڪهڙن شرطن تحت شاگرد پي آر قبول ڪيو ويو آهي؟

  • انهن کي لازمي آهي ته انهن جي ڪوڊ کي ٽيسٽ سان ڍڪي. CI ۾ سڀ ڪجهه ٿيڻ گهرجي.
  • ۽ اسان پڻ وڃون ٿا 2 جائزو. هڪ آندري بوروڊين طرفان ۽ ٻيو منهنجي طرفان.
  • ۽ اضافي طور تي، اهو چيڪ ڪرڻ لاء ته اهو اسان جي خدمت ۾ ڪجهه به نه ٽوڙيندو، آئون الڳ الڳ اپلوڊ ڪيو اسيمبليء سان گڏ. ۽ اسان آخر کان آخر تائين جاچ ڪريون ٿا ته ڪجھ به ناڪام نه ٿيو.

اوپن سورس تي خاص ڪورس

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

ٿورڙي بابت ڇو ته اها ضرورت آهي ۽ ڇو هي، مون کي لڳي ٿو، هڪ ٿڌو خيال آهي.

اسان لاء، منافعو واضح آهي:

  • اسان کي اضافي هٿ ملن ٿا.
  • ۽ اسان سمارٽ شاگردن جي ٽيم لاءِ اميدوار ڳولي رهيا آهيون جيڪي سمارٽ ڪوڊ لکن ٿا.

شاگردن لاءِ ڪهڙو فائدو آهي؟

اهي گهٽ واضح ٿي سگهن ٿا، ڇاڪاڻ ته شاگرد، گهٽ ۾ گهٽ، رقم وصول نه ڪندا آهن ڪوڊ لاءِ جيڪي اهي لکندا آهن، پر صرف انهن جي شاگردن جي رڪارڊ لاءِ گريڊ حاصل ڪندا آهن.

مون کانئن ان باري ۾ پڇيو. ۽ سندن لفظن ۾:

  • اوپن سورس ۾ مددگار تجربو.
  • توهان جي CV ۾ هڪ لائن حاصل ڪريو.
  • پاڻ کي ثابت ڪريو ۽ Yandex ۾ هڪ انٽرويو پاس ڪريو.
  • هڪ GSoC ميمبر ٿيو.
  • +1 خاص ڪورس انهن لاءِ جيڪي ڪوڊ لکڻ چاهن ٿا.

مان ان بابت نه ڳالهائيندس ته ڪورس ڪيئن ترتيب ڏنو ويو. مان صرف ايترو چوندس ته WAL-G مکيه منصوبو هو. اسان هن ڪورس ۾ Odyssey، PostgreSQL ۽ ClickHouse جهڙا منصوبا پڻ شامل ڪيا.

۽ انهن نه رڳو هن ڪورس ۾ مسئلا ڏنا، پر ڊپلوما ۽ ڪورس ورڪ پڻ ڏنا.

صارفين لاء فائدي بابت ڇا؟

هاڻي اچو ته ان حصي ڏانهن وڃو جنهن ۾ توهان کي تمام گهڻي دلچسپي آهي. ان مان توهان کي ڪهڙو فائدو؟ نقطو اهو آهي ته شاگردن تمام گهڻا ڪيڙا درست ڪيا آهن. ۽ اسان درخواست جون خاصيتون ڪيون جيڪي توهان اسان کي ڪرڻ لاءِ چيو.

۽ مان توهان کي انهن شين جي باري ۾ ٻڌايان ٿو جيڪي توهان ڊگهي عرصي کان چاهيندا هئا ۽ جيڪي محسوس ڪيا ويا آهن.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

ٽيبل اسپيس سپورٽ. WAL-G ۾ ٽيبل اسپيس جي توقع ڪئي وئي آهي شايد WAL-G جي ڇڏڻ کان وٺي، ڇاڪاڻ ته WAL-G ٻئي بيڪ اپ ٽول WAL-E جو جانشين آهي، جتي ٽيبل اسپيس سان گڏ ڊيٽابيس جي بيڪ اپ کي سپورٽ ڪيو ويو.

اچو ته مختصر طور تي توهان کي ياد ڏياريان ته اهو ڇا آهي ۽ اهو سڀ ڪجهه ڇو ضروري آهي. عام طور تي، توهان جي سڀني پوسٽ گريس ڊيٽا هڪ ڊاريڪٽري تي قبضو ڪري ٿو فائيل سسٽم تي، جنهن کي سڏيو ويندو آهي بنياد. ۽ هي ڊاريڪٽري اڳ ۾ ئي سڀني فائلن ۽ ذيلي ڊائريڪٽرن تي مشتمل آهي پوسٽ گريس طرفان گهربل.

ٽيبل اسپيس ڊائريڪٽريون آهن جن ۾ پوسٽ گريس ڊيٽا شامل آهن، پر اهي بنيادي ڊاريڪٽري کان ٻاهر نه آهن. سلائڊ ڏيکاري ٿو ته ٽيبل اسپيڪس بنيادي ڊاريڪٽري کان ٻاهر واقع آهن.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هي ڇا ٿو نظر اچي Postgres پاڻ لاءِ؟ بيس ڊاريڪٽري ۾ هڪ الڳ سب ڊاريڪٽري pg_tblspc آهي. ۽ ان ۾ ڊاريڪٽري لاءِ سملنڪس شامل آھن جيڪي اصل ۾ بنيادي ڊاريڪٽري کان ٻاھر پوسٽ گريس ڊيٽا تي مشتمل آھن.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

جڏهن توهان هي سڀ استعمال ڪندا آهيو، ته پوءِ توهان لاءِ اهي حڪم ڪجهه هن طرح نظر اچن ٿا. اهو آهي، توهان ڪجهه مخصوص ٽيبل اسپيس ۾ هڪ ٽيبل ٺاهيو ۽ ڏسو ته اهو هاڻي ڪٿي آهي. اهي آخري ٻه لائينون آهن، آخري ٻن حڪمن کي سڏيو ويندو آهي. ۽ اتي اهو واضح آهي ته اتي ڪجهه طريقو آهي. پر حقيقت ۾، اهو حقيقي طريقو ناهي. هي بنيادي ڊاريڪٽري کان ٽيبل اسپيس تائين اڳوڻو رستو آهي. ۽ اتان کان اهو هڪ symlink سان ملائي ٿو جيڪو توهان جي حقيقي ڊيٽا ڏانهن وٺي ٿو.

اسان اهو سڀ ڪجهه پنهنجي ٽيم ۾ استعمال نٿا ڪريون، پر اهو ڪيترن ئي ٻين WAL-E استعمال ڪندڙن طرفان استعمال ڪيو ويو جن اسان کي لکيو ته اهي WAL-G ڏانهن وڃڻ چاهين ٿا، پر اهو انهن کي روڪي رهيو هو. هي هاڻي حمايت ڪئي وئي آهي.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هڪ ٻي خاصيت جيڪا اسان جو خاص ڪورس اسان وٽ کڻي آئي آهي اها پڪ اپ آهي. اهي ماڻهو جيڪي شايد وڌيڪ ڪم ڪيا آهن Oracle سان گڏ پوسٽ گريس سان گڏ ڪيچ اپ بابت ڄاڻن ٿا.

مختصر طور تي اهو ڇا آهي. اسان جي خدمت ۾ ڪلستر ٽوپولوجي عام طور تي ڪجهه هن طرح نظر اچن ٿا. اسان وٽ هڪ ماسٽر آهي. اتي ھڪڙو نقل آھي جيڪو اسٽريم لکڻ کان اڳ لاگ ان کان. ۽ ريپليڪا ماسٽر کي ٻڌائي ٿي ته اهو LSN هن وقت آهي. ۽ انهي سان گڏ متوازي طور تي، لاگ ان کي محفوظ ڪري سگهجي ٿو. ۽ لاگ کي آرڪائيو ڪرڻ کان علاوه، بيڪ اپ پڻ بادل ڏانهن موڪليا ويا آهن. ۽ ڊيلٽا بيڪ اپ موڪليا ويا آهن.

ڇا مسئلو ٿي سگهي ٿو؟ جڏهن توهان وٽ ڪافي وڏو ڊيٽابيس آهي، اهو ٿي سگهي ٿو ته توهان جي نقل ماسٽر جي پويان تمام گهڻو پوئتي ٿيڻ شروع ٿئي ٿي. ۽ هوءَ ايترو ته پوئتي رهي ٿي جو هوءَ ڪڏهن به هن کي پڪڙي نٿي سگهي. اهو مسئلو عام طور تي ڪنهن به طريقي سان حل ڪرڻ جي ضرورت آهي.

۽ آسان طريقو اهو آهي ته نقل کي هٽائڻ ۽ ان کي ٻيهر اپلوڊ ڪرڻ، ڇو ته اهو ڪڏهن به پڪڙي نه سگهندو، ۽ مسئلو سان معاملو ڪرڻ جي ضرورت آهي. پر اهو ڪافي ڊگهو وقت آهي، ڇاڪاڻ ته مڪمل 10 ٽي بي ڊيٽابيس جي بيڪ اپ کي بحال ڪرڻ تمام ڊگهو وقت آهي. ۽ اسان چاهيون ٿا ته اهو سڀ ڪجهه جلدي ممڪن ٿي سگهي جيڪڏهن اهڙا مسئلا پيدا ٿين. ۽ اھو اھو آھي جيڪو پڪڙڻ لاء آھي.

ڪيچ اپ توهان کي ڊيلٽا بيڪ اپ استعمال ڪرڻ جي اجازت ڏئي ٿو، جيڪي هن طريقي سان ڪلائوڊ ۾ محفوظ ٿيل آهن. توهان چئو ٿا ته ڪهڙي LSN ليگنگ ريپليڪا هن وقت تي آهي ۽ ان کي ڪيچ اپ ڪمانڊ ۾ بيان ڪريو انهي LSN ۽ LSN جي وچ ۾ ڊيلٽا بيڪ اپ ٺاهڻ لاءِ جنهن تي توهان جو ڪلستر هن وقت واقع آهي. ۽ ان کان پوءِ توھان ھن بيڪ اپ کي ريپليڪا ڏانھن بحال ڪيو جيڪو پوئتي رھيو ھو.

ٻيا بنياد

شاگردن به اسان کي هڪ ئي وقت ۾ ڪيتريون ئي خوبيون ڏنيون. جيئن ته Yandex تي اسان نه رڳو پوسٽ گريس پکايا، پر اسان وٽ MySQL، MongoDB، Redis، ClickHouse پڻ آهن، ڪجهه وقت تي اسان کي MySQL لاءِ پوائنٽ-ان-ٽائم بحالي سان بيڪ اپ ٺاهڻ جي قابل ٿيڻ جي ضرورت هئي، ۽ انهي ڪري ته اتي اپلوڊ ڪرڻ جو موقعو مليو. ان کي بادل ڏانهن.

۽ اسان چاهيون ٿا ته اهو ڪجهه ساڳئي طريقي سان WAL-G ڪري ٿو. ۽ اسان تجربو ڪرڻ جو فيصلو ڪيو ۽ ڏسو ته اهو سڀ ڪجهه ڪيئن نظر ايندو.

۽ پهرين ۾، هن منطق کي ڪنهن به طريقي سان حصيداري ڪرڻ کان سواء، انهن ڪوڊ ۾ لکيو. هنن ڏٺو ته اسان وٽ ڪنهن قسم جو ڪم ڪندڙ ماڊل آهي ۽ اهو اڏامي سگهي ٿو. پوء اسان سوچيو ته اسان جي مکيه ڪميونٽي پوسٽ گريسٽ آهي، اهي WAL-G استعمال ڪندا آهن. ۽ تنهن ڪري اسان کي انهن حصن کي الڳ ڪرڻ جي ضرورت آهي. اهو آهي، جڏهن اسان پوسٽ گريس لاءِ ڪوڊ ايڊٽ ڪندا آهيون، اسان MySQL کي ٽوڙيندا آهيون؛ جڏهن اسان MySQL کي ايڊٽ ڪندا آهيون، اسان Postgres کي نه ٽوڙيندا آهيون.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هن کي الڳ ڪرڻ جي باري ۾ پهريون خيال اهو ساڳيو طريقو استعمال ڪرڻ جو خيال هو جيڪو PostgreSQL ايڪسٽينشن ۾ استعمال ڪيو ويندو آهي. ۽، حقيقت ۾، هڪ MySQL بيڪ اپ ٺاهڻ لاء توهان کي ڪنهن قسم جي متحرڪ لائبريري کي نصب ڪرڻو پوندو.

پر هتي هن طريقي جي هڪجهڙائي فوري طور تي نظر اچي ٿي. جڏهن توهان پوسٽ گريس جو بيڪ اپ ڪريو ٿا، توهان پوسٽ گريس لاءِ ان تي هڪ عام بيڪ اپ رکو ٿا ۽ هر شي ٺيڪ آهي. ۽ MySQL لاءِ اهو ظاهر ٿيو ته توهان پوسٽ گريس لاءِ بيڪ اپ انسٽال ڪيو ۽ ان لاءِ MySQL لاءِ هڪ متحرڪ لائبريري پڻ انسٽال ڪيو. اهو عجيب قسم جو آواز آهي. اسان به ائين سوچيو ۽ فيصلو ڪيو ته اهو حل نه هو جنهن جي اسان کي ضرورت هئي.

Postgres، MySQL، MongoDB، Redis لاءِ مختلف تعميرات

پر هن اسان کي اجازت ڏني، اهو اسان کي لڳي ٿو، صحيح فيصلي تي اچڻ لاء - مختلف اسيمبلين کي مختلف بنيادن لاء مختص ڪرڻ لاء. اهو مختلف ڊيٽابيس جي بيڪ اپ سان ڳنڍيل منطق کي الڳ ڪرڻ ممڪن بڻائي ٿو جيڪو عام API تائين رسائي ڪندو جيڪو WAL-G لاڳو ڪري ٿو.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

اھو اھو حصو آھي جيڪو اسان پاڻ لکيو آھي - شاگردن کي مسئلا ڏيڻ کان اڳ. اھو آھي، اھو بلڪل اھو حصو آھي جتي اھي ڪجھھ غلط ڪري سگھن ٿا، تنھنڪري اسان فيصلو ڪيو آھي ته اسان بھتر آھيون ڪجھھ اھڙي طرح ۽ سڀ ڪجھ ٺيڪ ٿي ويندو.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

ان کان پوء اسان مسئلا پيش ڪيا. انهن کي فوري طور تي ختم ڪيو ويو. شاگردن کي ٽن بنيادن جي حمايت ڪرڻ جي ضرورت هئي.

هي MySQL آهي، جنهن کي اسان هڪ سال کان وڌيڪ عرصي کان هن طريقي سان WAL-G استعمال ڪري رهيا آهيون.

۽ هاڻي MongoDB پيداوار جي ويجهو آهي، جتي اهي ان کي فائل سان ختم ڪري رهيا آهن. حقيقت ۾، اسان هن سڀني لاء فريم ورڪ لکيو. پوءِ شاگردن ڪجهه ڪم لائق شيون لکيون. ۽ پوءِ اسان انھن کي ھڪڙي حالت ۾ آڻينداسين ته اسان پيداوار ۾ قبول ڪري سگھون ٿا.

اهي مسئلا نظر نه آيا شاگردن کي انهن ڊيٽابيس مان هر هڪ لاء مڪمل بيڪ اپ اوزار لکڻ جي ضرورت آهي. اسان وٽ اهڙو مسئلو نه هو. اسان جو مسئلو اهو هو ته اسان چاهيون ٿا پوائنٽ ۾ وقت جي بحالي ۽ اسان چاهيون ٿا ته بادل ڏانهن بيڪ اپ. ۽ انهن شاگردن کي چيو ته ڪجهه ڪوڊ لکن جيڪو اهو حل ڪري سگهي ٿو. شاگردن اڳ ۾ ئي موجود بيڪ اپ ٽولز استعمال ڪيا، جيڪي ڪنهن نه ڪنهن طريقي سان بيڪ اپ وٺندا آهن، ۽ پوءِ ان سڀني کي WAL-G سان ڳنڍيندا آهن، جنهن اهو سڀ ڪجهه ڪلائوڊ ڏانهن موڪليو. ۽ انهن پڻ شامل ڪيو پوائنٽ ۾ وقت جي بحالي هن ۾.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

شاگرد ٻيو ڇا کڻي آيا؟ اهي ليبسوڊيم انڪرپشن سپورٽ WAL-G ڏانهن کڻي آيا.

اسان وٽ پڻ بيڪ اپ اسٽوريج پاليسيون آهن. ھاڻي بيڪ اپ کي مستقل طور نشان لڳائي سگھجي ٿو. ۽ ڪنهن به طرح اهو توهان جي خدمت لاءِ وڌيڪ آسان آهي انهن کي محفوظ ڪرڻ جي عمل کي خودڪار ڪرڻ.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هن تجربي جو نتيجو ڇا هو؟

100 کان وڌيڪ ماڻهن شروعاتي طور تي ڪورس لاء رجسٽرڊ ڪيو. پهرين ۾ مون اهو نه چيو هو ته يڪاترينبرگ ۾ يونيورسٽي يورال وفاقي يونيورسٽي آهي. اسان اتي سڀ ڪجهه اعلان ڪيو. 100 ماڻهو رجسٽرڊ ٿيا. حقيقت ۾، تمام گهٽ ماڻهن ڪجهه ڪرڻ شروع ڪيو، اٽڪل 30 ماڻهو.

جيتوڻيڪ ٿورن ماڻهن ڪورس مڪمل ڪيو، ڇاڪاڻ ته اهو ضروري هو ته اڳ ۾ موجود ڪوڊس لاءِ ٽيسٽ لکڻ گهرجن. ۽ پڻ ڪجھ بگ درست ڪريو يا ڪجھ خصوصيت ٺاھيو. ۽ ڪجهه شاگردن اڃا تائين ڪورس بند ڪيو.

هن وقت، هن ڪورس دوران، شاگردن اٽڪل 14 مسئلا حل ڪيا آهن ۽ مختلف سائزن جا 10 خاصيتون ٺاهيا آهن. ۽، اهو مون کي لڳي ٿو، اهو هڪ يا ٻه ڊولپرز جي مڪمل متبادل آهي.

ٻين شين مان، اسان ڊپلوما ۽ ڪورس ڪم جاري ڪيو. ۽ 12 ڊپلوما حاصل ڪيا. انهن مان 6 اڳ ۾ ئي پاڻ کي "5" تي دفاع ڪيو آهي. باقي جيڪي بچيا آهن انهن کي اڃا تحفظ نه آهي، پر مان سمجهان ٿو ته انهن لاءِ به سڀ ڪجهه ٺيڪ ٿي ويندو.

مستقبل لاء منصوبا

اسان وٽ مستقبل لاءِ ڪهڙا منصوبا آهن؟

گهٽ ۾ گهٽ اهي خصوصيتون درخواستون جيڪي اسان اڳ ۾ ئي صارفين کان ٻڌيون آهن ۽ ڪرڻ چاهيون ٿا. هي:

  • HA ڪلستر جي بيڪ اپ آرڪائيو ۾ ٽائم لائن ٽريڪنگ جي درستگي جي نگراني. توھان ھي ڪري سگھو ٿا WAL-G سان. ۽ مان سمجهان ٿو ته اسان وٽ شاگرد هوندا جيڪي هن معاملي کي کڻندا.
  • اسان وٽ اڳ ۾ ئي ھڪڙو شخص آھي جيڪو بادل جي وچ ۾ بيڪ اپ ۽ وال کي منتقل ڪرڻ جو ذميوار آھي.
  • ۽ اسان تازو هڪ خيال شايع ڪيو آهي ته اسان WAL-G کي اڃا به وڌيڪ تيز ڪري سگهون ٿا واڌو بيڪ اپ ڪڍڻ بغير صفحن کي ٻيهر لکڻ ۽ آرڪائيوز کي بهتر ڪرڻ سان.

توھان انھن کي حصيداري ڪري سگھو ٿا هتي

هي رپورٽ ڪهڙي لاءِ هئي؟ ان کان علاوه، هاڻي، 4 ماڻهن کان علاوه جيڪي هن منصوبي جي حمايت ڪن ٿا، اسان وٽ اضافي هٿ آهن، جن مان ڪافي آهن. خاص طور تي جيڪڏهن توهان انهن کي ذاتي پيغام ۾ لکندا آهيو. ۽ جيڪڏھن توھان پنھنجي ڊيٽا جو بيڪ اپ ڪريو ٿا ۽ اھو WAL-G استعمال ڪندي ڪندا آھيو يا WAL-G ڏانھن وڃڻ چاھيو ٿا، ته پوءِ اسان توھان جي خواهش کي آساني سان گڏ ڪري سگھون ٿا.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

هي هڪ QR ڪوڊ ۽ هڪ لنڪ آهي. توهان انهن جي ذريعي وڃو ۽ توهان جي سڀني خواهشون لکي سگهو ٿا. مثال طور، اسان ڪجھ بگ کي درست نه ڪري رهيا آهيون. يا توهان واقعي ڪجهه خاصيت چاهيو ٿا، پر ڪجهه سببن لاء اهو اڃا تائين ڪنهن به بيڪ اپ ۾ ناهي، بشمول اسان جي. ان باري ۾ ضرور لکجو.

WAL-G: نئين خاصيتون ۽ ڪميونٽي جي توسيع. جارجي رائلوف

توهان جا سوال

سلام! رپورٽ لاءِ مهرباني! WAL-G بابت سوال، پر پوسٽ گريس بابت نه. WAL-G MySQL کي بيڪ اپ ڪري ٿو ۽ اضافي بيڪ اپ کي سڏي ٿو. جيڪڏهن اسان CentOS تي جديد تنصيب وٺون ٿا ۽ جيڪڏهن توهان yum انسٽال ڪريو MySQL، ماري ڊي بي انسٽال ٿي ويندي. ورشن 10.3 کان اضافي بيڪ اپ سپورٽ نه آهي، ماري ڊي بي بيڪ اپ سپورٽ ڪئي وئي آهي. توهان هن سان ڪيئن پيا آهيو؟

هن وقت اسان ماري ڊي بي کي بيڪ اپ ڪرڻ جي ڪوشش نه ڪئي آهي. اسان وٽ فائونڊيشن ڊي بي جي مدد لاءِ درخواستون آهن، پر عام طور تي، جيڪڏهن ڪا اهڙي درخواست آهي، ته پوءِ اسان ماڻهو ڳولي سگهون ٿا جيڪي اهو ڪندا. اهو ايترو ڊگهو يا ڏکيو ناهي جيترو مان سمجهان ٿو.

منجهند جو سلام رپورٽ لاءِ مهرباني! امڪاني نئين خاصيتن بابت سوال. ڇا توهان ٽيپ سان WAL-G ڪم ڪرڻ لاءِ تيار آهيو ته جيئن توهان ٽيپ جو بيڪ اپ ڪري سگهو؟

ٽيپ اسٽوريج تي بيڪ اپ ظاهري طور تي مطلب آهي؟

ها.

اتي Andrei Borodin آهي، جيڪو هن سوال جو جواب مون کان بهتر ڪري سگهي ٿو.

(اينڊري) ها، سوال لاءِ مهرباني! اسان کي ڪلائوڊ اسٽوريج مان ٽيپ ڏانهن بيڪ اپ منتقل ڪرڻ جي درخواست هئي. ۽ هن لاء ڏاڪڻ بادلن جي وچ ۾ منتقلي. ڇاڪاڻ ته ڪلائوڊ کان ڪلائوڊ منتقلي ٽيپ جي منتقلي جو هڪ عام نسخو آهي. ان کان علاوه، اسان وٽ اسٽوريج جي لحاظ کان هڪ وسيع فن تعمير آهي. رستي جي ذريعي، ڪيترن ئي اسٽريجز شاگردن پاران لکيل هئا. ۽ جيڪڏھن توھان لکندا اسٽوريج لاء ٽيپ، پوء اھو ضرور، سپورٽ ڪيو ويندو. اسان ڇڪڻ جي درخواستن تي غور ڪرڻ لاء تيار آهيون. اتي توھان کي ھڪڙي فائل لکڻ جي ضرورت آھي، ھڪڙي فائل پڙھو. جيڪڏهن توهان اهي شيون Go ۾ ڪندا آهيو، توهان عام طور تي 50 لائنن جي ڪوڊ سان ختم ڪندا آهيو. ۽ پوء ٽيپ کي سپورٽ ڪيو ويندو WAL-G ۾.

رپورٽ لاءِ مهرباني! دلچسپ ترقي جي عمل. بيڪ اپ ڪارڪردگي جو ھڪڙو سنگين ٽڪرو آھي جنھن کي چڱيءَ طرح جاچڻ گھرجي. جڏهن توهان نون ڊيٽابيس لاءِ ڪارڪردگيءَ تي عمل ڪيو، ڇا شاگردن پڻ ٽيسٽ لکيا، يا ڇا توهان ٽيسٽ پاڻ لکيا ۽ پوءِ شاگردن کي لاڳو ڪيو؟

شاگرد پڻ امتحان لکيا. پر شاگردن وڌيڪ مضمونن لاءِ لکيو آهي جهڙوڪ نئون ڊيٽابيس. انهن انضمام جا امتحان لکيا. ۽ اهي يونٽ ٽيسٽ لکيا. جيڪڏهن انضمام گذري ٿو، اهو آهي، هن وقت، هي هڪ اسڪرپٽ آهي جيڪو توهان دستي طور تي عمل ڪيو آهي يا توهان ان کي ڪري رهيا آهيو، مثال طور. يعني اتي جو اسڪرپٽ بلڪل صاف آهي.

شاگردن کي گهڻو تجربو نه آهي. ڇا جائزو وٺڻ گهڻو وقت وٺندو آهي؟

ها، جائزو تمام گهڻو وقت وٺندو آهي. اهو آهي، عام طور تي، جڏهن ڪيترائي ڪم ڪندڙ هڪ ڀيرو اچن ٿا ۽ چون ٿا ته مون اهو ڪيو، مون اهو ڪيو، پوء توهان کي سوچڻو پوندو ۽ اڌ ڏينهن کي الڳ ڪرڻ جي ضرورت آهي ته انهن اتي ڇا لکيو آهي. ڇاڪاڻ ته ڪوڊ کي احتياط سان پڙهڻ گهرجي. انهن جو ڪو به انٽرويو نه هو. اسان انهن کي چڱي طرح نه ٿا ڄاڻون، تنهنڪري اهو هڪ اهم وقت وٺندو آهي.

رپورٽ لاءِ مهرباني! اڳي، اينڊريو بوروڊين چيو آهي ته WAL-G ۾ archive_command سڌو سنئون سڏيو وڃي. پر ڪنهن قسم جي ڪلسٽر ڪارٽريج جي صورت ۾، اسان کي اضافي منطق جي ضرورت آهي ته نوڊ جو تعين ڪرڻ لاءِ جنهن مان شافٽ موڪلڻ لاءِ. توهان پاڻ هن مسئلي کي ڪيئن حل ڪندا؟

هتي توهان جو مسئلو ڇا آهي؟ اچو ته چئو ته توهان وٽ هڪ هم وقت ساز نقل آهي جنهن سان توهان بيڪ اپ ٺاهي رهيا آهيو؟ يا ڇا؟

(Andrey) حقيقت اها آهي ته واقعي WAL-G شيل اسڪرپٽ کان سواء استعمال ٿيڻ جو ارادو آهي. جيڪڏهن ڪجهه غائب آهي، ته پوء اچو ته منطق شامل ڪريو جيڪو WAL-G جي اندر هجڻ گهرجي. جيئن ته آرڪائيونگ ڪٿان اچڻ گهرجي، اسان سمجهون ٿا ته آرڪائيونگ ڪلستر ۾ موجوده ماسٽر کان هجڻ گهرجي. هڪ نقل مان آرڪائيو ڪرڻ هڪ خراب خيال آهي. مسئلن سان گڏ مختلف ممڪن منظرنامو آهن. خاص طور تي، آرڪائيو ٽائمز ۽ ڪنهن به اضافي معلومات سان مسئلا. سوال لاءِ مهرباني!

(وضاحت: اسان شيل اسڪرپٽ کان نجات حاصل ڪئي هن مسئلي ۾)

شام جو سلام! رپورٽ لاءِ مهرباني! مان توهان جي ڳالهه ٻولهه جي ڪيچ اپ خاصيت ۾ دلچسپي وٺان ٿو. اسان کي هڪ اهڙي صورتحال سان منهن ڏيڻو پيو جتي هڪ نقل پٺيان هئي ۽ پڪڙي نه سگهي. ۽ مون کي WAL-G دستاويزن ۾ ھن خصوصيت جي وضاحت نه ملي.

ڪيچ اپ لفظي طور تي 20 جنوري 2020 تي ظاهر ٿيو. دستاويز کي شايد وڌيڪ ڪم جي ضرورت آهي. اسان ان کي پاڻ لکون ٿا ۽ اسان ان کي سٺو نه ٿا لکون. ۽ شايد اسان کي شروع ڪرڻ گهرجي شاگردن کي ان کي لکڻ لاءِ.

ڇا اهو اڳ ۾ ئي جاري آهي؟

ڇڪڻ جي درخواست اڳ ۾ ئي مري چڪي آهي، يعني مون ان کي چڪاس ڪيو. مون هن کي آزمائشي ڪلستر تي آزمايو. اڃا تائين اسان وٽ اهڙي صورتحال نه آهي جتي اسان هن کي جنگي مثال ۾ آزمائي سگهون.

جڏهن توقع ڪجي؟

مون کي ناهي خبر. هڪ مهينو انتظار ڪريو، اسان پڪ سان جانچ ڪنداسين.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو