د لوړ فعالیت سرایت شوي DBMS libmdbx 0.10.4 او libfpta 0.3.9 خوشې کول

د libmdbx 0.10.4 (MDBX) کتابتون د لوړ فعالیت کمپیکٹ ایمبیډ شوي کلیدي ارزښت ډیټابیس پلي کولو سره خپور شو ، او اړوند libfpta 0.3.9 (FPTA) کتابتون چې د ثانوي او جامع شاخصونو سره د ډیټا جدول نمایش پلي کوي د MDBX په سر کې. دواړه کتابتونونه د OSI منظور شوي جوازونو لاندې ویشل شوي دي. ټول اوسني عملیاتي سیسټمونه او جوړښتونه ملاتړ کیږي، په بیله بیا د روسیې ایلبروس 2000.

په تاریخي توګه، libmdbx د LMDB DBMS ژور بیا کار دی او د اعتبار، ځانګړتیاوو او فعالیت په برخه کې د خپل پلار څخه غوره دی. د LMDB په پرتله، libmdbx د کوډ کیفیت، د API ثبات، ازموینې، او اتوماتیک چکونو باندې ډیر ټینګار کوي. د ځینې بیا رغونې وړتیاو سره د ډیټابیس جوړښت بشپړتیا چک کولو لپاره یو وسیله چمتو کیږي.

د ټکنالوجۍ له مخې، libmdbx د CPU کور په اوږدو کې د خطي اندازه کولو سره د ACID، قوي بدلون سیریل کولو، او غیر بلاک کولو لوستل وړاندیز کوي. اتوماتیک تړون کول، د اتوماتیک ډیټابیس اندازې مدیریت، او د رینج پوښتنې اټکل ملاتړ کیږي. د 2016 راهیسې، پروژې د مثبت ټکنالوجۍ لخوا تمویل شوي او له 2017 راهیسې په خپلو محصولاتو کې کارول کیږي.

libmdbx د C++ API وړاندې کوي، په بیله بیا د Rust، Haskell، Python، NodeJS، Ruby، Go او Nim لپاره د لیوالتیا ملاتړ شوي ژبې پابندونه. د libfpta لپاره، یوازې د API توضیحات په عامه توګه د C/C++ سرلیک فایل په بڼه شتون لري.

لوی نوښتونه، اصلاحات او سمونونه د می په 9 د مخکینیو خبرونو څخه اضافه شوي:

  • د بیا تولید وړ جوړښتونه فعالوي.
  • یو بګ حل شوی چې له امله یې په خورا نادر شرایطو کې ، د لیږد ژمنې پرمهال لوپ / کنګل کیدی شي. ستونزه د مثبت ټیکنالوژۍ متخصصینو لخوا د خپلو محصولاتو داخلي ازموینې پرمهال پیژندل شوې.
  • ازموینې ښه شوي او د ازموینې سناریوګانې پراخه شوي ترڅو د ډیټابیس دننه د پاڼې ونې او GC مینځپانګې ټول د لاسرسي وړ غیر اسومورفیک حالتونه چیک کړي.
  • په C++ API کې، یو اضافي "noexcept" ټاکل شوی، د "cursor::erase()" میتود لپاره اضافي بارونه اضافه شوي، د بفر پلي کول د سمون ډاډ ترلاسه کولو لپاره د "std::string" کارولو څخه ژغورل شوي. (د CLANG libstdc++ لپاره اړونده).
  • د خرابې پاڼې تویولو الګوریتم (د بدل شوي ډیټابیس پاڼو انتخابي ایستل) کې یو ریګریشن چې د یوې نادرې غیر متوقع تېروتنې MDBX_PROBLEM لخوا څرګند شوی و کله چې په لویو معاملو کې د معلوماتو بدلول له منځه وړل شوي.
  • یو مرحلې ازموینه د یو شمیر چکونو اضافه کولو سره ترسره شوې ترڅو ډیټابیس ته د قصدي زیان په صورت کې ثبات ډاډمن کړي.
  • ثابت کوچني اخطارونه د نه تعریف شوي چلند سینیټایزر او د پوښښ سکین مسلې.
  • د کتابتون د زړو نسخو لخوا رامینځته شوي ډیټابیس عکسونو کې دننه په نیست شوي پا pagesو کې زاړه او نور نه کارول شوي داخلي بیرغ "P_DIRTY" چیک کول ثابت شوي.
  • په CMake سکریپټونو کې، د LTO (لینک وخت اصلاح) لپاره اړین د کمپیلر اجزاوو لټون ښه شوی.
  • د یوځل لوستونکو اعظمي شمیر 32767 ته لوړ شوی.
  • ښه فعالیت کله چې د والګرینډ او اډریس سینیټایزر کاروي.
  • په وینډوز کې، د SRW-lock تکراري کارول کله چې په MDBX_NOTLS حالت کې کار کوي (پرته له دې چې د محلي تار ذخیره کولو کارولو څخه) له منځه یوړل شي، د بوټیډ نسل ټاکل شوی که د سیسټم وخت بدل شوی وي، د WSL1 او WSL2 کشف ښه شوی، او وړتیا په پلان 9 کې ډیټابیس خلاص کړئ چې د DrvFS له لارې نصب شوی اضافه شوی.
  • په مجموع کې، په 160 فایلونو کې له 57 څخه ډیر بدلونونه رامینځته شوي، ~ 5000 لینونه اضافه شوي، ~ 2500 حذف شوي.

زه په ځانګړې توګه غواړم د ایریګون پروژې ټیم (ایتیریم ایکوسیستم) څخه مننه وکړم چې د دوی د مرستې لپاره د خورا ډیر کارونې سناریوګانو کې ازموینې کې. دا د پام وړ ده چې د libmdbx v0.10.0 له خپریدو راهیسې په پنځو میاشتو کې په هر ایریګون نصب کې د 1-2 TB ډیټابیس حجم سره (په 7٪ ایتیریم نوډونو کې کارول کیږي) ، د ډیټابیس فساد یوازې درې راپورونه ترلاسه شوي ، ټول کوم چې د بهرني دلایلو له امله رامینځته شوی ، او د سافټویر غلطیو نه: په دوه حالتونو کې لامل د RAM ناکامي وه ، په دریم کې د BTRFS په کارولو سره د ذخیره کولو فرعي سیسټم په ځانګړي ترتیب کې د ډیټا بیا تنظیم کولو کې تېروتنه.

سرچینه: opennet.ru

Add a comment