دوهم libmdbx v1.0 کاندید د پنځو کلونو پراختیا وروسته خوشې کړئ.

کړی libmdbx د LMDB یو د پام وړ بیا ډیزاین شوی اولاد دی - یو خورا لوړ فعالیت ، کمپیکٹ ایمبیډ شوی کلیدي ارزښت ډیټابیس.
اوسنۍ نسخه v0.5 تخنیکي خپرونه ده، د هر ډول پرمختګونو بشپړیدل او د عامه وروستي ازموینې او ثبات مرحلې ته لیږد په نښه کوي، د کتابتون د لومړي بشپړ خوشې کیدو وروسته جوړیدو سره.

LMDB په کافي اندازه پیژندل شوي لیږدونکي ایمبیډ شوي کلیدي ارزښت DBMS پراساس دی ونې B+ پرته فعال ننوتل، کوم چې د څو اړخیزو پروسو یوه ډله ته اجازه ورکوي چې په سیمه ایز ډول شریک شوي (نه شبکه) ډیټابیس سره سیالي او خورا مؤثره کار وکړي. په بدل کې، MDBX د LMDB په پرتله ګړندی او ډیر باوري دی، پداسې حال کې چې libmdbx د خپل پلار ټول کلیدي ځانګړتیاوې ساتي، لکه اسيد او غیر بلاک کول د CPU کور په اوږدو کې د خطي اندازه کولو سره لوستل کیږي ، او ډیری نوي اضافه کوي.

د LMDB په پرتله د libmdbx د توپیرونو او پرمختګونو توضیح د جلا مقالې مستحق دی (پلان شوی چې په هابری او میډیم کې خپور شي). دلته دا مناسبه ده چې تر ټولو مهم او د پام وړ یادونه وکړو:

  • په بنسټیز ډول، د کوډ کیفیت، ازموینې او اتوماتیک چکونو ته ډیره پاملرنه کیږي.
  • د عملیاتو په جریان کې د پام وړ ډیر کنټرول، د پیرامیټونو چک کولو څخه د ډیټابیس جوړښتونو داخلي پلټنې پورې.
  • د اتوماتیک تړون کولو او اتوماتیک ډیټابیس اندازې مدیریت.
  • د 32-bit او 64-bit غونډو لپاره د واحد ډیټابیس بڼه.
  • د اندازې په واسطه د نمونې اندازې اټکل (د رینج پوښتنې اټکل).
  • د پینکیکونو او د کاروونکي د انتخاب وړ ډیټابیس پاڼې اندازې دوه چنده لوی کیلي لپاره ملاتړ.

د libmdbx د خوشې کیدو کاندید د پریکړې پایله ده (لاندې وګورئ) د 2019 په اګست کې د MDBX او MithrilDB پروژې جلا کولو لپاره. په ورته وخت کې libmdbx پریکړه وکړه چې (منطقي) اعظمي تخنیکي پور له مینځه یوسي او کتابتون ثبات کړي. په واقعیت کې، په ټاکل شوي لوري کې 2-3 ځله ډیر ترسره شوي دي په پرتله چې په پیل کې اټکل شوي او پالن شوي وو:

  • د ماک OS او دوهم درجې پلیټ فارمونو لپاره ملاتړ پلي شوی: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. د اړتیا سره سم د AIX او HP-UX ملاتړ اضافه کیدی شي.
  • کوډ د غیر تعریف شوي چلند سینیټیزر او ادرس سینیټیزر په کارولو سره پاک شوی و ، ټول اخطارونه کله چې د -Wpedantic سره جوړیږي ، د پوښښ جامد تحلیل کونکي اخطارونه او نور له مینځه وړل شوي.
  • تازه کول د API توضیحات.
  • د امبیډ کولو اسانتیا لپاره د سرچینې کوډ یوځای کول.
  • د CMake ملاتړ.
  • د نیست شوي معاملو لپاره ملاتړ.
  • د بوټیډ کارول ترڅو معلومه کړي چې ایا OS ریبوټ شوی (د خندا ډیټابیس سټاپ).
  • له پای څخه تر پای پورې د تازه / زړو پاڼو شمیرل او د راکړې ورکړې پراخه معلومات.
  • په مناسب حالت کې د دمخه خلاص ډیټابیس سره وصل کولو لپاره MDBX_ACCEDE اختیار.
  • کارول د OFD بندول کله چې شتون ولري.
  • په پایپ کې ګرم بیک اپ.
  • ځانګړي مطلوب داخلي ترتیب کولو الګوریتم (د qsort() په پرتله 2-3 ځله ګړندی او د std::sort() په پرتله 30% ګړندی.
  • د کیلي اعظمي اوږدوالی ډیر شوی.
  • مخکې د لوستلو اتوماتیک کنټرول (په حافظه کې د ډیټابیس فایل کیشینګ ستراتیژي).
  • ډیر تیریدونکی او ګړندی اتوماتیک تړون.
  • د B+ د ونې پاڼو د یوځای کولو لپاره خورا غوره ستراتیژي.
  • د غیر محلي فایل سیسټمونو کنټرول (NFS، سامبا، او نور) ترڅو د ډیټابیس زیان مخه ونیسي که چیرې په غلط ډول وکارول شي.
  • د ازموینو لړۍ پراخه شوې.

د libmdbx د "راتلونکي" نسخې پراختیا به د جلا پروژې په توګه دوام ومومي MithrilDB، پداسې حال کې چې د MDBX د "اوسني" نسخې پراختیا ویکتور هدف د فیچر سیټ منجمد کول او ثبات کول دي. دا پریکړه د دریو دلیلونو لپاره وشوه:

  • په بشپړ ډول متضاد: MithrilDB د ټولو پلان شوي ب featuresو پلي کولو لپاره مختلف (غیر متناسب) ډیټابیس فایل فارمیټ او مختلف (غیر متناسب) API ته اړتیا لري.
  • د نوي سرچینې کوډ: د MithrilDB سرچینې کوډ د LMDB څخه خپلواک جواز اخیستی شوی، او پروژه پخپله پالن شوې چې د یو بل جواز لاندې خپره شي (د تصویب لخوا یا IF منښتليک اپاپي 2.0او نه OpenLDAP بنسټ).
  • جلا کول د احتمالي ګډوډۍ څخه مخنیوی کوي، ډیر ډاډ ورکوي، او ډاډ ورکوي چې پروژې یو خپلواکه لاره لري.

MithrilDB، لکه MDBX، هم پر بنسټ والړ دی ونې B+ او هم به خورا لوړ فعالیت وړاندې کړي، پداسې حال کې چې د MDBX او LMDB یو شمیر بنسټیز زیانونه له منځه یوسي. په ځانګړې توګه، د "اوږدې لوستلو" ستونزه، چې ځان د ډیټابیس د "پړسوب" په توګه څرګندوي د دې حقیقت له امله چې د کثافاتو پروسس کول د اوږدې لوستلو معاملو لخوا بند شوي، به له منځه یوړل شي. د MithrilDB نوې ځانګړتیاوې په لاندې ډول دي:

  • په څو متضاد میډیا کې د ډیټابیس ځای په ځای کولو ملاتړ: HDD ، SSD او غیر متزلزل حافظه.
  • د "قیمتي" او "ټیټ ارزښت" لپاره غوره ستراتیژۍ، د "ګرم"، "تودوخې" او "سړه" معلوماتو لپاره.
  • د ډیټابیس بشپړتیا څارلو لپاره د مرکل ونې کارول.
  • د WAL اختیاري کارول او د لیکلو ژور سناریوګانو او د معلوماتو بشپړتیا تضمین کې د پام وړ لوړ فعالیت.
  • په ډیسکونو کې د معلوماتو سست کیچ اپ فکسیشن.

سرچینه: linux.org.ru

Add a comment