Нашри DBMS паймоне, ки дарунсохт libmdbx 0.9.1

Озод карда шуд нусхаи китобхона 0.9.1 libmdbx (MDBX) татбиқи як пойгоҳи додаҳои пурмаъно ва паймоне, ки дарунсохти калиди арзиш аст. Рамзи libmdbx зери иҷозатнома паҳн карда мешавад Иҷозатномаи ҷамъиятии OpenLDAP.

Варианти ҷорӣ созиш байни нияти баровардани версияи устувори дарозмуддати 1.0 бо дастгирии пурраи C++ ва худдорӣ аз таъхири нашрҳо аз сабаби омода набудан ба ях кардани API-и нави C++ мебошад. Нашри пешниҳодшуда натиҷаи кори 9-моҳаест, ки ба эътидол овардани китобхона ва беҳтар кардани коршоямии он нигаронида шудааст ва инчунин версияи пешакиро дар бар мегирад. API C++.

Китобхонаи libmdbx на танҳо "форк", балки насли ба таври куллӣ аз нав тарҳрезишуда аст. LMDB — DBMS-и дарунсохташудаи транзаксионии синфи "калид-арзиш" дар асоси дарахти B+ бе он бақайдгирии фаъол, ки ба равандҳои бисёр ришта имкон медиҳад, ки бо пойгоҳи додаҳои ба таври маҳаллӣ муштарак (ғайришабака) бидуни раванди сервери махсус рақобатпазир ва самаранок кор кунанд. libmdbx асосан васеъ мекунад имкониятҳои аҷдоди худ, ҳамзамон бартараф ё сабук кардани камбудиҳо. Дар айни замон, ба гуфтаи таҳиягарон, libmdbx нисбат ба LMDB каме тезтар ва ба таври назаррас боэътимодтар аст.

libmdbx пешниҳод мекунад Кислота, сериализатсияи қатъии тағирот ва хониши ғайрифаъол бо миқёси хатӣ дар ядроҳои CPU. Натиҷаҳои санҷиши фаъолият (фиристодаи дархостҳои хондан/ҷустуҷӯи мувозӣ дар риштаҳои 1-2-4-8 дар CPU i7-4600U бо 2 ядрои физикӣ дар реҷаи 4-риштаи HyperThread):

Нашри DBMS паймоне, ки дарунсохт libmdbx 0.9.1

Муҳимтарин фарқиятҳо байни MDBX ва LMDB:

  • Асосан, ба сифати код, мутобиқати API, санҷиш ва санҷишҳои автоматӣ таваҷҷӯҳи бештар дода мешавад.
  • Ба таври назаррас бештар назорат ҳангоми кор, аз санҷиши параметрҳо то аудити дохилии сохторҳои пойгоҳи додаҳо.
  • Автоматсозӣ ва идоракунии автоматии андозаи пойгоҳи додаҳо.
  • Формати ягонаи пойгоҳи додаҳо барои анҷуманҳои 32-бит ва 64-бит.
  • Арзёбии ҳаҷми намуна аз рӯи диапазон (баҳодиҳии дархости диапазон).
  • Дастгирии калидҳои ду баробар дароз ва андозаи саҳифаи пойгоҳи додаҳои аз ҷониби корбар интихобшаванда.
  • Утилита барои тафтиши якпорчагии сохтори пойгоҳи додаҳо бо баъзе қобилиятҳои барқарорсозӣ.

Навовариҳо ва такмилдиҳии асосӣ пас аз хабархои пештара бо ҷорӣ намудани версияи 0.5 дар моҳи январи соли 2020:

  • Барои дастгирии фаврӣ ва ҷавоб ба саволҳо системаи кушода таъсис дода шудааст. Гурӯҳи Telegram.
  • Зиёда аз даддо хатою камбудидо бартараф карда шуданд (ниг. тағиротҳо).
  • Бисёр хатогиҳо ва хатогиҳои имлоӣ ислоҳ карда шуданд ва такмилдиҳии сершумори косметикӣ анҷом дода шуданд.
  • Сенарияҳои санҷиш васеъ карда шуданд.
  • Дастгирии iOS, Android, Buildroot, мусл, uClibc, WSL1 и Вино.
  • Пешнамоиши API C++ дар як файли сарлавҳа.
  • Ҳуҷҷатҳои дарунсохт дар формати Doxygen ва тавлиди автоматӣ Ҳуҷҷатҳои онлайн.
  • Насли автоматии бойгонӣ бо матнҳои муттаҳидшуда таъмин карда мешавад.
  • Дастгирии иловашуда барои омода кардани транзаксияҳо ва курсорҳо, контекстҳои корбар барои транзаксияҳо ва курсорҳо.
  • Усулҳои иловагӣ барои назорати тамомияти истинод дар аксҳои B+tree MVCC амалӣ карда шуданд.
  • Дастгирии иловашуда барои тафтиши акси MVCC-и пойгоҳи додаҳо, ки тавассути ҳама гуна саҳифаи мета бо қобилияти гузариш барои барқарорсозӣ дастрас аст.
  • Дастгирии амалӣ барои боз кардани пойгоҳи додаҳо аз як раванд бо мақсади санҷиш ва ғайра.
  • Коркарди автоматии опсияи MDBX_NOSUBDIR ҳангоми кушодани пойгоҳи додаҳо амалӣ карда шуд.
  • Функсияҳои иловашуда барои тавлиди калидҳои бутун аз арзишҳои нуқтаи шинокунанда ва рақамҳои JavaScript “универсалӣ”.
  • Дар маҷмӯъ, 430 тағйирот ворид карда шуд, ки ба 93 файл дахл дорад, зиёда аз 25 ҳазор сатр илова карда шуд, зиёда аз 8.5 ҳазор сатр нест карда шуд.

Рушди минбаъдаи libmdbx ба API-и ниҳоии C++, устуворсозии минбаъдаи коди асосӣ, беҳтар кардани қобилияти коршоямии китобхона ва бастабандӣ барои тақсимоти маъмули Linux тамаркуз хоҳад кард. Дар байни такмилҳои пешниҳодшуда, дастгирии калидҳо дар форматро қайд кардан лозим аст MessagePack.

Манбаъ: opennet.ru

Илова Эзоҳ