Yandex نے YDB تقسیم شدہ DBMS کے لیے کوڈ کھول دیا ہے جو SQL کو سپورٹ کرتا ہے۔

Yandex نے تقسیم شدہ DBMS YDB کا سورس کوڈ شائع کیا ہے، جو SQL بولی اور ACID ٹرانزیکشنز کے لیے سپورٹ کو لاگو کرتا ہے۔ ڈی بی ایم ایس کو شروع سے بنایا گیا تھا اور اسے ابتدائی طور پر غلطیوں کو برداشت کرنے، ناکامیوں سے خودکار بحالی اور اسکیل ایبلٹی کو یقینی بنانے کے لیے تیار کیا گیا تھا۔ واضح رہے کہ Yandex نے کام کرنے والے YDB کلسٹرز کا آغاز کیا ہے، جس میں 10 ہزار سے زیادہ نوڈس شامل ہیں، سینکڑوں پیٹا بائٹس ڈیٹا کو ذخیرہ کرتے ہیں اور فی سیکنڈ لاکھوں تقسیم شدہ لین دین کی خدمت کرتے ہیں۔ YDB مارکیٹ، کلاؤڈ، اسمارٹ ہوم، ایلس، میٹریکا اور Auto.ru جیسے Yandex پروجیکٹس میں استعمال ہوتا ہے۔ کوڈ C/C++ میں لکھا گیا ہے اور اپاچی 2.0 لائسنس کے تحت تقسیم کیا گیا ہے۔ واقفیت اور فوری لانچ کے لیے، آپ ریڈی میڈ ڈوکر کنٹینر استعمال کر سکتے ہیں۔

پروجیکٹ کی خصوصیات:

  • جدولوں کے ساتھ رشتہ دار ڈیٹا ماڈل کا استعمال۔ سوالات اور ڈیٹا اسکیما کی وضاحت کے لیے، YQL زبان (YDB Query Language) استعمال کی جاتی ہے، جو SQL کی ایک بولی ہے جسے بڑے تقسیم شدہ ڈیٹا بیس کے ساتھ کام کرنے کے لیے ڈھال لیا گیا ہے۔ سٹوریج اسکیما بناتے وقت، ٹیبلز کی ایک درخت کی طرح کی گروپنگ کو سپورٹ کیا جاتا ہے، جو فائل سسٹم میں ڈائریکٹریز کی یاد دلاتا ہے۔ JSON فارمیٹ میں ڈیٹا کے ساتھ کام کرنے کے لیے ایک API فراہم کیا جاتا ہے۔
    Yandex نے YDB تقسیم شدہ DBMS کے لیے کوڈ کھول دیا ہے جو SQL کو سپورٹ کرتا ہے۔
  • ڈیٹا بیس پر تجزیاتی ایڈہاک استفسارات کو انجام دینے کے لیے بنائے گئے اسکین سوالات کا استعمال کرتے ہوئے ڈیٹا تک رسائی کے لیے سپورٹ، صرف پڑھنے کے موڈ میں عمل میں لایا جاتا ہے اور ایک grpc سٹریم واپس کرنا۔
  • DBMS کے ساتھ تعامل اور درخواستیں بھیجنا کمانڈ لائن انٹرفیس، بلٹ ان ویب انٹرفیس یا YDB SDK کا استعمال کرتے ہوئے کیا جاتا ہے، جو C++، C# (.NET)، Go، Java، Node.js، PHP اور Python کے لیے لائبریریاں فراہم کرتا ہے۔
  • غلطی برداشت کرنے والی کنفیگریشنز بنانے کی صلاحیت جو انفرادی ڈسک، نوڈس، ریک اور یہاں تک کہ ڈیٹا سینٹرز کے ناکام ہونے پر بھی کام کرتی رہتی ہے۔ YDB تین دستیابی زونز میں تعیناتی اور ہم وقت ساز نقل کی حمایت کرتا ہے، کسی ایک زون کی ناکامی کی صورت میں کلسٹر کی فعالیت کو برقرار رکھتا ہے۔
  • ایپلی کیشنز کے لیے کم سے کم تاخیر کے ساتھ ناکامیوں سے خود بخود بازیافت کریں اور خود بخود مخصوص ڈیٹا کی فالتو پن کو برقرار رکھیں۔
  • بنیادی کلید اور ثانوی اشاریہ جات کی وضاحت کرنے کی صلاحیت پر مبنی اشاریہ جات کی خودکار تخلیق صوابدیدی کالموں تک رسائی کی کارکردگی کو بہتر بنانے کے لیے۔
  • افقی اسکیل ایبلٹی۔ جیسے جیسے ذخیرہ شدہ ڈیٹا کا بوجھ اور سائز بڑھتا ہے، کلسٹر کو صرف نئے نوڈس کو جوڑ کر بڑھایا جا سکتا ہے۔ کمپیوٹنگ اور سٹوریج کے درجے الگ ہیں، جس سے آپ اپنی کمپیوٹنگ پاور اور اسٹوریج کے سائز کو الگ الگ کر سکتے ہیں۔ دستیاب ہارڈویئر وسائل کو مدنظر رکھتے ہوئے ڈی بی ایم ایس خود ڈیٹا اور لوڈ کی یکساں تقسیم کی نگرانی کرتا ہے۔ دنیا کے مختلف حصوں میں متعدد ڈیٹا سینٹرز کا احاطہ کرنے والی جغرافیائی طور پر تقسیم شدہ کنفیگریشنز کو تعینات کرنا ممکن ہے۔
  • ایک سے زیادہ نوڈس اور ٹیبلز پر محیط سوالات پر کارروائی کرتے وقت مضبوط مستقل مزاجی ماڈل اور ACID ٹرانزیکشنز کو سپورٹ کرتا ہے۔ کارکردگی کو بہتر بنانے کے لیے، آپ مستقل مزاجی کی جانچ کو منتخب طور پر غیر فعال کر سکتے ہیں۔
  • خودکار ڈیٹا کی نقل، خودکار تقسیم (تقسیم، شارڈنگ) جب سائز یا بوجھ بڑھتا ہے، اور نوڈس کے درمیان خودکار لوڈ اور ڈیٹا کا توازن۔
  • مقامی PDisk جزو اور VDisk پرت کا استعمال کرتے ہوئے براہ راست بلاک ڈیوائسز پر ڈیٹا اسٹور کرنا۔ DSProxy VDisk کے اوپر چلتا ہے، جو ڈسکوں کی دستیابی اور کارکردگی کی خصوصیات کا تجزیہ کرتا ہے تاکہ مسائل کا پتہ چلنے پر انہیں ختم کیا جا سکے۔
  • لچکدار فن تعمیر جو آپ کو YDB کے سب سے اوپر مختلف خدمات بنانے کی اجازت دیتا ہے، بشمول ورچوئل بلاک ڈیوائسز اور مسلسل قطاریں۔ مختلف قسم کے کام کے بوجھ، OLTP اور OLAP (تجزیاتی سوالات) کے لیے موزوں۔
  • ملٹی ٹیننٹ اور سرور لیس کنفیگریشنز کے لیے سپورٹ۔ کلائنٹ کی توثیق کا امکان۔ صارفین اپنے ورچوئل کلسٹرز اور ڈیٹا بیس کو مشترکہ مشترکہ انفراسٹرکچر میں تشکیل دے سکتے ہیں، درخواستوں کی تعداد اور ڈیٹا سائز کی سطح پر وسائل کی کھپت کو مدنظر رکھتے ہوئے، یا مخصوص کمپیوٹنگ وسائل اور اسٹوریج کی جگہ کو کرایہ پر لے کر/ محفوظ کر کے۔
  • پرانے ڈیٹا کو خود بخود ہٹانے کے لیے ریکارڈ کی زندگی بھر کو ترتیب دینے کی اہلیت۔

ماخذ: opennet.ru

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