د درې میاشتو پراختیا وروسته، libmdbx 0.10.0 (MDBX) خپور شو، چې د لوړ فعالیت، کمپیکټ، ایمبیډ شوي کیلي ارزښت ډیټابیس پلي کوي. د libmdbx کوډ د OpenLDAP عامه جواز لاندې جواز لري. libmdbx د LMDB ډیټابیس مدیریت سیسټم یو لوی بیا لیکل دی او د دې پراختیا کونکو په وینا، د اعتبار، ځانګړتیا سیټ، او فعالیت کې د خپل مخکیني څخه ډیر دی. ادعا کیږي چې Libmdbx د CRUD سناریوګانو کې د LMDB په پرتله تر 20٪ پورې ګړندی دی، او تر 30٪ پورې ګړندی دی که چیرې داخلي چکونه د جوړولو پرمهال د LMDB سره پرتله کیدونکي کچې ته غیر فعال شي.
Libmdbx د CPU کورونو په اوږدو کې د خطي پیمانه کولو سره ACID، د بدلونونو سخت سریال کول، او غیر بلاکینګ لوستل وړاندې کوي. Libmdbx د کوډ کیفیت، API ثبات، ازموینې، او اتوماتیک چیکونو باندې ډیر ټینګار کوي. دا د اتوماتیک کمپیکټیشن، اتوماتیک ډیټابیس اندازې مدیریت، د 32-bit او 64-bit جوړونو لپاره یو متحد ډیټابیس بڼه، او د رینج پوښتنې اټکل ملاتړ کوي. د ډیټابیس جوړښت بشپړتیا چیک یوټیلټي د ځینې بیا رغونې وړتیاو سره شامله ده. له 2016 راهیسې، پروژه د مثبت ټیکنالوژۍ لخوا تمویل شوې او له 2017 راهیسې په خپلو محصولاتو کې کارول کیږي. د مثبت ټیکنالوژۍ په وړاندې د متحده ایالاتو حکومت بندیزونو هیڅ د پام وړ اغیزه نه درلوده.
د وروستي خپریدو راهیسې اضافه شوي مهم نوي ځانګړتیاوې، پرمختګونه، او اصلاحات:
- د ماهلون ای. سمیت د روبي بانډینګونه او د نویل کنټز د پایتون بانډینګونه اوس شتون لري، او د الیکسي شاروف د ګولانګ بانډینګونه تازه شوي دي.
- د "MDBX_WRITEMAP" حالت لپاره، کله چې د ډیټابیس معلومات په مستقیم ډول په RAM کې تعدیل شي، د ډیسک ته د تعدیل شوي ډیټابیس پاڼو "شفاف فلش کول" پلي شوي. اوس، د هر عملیات بشپړیدو وروسته، دا پاڼې سمدلاسه ډیسک ته د لیکلو لپاره چمتو دي، او د OS کرنل کولی شي په اتوماتيک ډول تعدیل شوي پاڼې ډیسک ته فلش کړي، پرته له دې چې د معاملې کولو پرمهال تعدیل شي. په پایله کې، د ناکافي RAM سره د لوړ بار سناریوګانو کې، د ډیسک عملیاتو حجم تر 2x پورې کم کیدی شي.
- د تعدیل شویو پاڼو د اوږدې مودې نه کارول شوي سیوري کاپيونو ایستل پلي شوي، د لویو/اوږدو ارزښتونو لرونکو پاڼو ایستلو ته ترجیح ورکول کیږي، کوم چې په ډیری سناریوګانو کې یوازې په هر معامله کې یو ځل تعدیل کیږي. دا د ډیسک ټرافیک کموي او د ډیرو لویو معاملو سره په سناریوګانو کې فعالیت ښه کوي.
- د کیلي داخلولو لپاره د "سمارټ" پاڼې ویشلو حالت پلي شوی دی. اوس، کله چې ترتیب شوي ترتیبونه داخل کړئ، پاڼې په اتوماتيک ډول په بشپړ ډول ډکیږي، او په نورو قضیو کې، ونې ډیر په غوره توګه متوازن کیږي. په پایله کې، په اوسط ډول، د ډیټابیس پاڼې ډیر په غوره توګه ډکیږي، او B-ونې ډیر متوازن کیږي، کوم چې په فعالیت مثبت اغیزه کوي.
- د پاڼې د عملیاتو احصایې اضافه شوې، چې د ډیټابیس د تعدیل عملیاتو د لګښت دقیق اټکل ته اجازه ورکوي.
- له دولسو څخه زیاتې تېروتنې او ستونزې حل شوې دي، په شمول د: د MinGW له لارې د جوړولو ستونزې، په iOS <= 13.0 کې د `std::filesystem::path` کارول، د زړو نسخو په نښه کولو سره جوړول Windows او داسې نور.
- په مجموع کې، په 200 فایلونو کې له 66 څخه ډیر بدلونونه رامینځته شوي، ~ 6500 لینونه اضافه شوي، ~ 4500 حذف شوي.
زه غواړم په ځانګړي ډول د ټربو-ګیت پروژې (د ګو-ایتیریم یو ټربو فورک) ستاینه وکړم چې د libmdbx د خپل نوي ذخیره کولو بیک اینډ په توګه یې غوره کړ، او د پروژې ټیم (په ځانګړي توګه الیکسي شاروف، آرټیم ووروټنیکوف، او الیکسي اخونوف) څخه د سخت کارونې قضیو کې د ازموینې سره د دوی د پراخې مرستې لپاره مننه وکړم. په ځانګړې توګه، دوی د لوستلو-مخکې/کیچینګ مدیریت کې یوه نیمګړتیا پیژندلې او حل کړې چې د لوی ډیټابیسونو سره د بیا تولید لپاره ستونزمن سناریوګانو کې د فعالیت تخریب لامل کیده.
سرچینه: opennet.ru
