پنجن سالن جي ترقي کانپوءِ libmdbx v1.0 لاءِ ٻيو رليز اميدوار.

لائبريري libmdbx ايل ايم ڊي بي جو هڪ اهم طور تي نئين سر ترتيب ڏنل اولاد آهي - هڪ انتهائي اعليٰ ڪارڪردگي، ڪمپيڪٽ ايمبيڊڊ ڪي-ويليو ڊيٽابيس.
موجوده نسخو v0.5 هڪ ٽيڪنيڪل رليز آهي، ڪنهن به سڌاري جي مڪمل ٿيڻ ۽ پبلڪ فائنل ٽيسٽنگ ۽ اسٽيبلائيزيشن جي مرحلي ڏانهن منتقلي جي نشاندهي ڪري ٿو، جنهن بعد لائبريري جي پهرين مڪمل رليز جي ٺهڻ سان.

ايل ايم ڊي بي ھڪڙي چڱيءَ طرح ڄاتل سڃاتل ٽرانزيڪشن ايمبيڊڊ ڪيئي-قيمت DBMS تي ٻڌل آھي وڻ B+ بغير فعال لاگنگ، جيڪو مقامي طور تي شيئر ڪيل (نيٽ ورڪ نه) ڊيٽابيس سان مقابلي ۾ ۽ انتهائي موثر طريقي سان ڪم ڪرڻ لاءِ گھڻن موضوعن تي مشتمل عملن جي جھولي کي اجازت ڏئي ٿو. موڙ ۾، MDBX LMDB کان تيز ۽ وڌيڪ قابل اعتماد آهي، جڏهن ته libmdbx پنهنجي اباڻي جي سڀني اهم خصوصيتن کي برقرار رکي ٿو، جهڙوڪ امل ۽ غير بلاڪنگ ريڊس لڪير اسڪيلنگ سان گڏ سي پي يو ڪور ۾، ۽ پڻ شامل ڪري ٿو ڪيترائي نوان.

LMDB سان تعلق رکندڙ libmdbx جي اختلافن ۽ سڌارن جي وضاحت هڪ الڳ مضمون جو مستحق آهي (هبري ۽ ميڊيم تي شايع ٿيڻ جي منصوبابندي ڪئي وئي). هتي اهو سڀ کان اهم ۽ قابل ذڪر ذڪر ڪرڻ مناسب آهي:

  • بنيادي طور تي، ڪوڊ جي معيار، جانچ ۽ خودڪار چيڪن تي وڌيڪ ڌيان ڏنو ويندو آهي.
  • آپريشن دوران خاص طور تي وڌيڪ ڪنٽرول، پيٽرولر جي چڪاس کان وٺي ڊيٽابيس جي جوڙجڪ جي اندروني آڊٽ تائين.
  • خودڪار compactification ۽ خودڪار ڊيٽابيس سائيز جو انتظام.
  • 32-bit ۽ 64-bit اسيمبلين لاءِ هڪ واحد ڊيٽابيس فارميٽ.
  • حدن جي لحاظ کان نموني جي ماپ جو اندازو (رينج سوال جو اندازو).
  • ڪنجيز لاءِ سپورٽ پينڪڪس جي ڀيٽ ۾ ٻه ڀيرا وڏي ۽ صارف جي چونڊيل ڊيٽابيس صفحي جي سائيز.

libmdbx ڇڏڻ جو اميدوار فيصلو جو نتيجو آهي (هيٺ ڏسو) آگسٽ 2019 ۾ MDBX ۽ MithrilDB منصوبن کي الڳ ڪرڻ لاءِ. ساڳئي وقت، libmdbx فيصلو ڪيو ته (منطقي) وڌ ۾ وڌ ٽيڪنيڪل قرض کي ختم ڪرڻ ۽ لائبريري کي مستحڪم ڪرڻ. حقيقت ۾، 2-3 ڀيرا وڌيڪ ڪيو ويو آهي مقرر ڪيل هدايتن جي ڀيٽ ۾ ابتدائي اندازي ۽ رٿابندي کان:

  • Mac OS ۽ سيڪنڊ-ٽيئر پليٽ فارمن لاءِ سپورٽ لاڳو ڪئي وئي آهي: FreeBSD، Solaris، DragonFly BSD، OpenBSD، NetBSD. AIX ۽ HP-UX سپورٽ شامل ڪري سگھجي ٿو ضرورت مطابق.
  • ڪوڊ صاف ڪيو ويو Undefined Behavior Sanitizer ۽ Address Sanitizer استعمال ڪندي، سڀ ڊيڄاريندڙ جڏهن -Wpedantic، سڀ Coverity Static Analyzer وارننگن وغيره کي ختم ڪيو ويو.
  • تازه ڪاري API وضاحتون.
  • ايمبيڊنگ جي آسانيءَ لاءِ سورس ڪوڊ جو مجموعو.
  • CMake سپورٽ.
  • nested ٽرانزيڪشن لاء حمايت.
  • bootid استعمال ڪندي اهو طئي ڪرڻ لاء ته ڇا OS ريبوٽ ڪيو ويو آهي (گندا ڊيٽابيس اسٽاپ).
  • تازه ڪاري/پراڻن صفحن جي پڇاڙيءَ کان آخر تائين ڳڻپ ۽ وڌايل ٽرانزيڪشن جي معلومات.
  • آپشن MDBX_ACCEDE مطابقت واري موڊ ۾ اڳ ۾ ئي کليل ڊيٽابيس سان ڳنڍڻ لاءِ.
  • استعمال ڪريو OFD بلاڪنگ جڏهن دستياب هجي.
  • پائپ ۾ گرم بيڪ اپ.
  • خاص اصلاحي اندروني ترتيب ڏيڻ وارو الگورٿم (2-3 ڀيرا تيز qsort() کان ۽ 30% تيز کان std::sort()).
  • وڌ ۾ وڌ چاٻي جي ڊيگهه وڌايو ويو آهي.
  • اڳيان پڙهڻ جو خودڪار ڪنٽرول (ميموري ۾ ڊيٽابيس فائل ڪيشنگ حڪمت عملي).
  • وڌيڪ جارحتي ۽ تيز آٽو-compactification.
  • B+ وڻن جي صفحن کي ضم ڪرڻ لاءِ وڌيڪ بهتر حڪمت عملي.
  • غير مقامي فائل سسٽم جو ڪنٽرول (NFS، سامبا، وغيره) ڊيٽابيس جي نقصان کي روڪڻ لاء جيڪڏهن غلط استعمال ڪيو وڃي.
  • ٽيسٽ جو سيٽ وڌايو ويو آهي.

libmdbx جي "ايندڙ" ورجن جي ترقي هڪ الڳ پروجيڪٽ جي طور تي جاري رهندي MithrilDBجڏهن ته MDBX جي ”موجوده“ ورزن جي ڊولپمينٽ ویکٹر جو مقصد فيچر سيٽ کي منجمد ڪرڻ ۽ ان کي مستحڪم ڪرڻ آهي. اهو فيصلو ٽن سببن جي ڪري ڪيو ويو:

  • مڪمل طور تي غير مطابقت: MithrilDB کي سڀني رٿيل خصوصيتن کي لاڳو ڪرڻ لاءِ مختلف (غير مطابقت رکندڙ) ڊيٽابيس فائل فارميٽ ۽ مختلف (غير مطابقت رکندڙ) API جي ضرورت آهي.
  • نئون سورس ڪوڊ: MithrilDB سورس ڪوڊ LMDB کان لائسنس يافته آزاد ڪيو ويو آهي، ۽ پروجيڪٽ پاڻ کي مختلف لائسنس تحت شايع ڪرڻ جي منصوبابندي ڪئي وئي آهي (منظور ٿيل او ايس آء لائسنس Apache 2.0۽ نه OpenLDAP فائونڊيشن).
  • علحدگي امڪاني مونجهاري کان بچي ٿي، وڌيڪ يقين ڏياري ٿي، ۽ يقيني بڻائي ٿي ته منصوبن کي اڳتي وڌڻ جو هڪ آزاد رستو آهي.

MithrilDB، MDBX وانگر، پڻ ٻڌل آهي وڻ B+ ۽ MDBX ۽ LMDB جي ڪيترن ئي بنيادي نقصانن کي ختم ڪندي، انتهائي اعليٰ ڪارڪردگيءَ جي خصوصيت پڻ ڏيندو. خاص طور تي، "ڊگهي پڙهڻ" جو مسئلو، جيڪو پاڻ کي ڊيٽابيس جي "سوجن" جي طور تي ظاهر ڪري ٿو، انهي حقيقت جي ڪري ته ڪچري جي پروسيسنگ کي ڊگهي پڙهڻ واري ٽرانزيڪشن ذريعي بلاڪ ڪيو ويندو، ختم ڪيو ويندو. نئين MithrilDB خاصيتون شامل آهن:

  • ڪيترن ئي متضاد ميڊيا تي ڊيٽابيس کي رکڻ لاءِ سپورٽ: HDD، SSD ۽ غير مستحڪم ياداشت.
  • "گرم"، "گرم" ۽ "ٿڌي" ڊيٽا لاء "قيمتي" ۽ "گهٽ قيمت" لاء بهترين حڪمت عمليون.
  • ڊيٽابيس جي سالميت جي نگراني ڪرڻ لاءِ Merkle وڻ استعمال ڪندي.
  • WAL جو اختياري استعمال ۽ خاص طور تي اعلي ڪارڪردگي لکڻ جي شدت واري منظرنامي ۽ ڊيٽا جي سالميت جي ضمانت.
  • ڊسڪ تي ڊيٽا جي سست پڪڙڻ واري ترتيب.

جو ذريعو: linux.org.ru

تبصرو شامل ڪريو