ڈریگن فلائی پروجیکٹ Redis اور Memcached کے لیے تیز تر متبادل تیار کر رہا ہے۔

ڈریگن فلائی ان میموری کیشنگ سسٹم کی پہلی ریلیز دستیاب ہے، جو Memcached اور Redis پروٹوکول کے لیے معاونت فراہم کرتی ہے، لیکن استفسارات کو بہت زیادہ کارکردگی اور کم میموری کی کھپت کے ساتھ انجام دینے کی اجازت دیتا ہے۔ سسٹم ڈیٹا کو کلیدی/ویلیو فارمیٹ میں ہیرا پھیری کرتا ہے اور زیادہ بوجھ والی سائٹس کے کام کو تیز کرنے، DBMS میں سست سوالات اور RAM میں انٹرمیڈیٹ ڈیٹا کو کیش کرنے کے لیے ہلکے وزن کے حل کے طور پر استعمال کیا جا سکتا ہے۔ ڈریگن فلائی کوڈ C/C++ میں لکھا گیا ہے اور اسے BSL (بزنس سورس لائسنس) کے تحت تقسیم کیا گیا ہے۔

BSL لائسنس کو MySQL کے شریک بانی نے اوپن کور ماڈل کے متبادل کے طور پر تجویز کیا تھا۔ بی ایس ایل کا خلاصہ یہ ہے کہ جدید فعالیت کا کوڈ ابتدائی طور پر ترمیم کے لیے دستیاب ہے، لیکن کچھ وقت کے لیے مفت استعمال کیا جا سکتا ہے صرف اس صورت میں جب اضافی شرائط پوری ہو جائیں، جن کو روکنے کے لیے تجارتی لائسنس کی خریداری کی ضرورت ہوتی ہے۔ ڈریگن فلائی پروجیکٹ کے لائسنس کی اضافی شرائط کے لیے کوڈ کو صرف 2.0 جون 1 کو اپاچی 2027 لائسنس میں منتقل کرنے کی ضرورت ہے۔ اس وقت تک، لائسنس کوڈ کے استعمال کی اجازت صرف اپنی خدمات اور مصنوعات کے کام کو یقینی بنانے کے لیے دیتا ہے، لیکن بامعاوضہ کلاؤڈ سروسز کی تخلیق کے لیے استعمال کو منع کرتا ہے جو ڈریگن فلائی میں اضافے کے طور پر کام کرتی ہیں۔

ڈویلپرز اور مظاہرے شدہ ٹیسٹوں کے مطابق، ڈریگن فلائی کا دعویٰ ہے کہ وہ سب سے تیز میموری اسٹوریج سسٹم ہے۔ Redis کے مقابلے میں، Dragonfly نے کارکردگی میں 25 گنا اضافہ اور عام کام کے بوجھ کے لیے میموری کی کھپت میں تین گنا کمی حاصل کی۔ ایک Dragonfly سرور فی سیکنڈ لاکھوں درخواستوں پر کارروائی کر سکتا ہے، مثال کے طور پر، Amazon EC2 c6gn.16xlarge ماحول میں فی سیکنڈ 3.8 ملین درخواستوں کی کارکردگی حاصل کرنا ممکن تھا۔

ڈریگن فلائی پروجیکٹ Redis اور Memcached کے لیے تیز تر متبادل تیار کر رہا ہے۔

5 GB ڈیٹا کو ذخیرہ کرنے کے ٹیسٹوں میں، Dragonfly کو Redis کے مقابلے میں 30% کم میموری کی ضرورت تھی۔ "bgsave" کمانڈ کے ساتھ سنیپ شاٹس بناتے وقت، میموری کی کھپت بڑھ جاتی ہے، لیکن چوٹی کے لمحات میں یہ Redis کے مقابلے میں تقریباً تین گنا کم رہتی ہے، اور سنیپ شاٹ ریکارڈنگ کا عمل خود بہت تیز ہوتا ہے (ٹیسٹ میں، ڈریگن فلائی میں ایک سنیپ شاٹ 30 میں لکھا گیا تھا۔ سیکنڈ، جبکہ Redis - 42 سیکنڈ میں)۔

ڈریگن فلائی پروجیکٹ Redis اور Memcached کے لیے تیز تر متبادل تیار کر رہا ہے۔

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

پہلی ریلیز میں دستیاب خصوصیات میں، RESP2 پروٹوکول اور 130 Redis کمانڈز کے لیے سپورٹ کو نوٹ کیا گیا ہے، جو تقریباً Redis 2.8 ریلیز کی فعالیت سے مطابقت رکھتا ہے۔ مزید برآں، ڈریگن فلائی CAS (چیک اینڈ سیٹ) کے علاوہ تمام میم کیچڈ کمانڈز کو سپورٹ کرتا ہے، سنیپ شاٹس بنانے کے لیے غیر مطابقت پذیر آپریشنز کے لیے سپورٹ فراہم کرتا ہے، میموری استعمال کرنے کے قابل پیشن گوئی فراہم کرتا ہے، ایک بلٹ ان Lua 5.4 انٹرپریٹر فراہم کرتا ہے، اور پیچیدہ ڈیٹا کی اقسام کو سپورٹ کرتا ہے جیسے ہیش، سیٹ، اور فہرستیں (ZSET، HSET، LIST، SETS اور STRING)۔

ایک کیشنگ موڈ الگ سے دستیاب ہے، جو مفت میموری کے ختم ہونے کے بعد خود بخود پرانے ڈیٹا کو نئے ڈیٹا سے بدل دیتا ہے۔ اس ڈیٹا کے ساتھ زندگی بھر منسلک کرنا ممکن ہے جس کے دوران ڈیٹا کو متعلقہ سمجھا جاتا ہے۔ دوبارہ شروع کرنے کے بعد بعد میں بحالی کے لیے سٹوریج کی حالت کو پس منظر میں ڈسک پر فلش کیا جا سکتا ہے۔ سسٹم کو منظم کرنے کے لیے، ایک HTTP کنسول فراہم کیا جاتا ہے (TCP پورٹ 6379 سے منسلک ہوتا ہے) اور ایک API واپسی میٹرکس کے لیے، جو Prometheus کے ساتھ مطابقت رکھتا ہے۔ مستقبل کے ورژنز میں، ہم Redis کمانڈز کے لیے سپورٹ کو بڑھانے اور غلطی کو برداشت کرنے اور بوجھ میں توازن فراہم کرنے کے لیے اسٹوریج کو نقل کرنے کی صلاحیت کو نافذ کرنے کا ارادہ رکھتے ہیں۔

ماخذ: opennet.ru

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