{"id":121338,"date":"2025-01-14T21:45:59","date_gmt":"2025-01-14T19:45:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3"},"modified":"2025-01-14T21:45:59","modified_gmt":"2025-01-14T19:45:59","slug":"vypusk-vstraivaemoj-subd-libmdbx-0-13-3","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3","title":{"rendered":"Lansarea bazei de date \u00eencorporate libmdbx 0.13.3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A fost publicat\u0103 versiunea bibliotecii libmdbx 0.13.3 (MDBX), care implementaz\u0103 o baz\u0103 de date \u00eencorporat\u0103 compact\u0103 \u0219i de \u00eenalt\u0103 performan\u021b\u0103 de tip cheie-valoare. Codul libmdbx este distribuit sub licen\u021ba Apache 2.0. Sunt acceptate toate sistemele de operare \u0219i arhitecturile actuale, inclusiv Elbrus 2000 din Rusia. Libmdbx ofer\u0103 o API dezvoltat\u0103 pentru C++, precum \u0219i leg\u0103turi suportate de entuzia\u0219ti pentru limbajele Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.      <\/p>\n<p>Istoric, libmdbx este o reproiectare profund\u0103 a SGBD-ului LMDB \u0219i \u00eel dep\u0103\u0219e\u0219te pe acesta \u00een ceea ce prive\u0219te fiabilitatea, setul de func\u021bionalit\u0103\u021bi \u0219i performan\u021b\u0103. Comparativ cu LMDB, libmdbx acord\u0103 o mare aten\u021bie calit\u0103\u021bii codului, func\u021bion\u0103rii stabile a API-ului, test\u0103rii \u0219i verific\u0103rilor automate. Este disponibil un utilitar pentru verificarea integrit\u0103\u021bii structurii BD cu unele func\u021bii de restaurare. Din punct de vedere tehnologic, libmdbx ofer\u0103 ACID, serializarea strict\u0103 a modific\u0103rilor \u0219i citiri neblocate cu scalare liniar\u0103 pe nuclee CPU. Este suportat\u0103 auto-compac\u021bia, gestionarea automat\u0103 a dimensiunii BD \u0219i estimarea volumului de interog\u0103ri pe intervale (range query estimation).        <\/p>\n<p>Modific\u0103ri principale:  <\/p>\n<ul>\n<li class=\"l\"> Ramura 0.13.x a ob\u021binut statutul de stabilitate. A \u00eenceput dezvoltarea ramurii 0.14.x.\n<li class=\"l\"> \u00cen API-ul C a fost ad\u0103ugat\u0103 func\u021bia mdbx_cursor_count_ex(), care permite ob\u021binerea at\u00e2t a num\u0103rului de valori multiple corespunz\u0103toare cheii curente, c\u00e2t \u0219i a informa\u021biilor despre arborele \u00eencorporat care p\u0103streaz\u0103 aceste valori.\n<li class=\"l\"> \u00cen API-ul C++ a fost ad\u0103ugat metoda mdbx::txn::make_broken(), similar cu mdbx_txn_break().\n<li class=\"l\"> \u00cen utilitile mdbx_copy, mdbx_drop, mdbx_dump, mdbx_load, mdbx_stat a fost implementat logarea erorilor, avertiz\u0103rilor \u0219i mesajelor importante de la libmdbx.\n<li class=\"l\"> Schimbarea comportamentului:\n<ul>\n<li class=\"l\"> C\u00e2nd profilarea colectorului de gunoi este activat\u0103 (compilarea cu op\u021biunea MDBX_ENABLE_PROFGC=ON), acum se calculeaz\u0103 costurile timpului CPU pentru \u00eembinarea listelor de pagini, adic\u0103 pentru func\u021bia pnl_merge().\n<li class=\"l\">  \u00cen utilitarul de testare, valoarea modului de date a fost redenumit\u0103 din data.dups \u00een data.multi.\n<li class=\"l\">  A fost \u00eembun\u0103t\u0103\u021bit\u0103 controlul lungimii cheii \u00een cadrul cursor_seek().\n<li class=\"l\"> Dac\u0103 utilizatorul nu a specificat o valoare prin mdbx_env_set_option(MDBX_opt_txn_dp_limit), se efectueaz\u0103 ajustarea limit\u0103rii paginilor murdare la \u00eenceputul fiec\u0103rei tranzac\u021bii de scriere ne\u00eenglobate, bazat\u0103 pe volumul de RAM disponibil \u0219i dimensiunea BD.\n<li class=\"l\"> \u00cen modul MDBX_NOSTICKYTHREADS, se permite commit\/abort al tranzac\u021biilor \u00eencorporate din orice fir.\n<li class=\"l\"> \u00cen timpul \u00eencerc\u0103rii de a lansa tranzac\u021bii \u00eencorporeaz\u0103 \u00een modul MDBX_WRITEMAP, se efectueaz\u0103 jurnalizarea \u0219i se returneaz\u0103 eroarea MDBX_INCOMPATIBLE.\n<li class=\"l\"> \u00cen API-ul C++, constructorii\/ini\u021bializatorii \u0219i metodele legate de formarea geometriei Bazei de Date utilizeaz\u0103 \u00een mod implicit doar valorile standard.\n<li class=\"l\"> \u00cen cadrul mdbx_env_set_geometry() au fost \u00eembun\u0103t\u0103\u021bite heuristicile pentru ajustarea parametrilor geometriei bazei de date solicita\u021bi de utilizator \u201eimplicit.\u201d  <\/ul>\n<li class=\"l\"> Corec\u021bii:\n<ul>\n<li class=\"l\"> A fost eliminat regresul de deblocare a mutexului \u00een cazul \u00eencerc\u0103rii de a \u00eenchide din nou un descriptor dbi, inclusiv \u00een cazul \u00eencerc\u0103rii de a \u00eenchide explicit descriptorul dup\u0103 \u0219tergerea tabelului asociat.\n<li class=\"l\"> A fost eliminat regresul st\u0103rii cursorului \u00eencorporat\/dupsort dup\u0103 inserarea datelor \u00een modul MDBX_APPEND.\n<li class=\"l\"> Suport pentru ob\u021binerea boot_id \u00een timp ce se lucreaz\u0103 \u00een interiorul unui container LXC.\n<li class=\"l\"> A fost corectat\u0103 eroarea de gestionare incorect\u0103 a \u00eencerc\u0103rii de a lansa o tranzac\u021bie de citire \u00eencorporat\u0103. Acum, \u00een astfel de situa\u021bii, se returneaz\u0103 eroarea MDBX_EINVAL, deoarece \u00eencorporarea este acceptat\u0103 doar pentru tranzac\u021biile de citire-scriere.\n<li class=\"l\"> A fost eliminat regresul SIGSEGV la accesarea unei adrese nule \u00een modul de doar citire f\u0103r\u0103 utilizarea fi\u0219ierului LCK, de exemplu, atunci c\u00e2nd baza de date este plasat\u0103 pe un suport accesibil doar \u00een mod citire.  <\/ul>\n<\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62554\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.13.3 (MDBX) \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041a\u043e\u0434 libmdbx \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0439 \u042d\u043b\u044c\u0431\u0440\u0443\u0441 2000. \u0414\u043b\u044f libmdbx \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u043e\u0435 API \u0434\u043b\u044f C++, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430\u043c\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u044f\u0437\u044b\u043a\u0430\u043c Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121338","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.13.3 (MDBX) \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041a\u043e\u0434 libmdbx \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 libmdbx 0.13.3 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.13.3 (MDBX) \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041a\u043e\u0434 libmdbx \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-01-14T19:45:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-14T19:45:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lansare a SGBD-ului \u00eencorporat libmdbx 0.13.3 | ProHoster","description":"A fost publicat\u0103 versiunea bibliotecii libmdbx 0.13.3 (MDBX) cu implementarea unei baze de date \u00eencorporat\u0103, compact\u0103 \u0219i de \u00eenalt\u0103 performan\u021b\u0103, de tip cheie-valoare. Codul libmdbx este distribuit sub licen\u021ba Apache 2.0.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 libmdbx 0.13.3 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.13.3 (MDBX) \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041a\u043e\u0434 libmdbx \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-01-14T19:45:59+00:00","article:modified_time":"2025-01-14T19:45:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121338","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 09:39:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:39:24","updated":"2026-01-23 09:39:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/121338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=121338"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/121338\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=121338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=121338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=121338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}