Пас аз се моҳи таҳия, libmdbx 0.10.0 (MDBX) бароварда шуд, ки пойгоҳи додаҳои дорои маҳсулнокии баланд ва паймоне, ки дарунсохташудаи калидҳо мебошад, амалӣ карда мешавад. Рамзи libmdbx дар доираи Литсензияи ҷамъиятии OpenLDAP иҷозатнома дорад. libmdbx як коркарди амиқи DBMS LMDB аст ва ба гуфтаи таҳиягарон, аз аҷдоди худ дар эътимоднокӣ, доираи қобилиятҳо ва иҷроиш бартарӣ дорад. Гуфта мешавад, ки libmdbx нисбат ба LMDB дар сенарияҳои CRUD то 20% тезтар ва то 30% тезтар аст, агар назорати дохилӣ ба сатҳи муқоисашаванда бо LMDB ҳангоми сохтани libmdbx ғайрифаъол карда шавад.
Libmdbx ACID, сериализатсияи сахти тағирёбанда ва хонишҳои бебандро пешниҳод мекунад, ки дар миқёси хаттӣ дар тамоми ядроҳои CPU миқёс доранд. Дар libmdbx ба сифати код, амалиёти устувори API, санҷиш ва санҷишҳои автоматӣ таваҷҷӯҳи зиёд дода мешавад. Фишурдани худкор, идоракунии автоматии андозаи пойгоҳи додаҳо, формати ягонаи пойгоҳи додаҳо барои анҷуманҳои 32-бит ва 64-бит ва арзёбии дархости диапазонро дастгирӣ мекунад. Утилита барои тафтиши якпорчагии сохтори пойгоҳи додаҳо бо баъзе қобилиятҳои барқарорсозӣ таъмин карда шудааст. Аз соли 2016 инҷониб лоиҳа аз ҷониби Positive Technologies маблағгузорӣ шуда, аз соли 2017 дар маҳсулоташ истифода мешавад ва таҳримҳои ҷорӣкардаи ҳукумати ИМА алайҳи Технологияҳои Позитив ҳеҷ таъсири чашмрасе надоранд.
Навовариҳо, такмилҳо ва ислоҳҳои асосӣ аз барориши охирин илова карда шуданд:
- Як бастаи Ruby аз ҷониби Маҳлон Э. Смит ва версияи озмоишии пайвандҳои Python аз ҷониби Ноэл Кунтзе дастрасанд ва пайвандҳои GoLang аз ҷониби Алексей Шаров навсозӣ шудаанд.
- Барои реҷаи "MDBX_WRIITEMAP", вақте ки маълумоти махзани маълумот мустақиман дар RAM тағир дода мешавад, "резиши шаффоф"-и саҳифаҳои пойгоҳи додаҳо ба диск амалӣ карда мешавад. Ҳоло, пас аз анҷоми ҳар як амалиёт, ин гуна саҳифаҳо фавран барои навиштан ба диск омода мешаванд ва ядрои ОС метавонад мустақилона саҳифаҳои тағирёфтаро ба диск тоза кунад ва анҷом додани транзаксия тағир додани онҳоро талаб намекунад. Дар натиҷа, дар сенарияҳои банд бо нокифояи RAM, ҳаҷми амалиёти диск метавонад то 2 маротиба кам карда шавад.
- Хориҷ кардани нусхаҳои сояафкани тӯлонӣ истифоданашудаи саҳифаҳои тағирёфта, бо бартарият барои хориҷ кардани саҳифаҳои дорои арзишҳои калон/дароз, ки дар аксари сенарияҳо танҳо як маротиба дар як транзаксия тағир дода мешаванд. Дар натиҷа трафики диск кам ва иҷрои беҳтар дар сенарияҳо бо транзаксияҳои хеле калон аст.
- Реҷаи "интеллектуалӣ" барои тақсим кардани саҳифаҳо ҳангоми ворид кардани калидҳо ҷорӣ карда шуд. Ҳоло, ҳангоми ворид кардани пайдарпайии фармоишӣ, саҳифаҳо ба таври худкор пурра пур карда мешаванд ва дар дигар ҳолатҳо, дарахт ба таври оптималӣ мувозинат карда мешавад. Дар натиҷа, ба ҳисоби миёна, саҳифаҳои пойгоҳи додаҳо оптималӣ пур карда мешаванд ва дарахти B мутавозинтар аст, ки ба кор таъсири мусбӣ мерасонад.
- Омори амалиётҳо бо саҳифаҳо илова карда шуд, ки ба шумо имкон медиҳад, ки арзиши тағир додани амалиёт бо пойгоҳи додаҳо дақиқ ҳисоб карда шавад.
- Зиёда аз даҳҳо хато ва хатогиҳо ислоҳ карда шуданд, аз ҷумла: мушкилот бо сохтани система тавассути MinGW, истифодаи `std::filesystem::path` дар iOS <= 13.0, сохтани система бо ҳадафгирии версияҳои кӯҳна Windows ва ғайра.
- Дар маҷмӯъ, ба 200 файл зиёда аз 66 тағйирот ворид карда шуд, ~ 6500 сатр илова карда шуд, ~ 4500 нест карда шуд.
Алоҳида, ман мехоҳам интихоби лоиҳаи Turbo-Geth (форки турбои Go-Ethereum) libmdbx-ро ҳамчун пуштибони нави нигаҳдорӣ қайд намоям ва инчунин ба дастаи лоиҳа (хусусан Алексей Шаров, Артём Воротников ва Алексей Охунов) барои кӯмаки бузург дар озмоиш дар сенарияҳои ҳолатҳои истифодаи шадид. Аз ҷумла, нуқсон дар идоракунии пешакии хондан/кэш ошкор ва бартараф карда шуд, ки боиси таназзули кор дар сенарияҳои дубора тавлидшаванда бо пойгоҳи додаҳои калон гардид.
Манбаъ: opennet.ru
