DBMS libmdbx 0.11.7 کی ریلیز۔ GitHub پر لاک ڈاؤن کے بعد ترقی کو GitFlic میں منتقل کریں۔

libmdbx 0.11.7 (MDBX) لائبریری کو ایک اعلی کارکردگی والے کمپیکٹ ایمبیڈڈ کلیدی ویلیو ڈیٹا بیس کے نفاذ کے ساتھ جاری کیا گیا ہے۔ libmdbx کوڈ OpenLDAP پبلک لائسنس کے تحت تقسیم کیا جاتا ہے۔ تمام موجودہ آپریٹنگ سسٹمز اور فن تعمیرات کے ساتھ ساتھ روسی ایلبرس 2000 کی حمایت کی جاتی ہے۔

یہ ریلیز پروجیکٹ کی GitFlic سروس میں منتقلی کے لیے قابل ذکر ہے جب GitHub انتظامیہ نے 15 اپریل 2022 کو بغیر کسی انتباہ یا وضاحت کے libmdbx کے ساتھ ساتھ دیگر پروجیکٹس کو ہٹا دیا، جبکہ بیک وقت گرنے والی کمپنیوں سے وابستہ بہت سے ڈویلپرز تک رسائی کو روک دیا۔ امریکی پابندیوں کے تحت. صارف کے نقطہ نظر سے، منصوبے کے تمام صفحات، مخزن اور کانٹے اچانک "404" صفحہ میں تبدیل ہو گئے، بغیر کسی بات چیت کے امکان اور وجوہات کا پتہ چلا۔

بدقسمتی سے تقریباً تمام مسائل ضائع ہو چکے ہیں جن میں تفصیلی جوابات کے ساتھ بہت سے سوالات بھی تھے اور بہت سی بحثیں بھی تھیں۔ اس معلومات کا نقصان ہی واحد مقصدی نقصان ہے جسے GitHub انتظامیہ نے اس منصوبے کو پہنچانے میں کامیاب کیا۔ مباحثوں کی جزوی کاپیاں archive.org آرکائیو میں دستیاب رہتی ہیں۔

بلٹ ان CI اسکرپٹس اور انفراسٹرکچر (اوپن سورس پروجیکٹس کے لیے مفت دستیاب) کے نقصان نے ہمیں ایک چھوٹے تکنیکی قرض پر نظرثانی، اتحاد اور خاتمہ کرنے پر مجبور کیا۔ اب CI کو تقریباً اسی حد تک بحال کر دیا گیا ہے، تمام BSD اور Solaris ویریئنٹس کے لیے تعمیرات اور ٹیسٹ رنز کے استثناء کے ساتھ۔ واضح طور پر، GitHub کے اقدامات کے بعد، ادائیگی کی ضرورت کی یاد دہانی کے علاوہ کوئی وضاحت یا اطلاعات موصول نہیں ہوئیں اور رقم کو رائٹ آف کرنے کی کوشش کی گئی۔

libmdbx v0.11.3 کے اجراء کے بارے میں آخری خبر کے بعد سے، GitHub کی کارروائیوں سے بازیابی کے علاوہ، درج ذیل بہتری اور اصلاحات قابل توجہ ہیں:

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

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

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

    واضح رہے کہ کام کرنے والے منصوبوں میں libmdbx کے وسیع پیمانے پر استعمال کے تناظر میں، یہ بنیادی طور پر زیادہ اہم ہے کہ قابل اعتماد آپریشن کو یقینی بنایا جائے، اور یہ معلوم نہ کیا جائے کہ "کیا یہ ایک بگ ہے یا کوئی خصوصیت" اور آیا اس طرح کی ہم آہنگی پر بھروسہ کیا جا سکتا ہے۔ ، خاص طور پر لینکس کرنل کے اندر عدم مطابقت کی وجوہات کو تلاش نہیں کرنا۔ لہذا، ہم یہاں ایک ایسے مسئلے کو حل کرنے کے بارے میں بات کر رہے ہیں جو صارفین کو متاثر کر سکتا ہے۔

  • API کے ذریعے اور mdbx_copy یوٹیلیٹی کا استعمال کرتے ہوئے، کسی دوسرے فائل سسٹم میں کمپیکٹیفیکیشن کے بغیر ڈیٹابیس کو گرما گرم کاپی کرتے وقت EXDEV (کراس ڈیوائس لنک) کی خرابی کو درست کیا گیا۔
  • Kris Zyp نے Deno میں libmdbx کے لیے تعاون کو نافذ کیا ہے۔ Kai Wetlesen نے Fedora کے لیے RPMs پیک کیے ہیں۔ David Bouyssié نے Scala کے لیے پابندیاں نافذ کیں۔
  • MDBX_opt_rp_augment_limit آپشن کی طرف سے مقرر کردہ قدر کی فکسڈ ہینڈلنگ جب بڑے ڈیٹا بیسز میں بڑی ٹرانزیکشنز پر کارروائی کی جاتی ہے۔ پہلے، ایک بگ کی وجہ سے، غیر ضروری کارروائیاں کی جا سکتی تھیں، جو کبھی کبھی Ethereum نفاذ (Erigon/Akula/Silkworm) اور Binance Chain پروجیکٹس میں کارکردگی کو متاثر کرتی تھیں۔
  • بہت سارے کیڑے ٹھیک کیے گئے ہیں، بشمول C++ API میں۔ نایاب اور غیر ملکی کنفیگریشنز میں بہت سے تعمیراتی مسائل کو طے کیا۔ تمام اہم بہتریوں کی مکمل فہرست ChangeLog میں دستیاب ہے۔
  • 185 فائلوں میں کل 89 تبدیلیاں کی گئیں، ≈3300 لائنیں شامل کی گئیں، ≈4100 کو حذف کر دیا گیا۔ زیادہ تر GitHub اور منحصر خدمات سے وابستہ پہلے سے ہی بیکار ٹیک فائلوں کو صاف کرنے کی وجہ سے ہٹا دیا گیا ہے۔

تاریخی طور پر، libmdbx LMDB DBMS کا ایک گہرا ری ڈیزائن ہے اور قابل اعتماد، فیچر سیٹ اور کارکردگی کے لحاظ سے اپنے پیشرو کو پیچھے چھوڑ دیتا ہے۔ LMDB کے مقابلے، libmdbx کوڈ کے معیار، API استحکام، جانچ، اور خودکار جانچ پر بہت زیادہ زور دیتا ہے۔ ڈیٹا بیس کے ڈھانچے کی سالمیت کو جانچنے کے لیے ایک افادیت کچھ وصولی کے اختیارات کے ساتھ فراہم کی جاتی ہے۔

تکنیکی طور پر، libmdbx ACID، سخت تبدیلی سیریلائزیشن، اور سی پی یو کور میں لکیری اسکیلنگ کے ساتھ نان بلاکنگ ریڈز پیش کرتا ہے۔ آٹو کمپیکٹیفیکیشن، خودکار ڈیٹا بیس سائز مینجمنٹ، اور رینج کے استفسار کا تخمینہ تعاون یافتہ ہے۔ 2016 سے، اس منصوبے کو مثبت ٹیکنالوجیز کی طرف سے فنڈ کیا گیا ہے اور 2017 سے اس کی مصنوعات میں استعمال ہو رہا ہے۔

libmdbx ایک ترقی یافتہ C++ API پیش کرتا ہے، نیز رسٹ، ہاسکل، ازگر، نوڈ جے ایس، روبی، گو، نم، ڈینو، اسکالا کے لیے پرجوش تعاون یافتہ پابندیاں۔

ماخذ: opennet.ru

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