WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

میرا مشورہ ہے کہ آپ جارجی رائلوف کی 2020 کی ابتدائی رپورٹ کا ٹرانسکرپٹ پڑھیں "WAL-G: نئے مواقع اور کمیونٹی کی توسیع"

اوپن سورس مینٹینرز کو بڑھتے ہوئے بہت سے چیلنجز کا سامنا کرنا پڑتا ہے۔ زیادہ سے زیادہ مطلوبہ خصوصیات کیسے لکھیں، زیادہ سے زیادہ مسائل کو حل کریں اور زیادہ سے زیادہ پل کی درخواستوں کو دیکھنے کا انتظام کیسے کریں؟ مثال کے طور پر WAL-G (بیک اپ ٹول برائے 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-Delta بیک اپ نہیں تھا۔
  • اور ابھی بھی بہت کچھ غائب تھا۔

ان چند سالوں میں، WAL-G بہت بڑھ گیا ہے۔

WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

اور 2020 تک، مندرجہ بالا سب پہلے ہی ظاہر ہو چکا ہے۔ اور اس میں شامل کیا گیا جو اب ہمارے پاس ہے:

  • GitHub پر 1 سے زیادہ ستارے۔
  • 150 کانٹے
  • تقریباً 15 اوپن پی آر۔
  • اور بہت سارے تعاون کنندگان۔
  • اور کھلے مسائل ہر وقت۔ اور یہ اس حقیقت کے باوجود کہ ہم وہاں ہر روز لفظی طور پر جاتے ہیں اور اس کے بارے میں کچھ کرتے ہیں۔

WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

اور ہم اس نتیجے پر پہنچے کہ یہ پروجیکٹ ہماری زیادہ توجہ کا متقاضی ہے، یہاں تک کہ جب ہمیں خود Yandex میں اپنی منظم ڈیٹا بیس سروس کے لیے کسی چیز کو نافذ کرنے کی ضرورت نہیں ہے۔

اور کہیں 2018 کے موسم خزاں میں ہمارے ذہن میں ایک خیال آیا۔ عام طور پر ٹیم کے پاس کچھ خصوصیات تیار کرنے یا کیڑے ٹھیک کرنے کے کئی طریقے ہوتے ہیں اگر آپ کے پاس کافی ہاتھ نہیں ہیں۔ مثال کے طور پر، آپ کسی دوسرے ڈویلپر کی خدمات حاصل کر سکتے ہیں اور اسے رقم ادا کر سکتے ہیں۔ یا آپ تھوڑی دیر کے لیے انٹرن لے سکتے ہیں اور اسے کچھ تنخواہ بھی دے سکتے ہیں۔ لیکن اب بھی لوگوں کا ایک بہت بڑا گروپ ہے، جن میں سے کچھ پہلے سے ہی جانتے ہیں کہ کوڈ کیسے لکھنا ہے۔ آپ ہمیشہ یہ نہیں جانتے کہ کوڈ کا معیار کیا ہے۔

ہم نے اس کے بارے میں سوچا اور طلباء کو راغب کرنے کی کوشش کرنے کا فیصلہ کیا۔ لیکن طلباء ہمارے ساتھ ہر چیز میں حصہ نہیں لیں گے۔ وہ کام کا کچھ حصہ ہی کریں گے۔ اور وہ، مثال کے طور پر، ٹیسٹ لکھیں گے، کیڑے ٹھیک کریں گے، ایسی خصوصیات کو نافذ کریں گے جو مرکزی فعالیت کو متاثر نہیں کرتی ہیں۔ اہم فعالیت بیک اپ بنانا اور بیک اپ کو بحال کرنا ہے۔ اگر ہم بیک اپ بنانے میں غلطی کرتے ہیں، تو ہمیں ڈیٹا کے نقصان کا سامنا کرنا پڑے گا۔ اور کوئی بھی یہ نہیں چاہتا، یقینا. ہر کوئی چاہتا ہے کہ ہر چیز بہت محفوظ ہو۔ اس لیے، یقیناً، ہم ایسے کوڈ کی اجازت نہیں دینا چاہتے جس پر ہمیں اپنے سے کم بھروسہ ہو۔ یعنی، کوئی بھی غیر اہم کوڈ وہ ہے جو ہم اپنے اضافی کارکنوں سے وصول کرنا چاہیں گے۔

طالب علم PR کن شرائط کے تحت قبول کیا جاتا ہے؟

  • انہیں ٹیسٹ کے ساتھ اپنے کوڈ کا احاطہ کرنے کی ضرورت ہے۔ سب کچھ 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: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

پوسٹگریس کے لیے یہ کیسا لگتا ہے؟ بیس ڈائرکٹری میں ایک علیحدہ ذیلی ڈائرکٹری pg_tblspc ہے۔ اور اس میں ڈائرکٹریز کے سیملنک ہیں جو اصل میں بیس ڈائرکٹری سے باہر پوسٹگریس ڈیٹا پر مشتمل ہیں۔

WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

جب آپ یہ سب استعمال کرتے ہیں، تو آپ کے لیے یہ کمانڈز کچھ اس طرح لگ سکتے ہیں۔ یعنی آپ کچھ مخصوص ٹیبل اسپیس میں ایک ٹیبل بنائیں اور دیکھیں کہ یہ اب کہاں ہے۔ یہ آخری دو لائنیں ہیں، آخری دو کمانڈز کہلاتی ہیں۔ اور وہاں یہ واضح ہے کہ کوئی نہ کوئی راستہ ہے۔ لیکن حقیقت میں، یہ حقیقی طریقہ نہیں ہے. یہ بیس ڈائرکٹری سے ٹیبل اسپیس تک کا سابقہ ​​راستہ ہے۔ اور وہاں سے یہ ایک سملنک کے ساتھ ملایا جاتا ہے جو آپ کے حقیقی ڈیٹا کی طرف جاتا ہے۔

ہم یہ سب اپنی ٹیم میں استعمال نہیں کرتے، لیکن یہ بہت سے دوسرے WAL-E صارفین نے استعمال کیا جنہوں نے ہمیں لکھا کہ وہ WAL-G میں جانا چاہتے ہیں، لیکن یہ انہیں روک رہا ہے۔ اب اس کی حمایت کی گئی ہے۔

WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

ایک اور خصوصیت جو ہمارے خصوصی کورس نے ہمارے لیے لائی ہے وہ کیچ اپ ہے۔ وہ لوگ جنہوں نے شاید پوسٹگریس کے مقابلے اوریکل کے ساتھ زیادہ کام کیا ہے وہ کیچ اپ کے بارے میں جانتے ہیں۔

یہ کیا ہے اس کے بارے میں مختصراً۔ ہماری خدمت میں کلسٹر ٹوپولوجی عام طور پر کچھ اس طرح نظر آتی ہے۔ ہمارے پاس ایک ماسٹر ہے۔ ایک نقل ہے جو اس سے لکھنے کے آگے لاگ کو جاری کرتی ہے۔ اور نقل ماسٹر کو بتاتی ہے کہ یہ فی الحال کون سا LSN ہے۔ اور کہیں اس کے متوازی طور پر، لاگ کو آرکائیو کیا جا سکتا ہے۔ اور لاگ کو آرکائیو کرنے کے علاوہ، بیک اپ بھی کلاؤڈ کو بھیجے جاتے ہیں۔ اور ڈیلٹا بیک اپ بھیجے جاتے ہیں۔

کیا مسئلہ ہو سکتا ہے؟ جب آپ کے پاس کافی بڑا ڈیٹا بیس ہوتا ہے، تو یہ ہو سکتا ہے کہ آپ کی نقل ماسٹر سے بہت پیچھے رہ جاتی ہے۔ اور وہ اس قدر پیچھے رہ جاتی ہے کہ وہ کبھی بھی اس کا مقابلہ نہیں کر سکتی۔ یہ مسئلہ عام طور پر کسی نہ کسی طرح حل کرنے کی ضرورت ہے۔

اور سب سے آسان طریقہ یہ ہے کہ نقل کو ہٹا کر اسے دوبارہ اپ لوڈ کیا جائے، کیونکہ یہ کبھی نہیں پکڑے گا، اور اس مسئلے سے نمٹنے کی ضرورت ہے۔ لیکن یہ کافی لمبا وقت ہے، کیونکہ پورے 10 TB ڈیٹا بیس بیک اپ کو بحال کرنا بہت، بہت طویل وقت ہے۔ اور اگر اس طرح کے مسائل پیدا ہوتے ہیں تو ہم یہ سب جلد از جلد کرنا چاہتے ہیں۔ اور یہ بالکل وہی ہے جو کیچ اپ کے لئے ہے۔

کیچ اپ آپ کو ڈیلٹا بیک اپ استعمال کرنے کی اجازت دیتا ہے، جو اس طرح کلاؤڈ میں محفوظ ہوتے ہیں۔ آپ کہتے ہیں کہ کون سا LSN لیگنگ ریپلیکا فی الحال آن ہے اور اس LSN اور LSN کے درمیان ڈیلٹا بیک اپ بنانے کے لیے کیچ اپ کمانڈ میں اس کی وضاحت کریں جس پر آپ کا کلسٹر فی الحال موجود ہے۔ اور اس کے بعد آپ اس بیک اپ کو ریپلیکا پر بحال کریں جو پیچھے رہ گئی تھی۔

دوسرے اڈے

طالب علموں نے بھی ایک ساتھ بہت ساری خصوصیات ہمارے ساتھ پیش کیں۔ چونکہ Yandex میں ہم نہ صرف Postgres پکاتے ہیں، بلکہ ہمارے پاس MySQL، MongoDB، Redis، ClickHouse بھی ہیں، کسی وقت ہمیں MySQL کے لیے پوائنٹ ان ٹائم ریکوری کے ساتھ بیک اپ بنانے کے قابل ہونے کی ضرورت تھی، اور تاکہ اپ لوڈ کرنے کا موقع ملے۔ انہیں بادل کی طرف۔

اور ہم اسے کچھ اسی طرح سے کرنا چاہتے تھے جو WAL-G کرتا ہے۔ اور ہم نے تجربہ کرنے اور یہ دیکھنے کا فیصلہ کیا کہ یہ سب کیسا نظر آئے گا۔

اور پہلے تو اس منطق کو کسی بھی طرح سے شیئر کیے بغیر، انہوں نے کانٹے میں کوڈ لکھا۔ انہوں نے دیکھا کہ ہمارے پاس کسی قسم کا ورکنگ ماڈل ہے اور یہ اڑ سکتا ہے۔ پھر ہم نے سوچا کہ ہماری مرکزی برادری پوسٹ گریسٹ ہے، وہ WAL-G استعمال کرتے ہیں۔ اور اس لیے ہمیں کسی نہ کسی طرح ان حصوں کو الگ کرنے کی ضرورت ہے۔ یعنی جب ہم Postgres کے لیے کوڈ میں ترمیم کرتے ہیں، تو ہم MySQL کو نہیں توڑتے؛ جب ہم MySQL میں ترمیم کرتے ہیں، تو ہم Postgres کو نہیں توڑتے ہیں۔

WAL-G: نئی خصوصیات اور کمیونٹی کی توسیع۔ جارجی رائلوف

اس کو الگ کرنے کے بارے میں پہلا خیال اسی نقطہ نظر کو استعمال کرنے کا خیال تھا جو PostgreSQL ایکسٹینشن میں استعمال ہوتا ہے۔ اور درحقیقت، MySQL بیک اپ بنانے کے لیے آپ کو کسی قسم کی ڈائنامک لائبریری انسٹال کرنی پڑتی تھی۔

لیکن یہاں اس نقطہ نظر کی عدم توازن فوری طور پر نظر آتی ہے۔ جب آپ پوسٹگریس کا بیک اپ لیتے ہیں، تو آپ اس پر پوسٹگریس کے لیے ایک عام بیک اپ لگاتے ہیں اور سب کچھ ٹھیک ہوجاتا ہے۔ اور 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 پر جدید تنصیبات لیتے ہیں اور اگر آپ yum انسٹال MySQL کرتے ہیں تو MariDB انسٹال ہو جائے گا۔ ورژن 10.3 سے اضافی بیک اپ تعاون یافتہ نہیں ہے، MariDB بیک اپ سپورٹ ہے۔ آپ اس کے ساتھ کیسے کر رہے ہیں؟

اس وقت ہم نے MariDB کو بیک اپ کرنے کی کوشش نہیں کی ہے۔ ہمارے پاس فاؤنڈیشن ڈی بی سپورٹ کے لیے درخواستیں ہیں، لیکن عام طور پر، اگر ایسی کوئی درخواست ہے، تو ہم ایسے لوگوں کو تلاش کر سکتے ہیں جو اسے کریں گے۔ یہ اتنا لمبا یا مشکل نہیں جتنا میں سوچتا ہوں۔

صبح بخیر رپورٹ کے لیے شکریہ! ممکنہ نئی خصوصیات کے بارے میں سوال۔ کیا آپ WAL-G کو ٹیپ کے ساتھ کام کرنے کے لیے تیار ہیں تاکہ آپ ٹیپس میں بیک اپ لے سکیں؟

ٹیپ اسٹوریج پر بیک اپ کا بظاہر مطلب ہے؟

جی ہاں.

آندرے بوروڈن ہیں، جو اس سوال کا مجھ سے بہتر جواب دے سکتے ہیں۔

(اینڈرے) جی ہاں، سوال کے لیے شکریہ! ہمارے پاس کلاؤڈ اسٹوریج سے ٹیپ میں بیک اپ منتقل کرنے کی درخواست تھی۔ اور اس کے لیے کاٹنے بادلوں کے درمیان منتقلی کیونکہ کلاؤڈ ٹو کلاؤڈ ٹرانسفر ٹیپ ٹرانسفر کا عمومی ورژن ہے۔ اس کے علاوہ، ہمارے پاس اسٹوریج کے لحاظ سے ایک قابل توسیع فن تعمیر ہے۔ ویسے بہت سے سٹورجز طلباء نے لکھے تھے۔ اور اگر آپ ٹیپ کے لیے سٹوریج لکھتے ہیں، تو یقیناً اس کی حمایت کی جائے گی۔ ہم پل کی درخواستوں پر غور کرنے کے لیے تیار ہیں۔ وہاں آپ کو فائل لکھنے، فائل پڑھنے کی ضرورت ہے۔ اگر آپ یہ چیزیں Go میں کرتے ہیں، تو آپ کو عام طور پر 50 لائنوں کا کوڈ مل جاتا ہے۔ اور پھر WAL-G میں ٹیپ کو سپورٹ کیا جائے گا۔

رپورٹ کے لیے شکریہ! دلچسپ ترقی کا عمل۔ بیک اپ فعالیت کا ایک سنجیدہ ٹکڑا ہے جسے ٹیسٹ کے ذریعے اچھی طرح سے احاطہ کیا جانا چاہیے۔ جب آپ نے نئے ڈیٹا بیس کے لیے فعالیت کو نافذ کیا تو کیا طلبہ نے بھی ٹیسٹ لکھے، یا کیا آپ نے خود ٹیسٹ لکھے اور پھر طلبہ کو عمل درآمد دیا؟

طلباء نے ٹیسٹ بھی لکھے۔ لیکن طلباء نے نئے ڈیٹا بیس جیسی خصوصیات کے لیے مزید لکھا۔ انہوں نے انضمام کے ٹیسٹ لکھے۔ اور انہوں نے یونٹ ٹیسٹ لکھے۔ اگر انضمام گزر جاتا ہے، یعنی اس وقت، یہ ایک اسکرپٹ ہے جسے آپ دستی طور پر چلاتے ہیں یا آپ کے پاس کرون ہے، مثال کے طور پر۔ یعنی وہاں کا اسکرپٹ بالکل واضح ہے۔

طلباء کے پاس زیادہ تجربہ نہیں ہے۔ کیا جائزہ لینے میں بہت وقت لگتا ہے؟

ہاں، جائزوں میں کافی وقت لگتا ہے۔ یعنی، عام طور پر، جب کئی مرتکب ایک ساتھ آتے ہیں اور کہتے ہیں کہ میں نے یہ کیا، میں نے وہ کیا، تو آپ کو سوچنا ہوگا اور تقریباً آدھا دن الگ کرنا ہوگا تاکہ یہ معلوم کیا جاسکے کہ انھوں نے وہاں کیا لکھا ہے۔ کیونکہ کوڈ کو غور سے پڑھنا چاہیے۔ ان کا انٹرویو نہیں تھا۔ ہم انہیں اچھی طرح سے نہیں جانتے، اس لیے اس میں کافی وقت لگتا ہے۔

رپورٹ کے لیے شکریہ! پہلے، آندرے بوروڈن نے کہا کہ WAL-G میں archive_command کو براہ راست بلایا جانا چاہیے۔ لیکن کسی قسم کے کلسٹر کارتوس کی صورت میں، ہمیں اس نوڈ کا تعین کرنے کے لیے اضافی منطق کی ضرورت ہوتی ہے جہاں سے شافٹ بھیجے جائیں۔ آپ خود اس مسئلے کو کیسے حل کرتے ہیں؟

آپ کو یہاں کیا مسئلہ ہے؟ ہم کہتے ہیں کہ آپ کے پاس ایک ہم وقت ساز نقل ہے جس کے ساتھ آپ بیک اپ بنا رہے ہیں؟ یا کیا؟

(اینڈرے) حقیقت یہ ہے کہ واقعی WAL-G کا مقصد شیل اسکرپٹ کے بغیر استعمال کرنا ہے۔ اگر کچھ غائب ہے، تو آئیے وہ منطق شامل کریں جو WAL-G کے اندر ہونی چاہیے۔ جہاں تک آرکائیونگ کہاں سے آنی چاہیے، ہم سمجھتے ہیں کہ آرکائیونگ کلسٹر میں موجودہ ماسٹر سے ہونا چاہیے۔ نقل سے آرکائیو کرنا برا خیال ہے۔ مسائل کے ساتھ مختلف ممکنہ منظرنامے ہیں۔ خاص طور پر، ٹائم لائنز اور کسی بھی اضافی معلومات کو آرکائیو کرنے میں دشواری۔ سوال کے لیے شکریہ!

(وضاحت: ہم نے شیل اسکرپٹس سے چھٹکارا حاصل کیا۔ اس معاملے میں)

شام بخیر! رپورٹ کے لیے شکریہ! مجھے اس کیچ اپ فیچر میں دلچسپی ہے جس کے بارے میں آپ نے بات کی ہے۔ ہمیں ایک ایسی صورتحال کا سامنا کرنا پڑا جہاں ایک نقل پیچھے تھی اور اسے پکڑ نہیں سکتی تھی۔ اور مجھے WAL-G دستاویزات میں اس خصوصیت کی تفصیل نہیں ملی۔

کیچ اپ 20 جنوری 2020 کو لفظی طور پر نمودار ہوا۔ دستاویزات میں کچھ اور کام کی ضرورت ہو سکتی ہے۔ ہم اسے خود لکھتے ہیں اور ہم اسے بہت اچھا نہیں لکھتے ہیں۔ اور شاید ہمیں طلبا سے یہ لکھنا شروع کر دینا چاہیے۔

کیا یہ پہلے ہی جاری ہے؟

پل کی درخواست پہلے ہی ختم ہوچکی ہے، یعنی میں نے اسے چیک کیا ہے۔ میں نے اسے ٹیسٹ کلسٹر پر آزمایا۔ ابھی تک ہمارے پاس ایسی صورتحال نہیں ہے جہاں ہم اسے کسی جنگی مثال میں آزما سکیں۔

کب توقع کی جائے؟

مجھ نہیں پتہ. ایک ماہ انتظار کریں، ہم یقینی طور پر چیک کریں گے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں