{"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\/fr\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3","title":{"rendered":"Publication de la base de donn\u00e9es embarqu\u00e9e libmdbx 0.13.3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La version 0.13.3 de la biblioth\u00e8que libmdbx (MDBX) a \u00e9t\u00e9 publi\u00e9e, offrant une base de donn\u00e9es int\u00e9gr\u00e9e compacte et performante de type cl\u00e9-valeur. Le code de libmdbx est distribu\u00e9 sous la licence Apache 2.0. Toutes les syst\u00e8mes d'exploitation et architectures r\u00e9cents sont pris en charge, y compris le Elbrus 2000 russe. Libmdbx propose une API \u00e9toff\u00e9e pour C++, ainsi que des liaisons support\u00e9es par des passionn\u00e9s pour les langages Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.      <\/p>\n<p>Historiquement, libmdbx est une r\u00e9\u00e9criture approfondie du SGBD LMDB et surpasse son pr\u00e9d\u00e9cesseur en termes de fiabilit\u00e9, de fonctionnalit\u00e9s et de performances. Par rapport \u00e0 LMDB, libmdbx accorde une grande importance \u00e0 la qualit\u00e9 du code, \u00e0 la stabilit\u00e9 de l'API, aux tests et aux v\u00e9rifications automatiques. Un utilitaire de v\u00e9rification de l'int\u00e9grit\u00e9 de la structure de la base de donn\u00e9es est fourni avec certaines capacit\u00e9s de r\u00e9cup\u00e9ration. Sur le plan technologique, libmdbx propose ACID, une s\u00e9rialisation stricte des modifications et une lecture non-bloquante avec une scalabilit\u00e9 lin\u00e9aire sur les c\u0153urs CPU. La compactage automatique est pris en charge, ainsi que la gestion automatique de la taille de la base de donn\u00e9es, et l'estimation du volume des \u00e9chantillons par plages (estimation des requ\u00eates de plage).        <\/p>\n<p>Principales modifications :  <\/p>\n<ul>\n<li class=\"l\"> La branche 0.13.x a \u00e9t\u00e9 d\u00e9clar\u00e9e stable. Le d\u00e9veloppement de la branche 0.14.x a commenc\u00e9.\n<li class=\"l\"> La fonction mdbx_cursor_count_ex() a \u00e9t\u00e9 ajout\u00e9e \u00e0 l'API C, permettant d'obtenir \u00e0 la fois le nombre de valeurs multiples correspondant \u00e0 la cl\u00e9 actuelle et des informations sur l'arbre imbriqu\u00e9 stockant ces valeurs.\n<li class=\"l\"> La m\u00e9thode mdbx::txn::make_broken() a \u00e9t\u00e9 ajout\u00e9e \u00e0 l'API C++, similaire \u00e0 mdbx_txn_break().\n<li class=\"l\"> Les utilitaires mdbx_copy, mdbx_drop, mdbx_dump, mdbx_load et mdbx_stat impl\u00e9mentent maintenant la journalisation des erreurs, avertissements et messages importants de libmdbx.\n<li class=\"l\"> Changement de comportement :\n<ul>\n<li class=\"l\"> Lorsque le profilage du ramasse-miettes est activ\u00e9 (compilation avec l'option MDBX_ENABLE_PROFGC=ON), le temps CPU consacr\u00e9 \u00e0 la fusion des listes de pages est maintenant comptabilis\u00e9, c'est-\u00e0-dire le fonctionnement de la fonction pnl_merge().\n<li class=\"l\">  Dans l'utilitaire de test, la valeur du mode de donn\u00e9es a \u00e9t\u00e9 renomm\u00e9e de data.dups en data.multi.\n<li class=\"l\">  Le contr\u00f4le de la longueur de la cl\u00e9 dans cursor_seek() a \u00e9t\u00e9 am\u00e9lior\u00e9.\n<li class=\"l\"> Si aucune valeur n'est d\u00e9finie par l'utilisateur via mdbx_env_set_option(MDBX_opt_txn_dp_limit), le dirty-pages-limit est ajust\u00e9 au d\u00e9marrage de chaque transaction d'\u00e9criture non imbriqu\u00e9e, en fonction de la quantit\u00e9 de RAM disponible et de la taille de la base de donn\u00e9es.\n<li class=\"l\"> En mode MDBX_NOSTICKYTHREADS, le commit\/abort des transactions imbriqu\u00e9es est autoris\u00e9 depuis n'importe quel thread.\n<li class=\"l\"> Lors de la tentative de lancement de transactions imbriqu\u00e9es en mode MDBX_WRITEMAP, un journal est cr\u00e9\u00e9 et une erreur MDBX_INCOMPATIBLE est retourn\u00e9e.\n<li class=\"l\"> Dans l'API C++, seuls les valeurs par d\u00e9faut sont utilis\u00e9es par d\u00e9faut dans les constructeurs\/initiateurs et les m\u00e9thodes li\u00e9es \u00e0 la formation de la g\u00e9om\u00e9trie de la base de donn\u00e9es.\n<li class=\"l\"> Dans mdbx_env_set_geometry(), les heuristiques ont \u00e9t\u00e9 am\u00e9lior\u00e9es pour affiner les param\u00e8tres de g\u00e9om\u00e9trie de la base de donn\u00e9es demand\u00e9s par l'utilisateur \u00ab par d\u00e9faut \u00bb.  <\/ul>\n<li class=\"l\"> Corrections :\n<ul>\n<li class=\"l\"> Un r\u00e9gressif concernant le d\u00e9blocage du mutex lors de la tentative de fermeture r\u00e9p\u00e9t\u00e9e du descripteur dbi a \u00e9t\u00e9 corrig\u00e9, y compris lors de la tentative de fermeture explicite du descripteur apr\u00e8s la suppression de la table associ\u00e9e.\n<li class=\"l\"> Un r\u00e9gressif sur l'\u00e9tat du curseur imbriqu\u00e9\/dupsort apr\u00e8s l'insertion de donn\u00e9es en mode MDBX_APPEND a \u00e9t\u00e9 corrig\u00e9.\n<li class=\"l\"> Prise en charge de l'obtention de boot_id lors de l'ex\u00e9cution \u00e0 l'int\u00e9rieur d'un conteneur LXC.\n<li class=\"l\"> Une erreur de traitement incorrect des tentatives de lancement d'une transaction de lecture imbriqu\u00e9e a \u00e9t\u00e9 corrig\u00e9e. Dans de telles situations, l'erreur MDBX_EINVAL est maintenant retourn\u00e9e, car l'imbrication n'est prise en charge que pour les transactions de lecture-\u00e9criture.\n<li class=\"l\"> Un r\u00e9gressif SIGSEGV d'acc\u00e8s \u00e0 une adresse nulle lorsque vous travaillez en mode lecture seule sans utiliser de fichier LCK, par exemple lorsque la base de donn\u00e9es est stock\u00e9e sur un support en lecture seule, a \u00e9t\u00e9 corrig\u00e9.  <\/ul>\n<\/ul>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62554\">opennet.ru<\/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 - 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\/fr\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Sortie de la base de donn\u00e9es int\u00e9gr\u00e9e libmdbx 0.13.3 | ProHoster","description":"La version 0.13.3 de la biblioth\u00e8que libmdbx (MDBX) a \u00e9t\u00e9 publi\u00e9e, avec la mise en \u0153uvre d'une base de donn\u00e9es int\u00e9gr\u00e9e haute performance et compacte de type cl\u00e9-valeur. Le code de libmdbx est distribu\u00e9 sous la licence Apache 2.0.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/121338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=121338"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/121338\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=121338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=121338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=121338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}