Издање уграђене ДБМС високих перформанси либмдбк 0.10.4 и либфпта 0.3.9

Библиотека либмдбк 0.10.4 (МДБКС) је објављена са имплементацијом компактне уграђене базе података кључ/вредност високих перформанси и придружене библиотеке либфпта 0.3.9 (ФПТА), која имплементира табеларни приказ података са секундарним и композитним индексима на врху МДБКС-а. Обе библиотеке се дистрибуирају под ОСИ одобреним лиценцама. Подржани су сви актуелни оперативни системи и архитектуре, као и руски Елбрус 2000.

Историјски гледано, либмдбк је дубока прерада ЛМДБ ДБМС-а и супериорнија је од свог претка по поузданости, скупу функција и перформансама. У поређењу са ЛМДБ, либмдбк ставља велики нагласак на квалитет кода, стабилност АПИ-ја, тестирање и аутоматизоване провере. Испоручује се услужни програм за проверу интегритета структуре базе података са неким могућностима опоравка.

Технолошки, либмдбк нуди АЦИД, снажну серијализацију промена и неблокирајуће читање са линеарним скалирањем преко ЦПУ језгара. Подржана је аутоматска компактификација, аутоматско управљање величином базе података и процена упита опсега. Од 2016. године, пројекте финансира Поситиве Тецхнологиес и од 2017. се користе у својим производима.

либмдбк нуди Ц++ АПИ, као и језичке везе које подржавају ентузијасти за Руст, Хаскелл, Питхон, НодеЈС, Руби, Го и Ним. За либфпта, само опис АПИ-ја је јавно доступан у облику датотеке заглавља Ц/Ц++.

Главне иновације, побољшања и исправке додати у односу на претходне вести од 9. маја:

  • Омогућава поновљиве градње.
  • Исправљена грешка због које је, у веома ретким околностима, могло доћи до петље/замрзавања током урезивања трансакције. Проблем су идентификовали стручњаци Поситиве Тецнологиес током интерног тестирања сопствених производа.
  • Тестови су побољшани, а сценарији тестирања су проширени да би се проверила сва доступна не-изоморфна стања стабла страница и ГЦ садржаја унутар базе података.
  • У Ц++ АПИ-ју је поправљен додатни „ноекцепт“, додата су додатна преоптерећења за метод „цурсор::ерасе()“, имплементација бафера је поштеђена употребе „стд::стринг“ да би се осигурало поравнање (релевантно за ЦЛАНГ либстдц++).
  • Елиминисана је регресија у алгоритму преливања прљавих страница (селективно избацивање промењених страница базе података) која се манифестовала ретким неочекиваним грешком МДБКС_ПРОБЛЕМ при промени података у великим трансакцијама.
  • Спроведен је фазни тест уз додатак бројних провера како би се осигурала стабилност у случају намерног оштећења базе података.
  • Исправљена мања упозорења УндефинедБехавиорСанитизер и проблеми са скенирањем Цоверити Сцан.
  • Исправљена је провера застареле и више не коришћене интерне заставице „П_ДИРТИ“ на угнежђеним страницама унутар слика базе података које су креирале старије верзије библиотеке.
  • У ЦМаке скриптама је побољшана претрага компоненти компајлера потребних за ЛТО (оптимизација времена везе).
  • Максималан број истовремених читача је повећан на 32767.
  • Побољшане перформансе када користите Валгринд и АддрессСанитизер.
  • У Виндовс-у је елиминисана рекурзивна употреба СРВ-лоцк када се ради у МДБКС_НОТЛС режиму (без коришћења локалног складишта нити), генерисање покретања је поправљено ако се системско време променило, ВСЛ1 и ВСЛ2 детекција је побољшана и могућност да се додата је отворена база података на План 9 монтирана преко ДрвФС-а.
  • Укупно је направљено више од 160 измена у 57 датотека, ~5000 линија је додато, ~2500 је обрисано.

Посебно бих желео да се захвалим Еригон пројектном тиму (Етхереум екосистем) на њиховој помоћи у тестирању у сценаријима екстремне употребе. Значајно је да су за пет месеци од објављивања либмдбк в0.10.0, са запремином базе података од 1-2 ТБ у свакој Еригон инсталацији (користи се на 7% Етхереум чворова), примљена само три извештаја о корупцији базе података, све од који је настао због екстерних разлога, а не софтверских грешака: у два случаја узрок су кварови РАМ-а, у трећем грешка у ресетовању података у специфичној конфигурацији подсистема за складиштење помоћу БТРФС-а.

Извор: опеннет.ру

Додај коментар