علی بابا نے پولر ڈی بی کے لیے کوڈ کھول دیا ہے، پوسٹگری ایس کیو ایل پر مبنی ایک تقسیم شدہ ڈی بی ایم ایس۔

علی بابا، سب سے بڑی چینی آئی ٹی کمپنیوں میں سے ایک، نے پوسٹگری ایس کیو ایل پر مبنی تقسیم شدہ DBMS PolarDB کا سورس کوڈ کھول دیا ہے۔ PolarDB مختلف کلسٹر نوڈس میں تقسیم کیے گئے پورے عالمی ڈیٹا بیس کے تناظر میں ACID ٹرانزیکشنز کے لیے دیانتداری کے ساتھ تقسیم شدہ ڈیٹا اسٹوریج کے لیے ٹولز کے ساتھ PostgreSQL کی صلاحیتوں کو بڑھاتا ہے۔ PolarDB تقسیم شدہ SQL استفسار پراسیسنگ، فالٹ ٹولرینس، اور بے کار ڈیٹا اسٹوریج کو بھی سپورٹ کرتا ہے تاکہ ایک یا زیادہ نوڈس کے ناکام ہونے کے بعد معلومات کو بحال کیا جا سکے۔ اگر آپ کو اپنے اسٹوریج کو بڑھانے کی ضرورت ہے، تو آپ آسانی سے کلسٹر میں نئے نوڈس شامل کر سکتے ہیں۔ کوڈ اپاچی 2.0 لائسنس کے تحت کھلا ہے۔

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

پیچ پوسٹگری ایس کیو ایل کور میں مختلف تنہائی کی سطحوں کے لیے ملٹی ورشن (MVCC، ملٹی ورشن کنکرنسی کنٹرول) کا استعمال کرتے ہوئے ڈیٹا تک متوازی رسائی کو کنٹرول کرنے کے طریقہ کار کا ایک تقسیم شدہ ورژن شامل کرتے ہیں۔ PolarDB کی زیادہ تر فعالیت ایکسٹینشنز میں شامل ہے، جو PostgreSQL پر انحصار کو کم کرتی ہے اور PolarDB پر مبنی حلوں کی اپ ڈیٹ اور نفاذ کو آسان بناتی ہے (یہ PostgreSQL کے نئے ورژن میں منتقلی کو آسان بناتا ہے اور PostgreSQL کے ساتھ مکمل مطابقت برقرار رکھتا ہے)۔ کلسٹر کو منظم کرنے کے لیے، pgxc_ctl ٹول کٹ کا استعمال کیا جاتا ہے، جو PostgreSQL-XC اور PostgreSQL-XL سے ملتی جلتی افادیت پر مبنی ہے۔

کلسٹر میں تین بنیادی اجزاء ہوتے ہیں: ڈیٹا بیس نوڈس (DN)، کلسٹر مینیجر (CM) اور ٹرانزیکشن مینجمنٹ سروس (TM)۔ مزید برآں، ایک پراکسی لوڈ بیلنس استعمال کیا جا سکتا ہے۔ ہر جزو ایک الگ عمل ہے اور اسے مختلف سرور پر چلایا جا سکتا ہے۔ ڈیٹا بیس نوڈس کلائنٹس سے SQL سوالات پیش کرتے ہیں اور ساتھ ہی دیگر ڈیٹا بیس نوڈس کی شرکت کے ساتھ تقسیم شدہ استفسارات کے کوآرڈینیٹر کے طور پر کام کرتے ہیں۔ کلسٹر مینیجر ہر ڈیٹابیس نوڈ کی حالت پر نظر رکھتا ہے، کلسٹر کنفیگریشن کو اسٹور کرتا ہے، اور نوڈس کے انتظام، بیک اپ، لوڈ بیلنسنگ، اپ ڈیٹ کرنے، شروع کرنے اور روکنے کے لیے ٹولز فراہم کرتا ہے۔ ٹرانزیکشن مینجمنٹ سروس پورے کلسٹر میں مجموعی سالمیت کو برقرار رکھنے کی ذمہ دار ہے۔

علی بابا نے پولر ڈی بی کے لیے کوڈ کھول دیا ہے، پوسٹگری ایس کیو ایل پر مبنی ایک تقسیم شدہ ڈی بی ایم ایس۔

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

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

واضح رہے کہ پولر ڈی بی ڈی بی ایم ایس کی مکمل فعالیت کو تین ریلیز پر ظاہر کرنے کا منصوبہ ہے: پہلے ورژن میں نقل، اعلی دستیابی اور کلسٹر مینجمنٹ کے لیے ٹولز شائع کیے جائیں گے۔ دوسری ریلیز میں تقسیم شدہ لین دین کے عمل درآمد کا نظام پیش کیا جائے گا جو کراس نوڈ ACID اور تقسیم شدہ ایس کیو ایل کے عمل کو سپورٹ کرتا ہے۔ تیسری ریلیز میں PostgreSQL کے لیے ایک پلگ ان اور تمام نوڈس میں ڈیٹا کی لچکدار تقسیم کے لیے ٹولز شامل ہوں گے، بشمول بہترین کارکردگی حاصل کرنے کے لیے حصوں کی انکولی جگہ کا تعین اور نئے نوڈس کو شامل کرکے کلسٹر کو بڑھانے کی صلاحیت۔

ماخذ: opennet.ru

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