{"id":119737,"date":"2024-09-09T03:43:00","date_gmt":"2024-09-09T01:43:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-vstraivaemoj-subd-libmdbx-0-13"},"modified":"2024-09-09T03:43:00","modified_gmt":"2024-09-09T01:43:00","slug":"vypusk-vstraivaemoj-subd-libmdbx-0-13","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13","title":{"rendered":"Udgivelse af den indbyggede DBMS libmdbx 0.13","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Udgivelsen af biblioteket libmdbx 0.13.1 (MDBX) er offentliggjort med implementeringen af en h\u00f8jtydende, kompakt indbygget n\u00f8gle-v\u00e6rdi database. Koden til libmdbx distribueres under Apache 2.0 licensen. Alle aktuelle operativsystemer og arkitekturer underst\u00f8ttes, samt den russiske Elbrus 2000. Der tilbydes et veludviklet API til C++, samt underst\u00f8ttede bindinger til sprog som Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno og Scala.      <\/p>\n<p>Historisk set er libmdbx en dybgenarbejdning af DBMS LMDB og overg\u00e5r sin forg\u00e6nger i p\u00e5lidelighed, funktionss\u00e6t og ydeevne. Sammenlignet med LMDB l\u00e6gges der i libmdbx stor v\u00e6gt p\u00e5 kodekvalitet, stabil drift af API, testning og automatiserede kontroller. Der leveres et v\u00e6rkt\u00f8j til kontrol af databasens integritet med nogle genopretningsmuligheder. Teknologisk tilbyder libmdbx ACID, streng serialisering af \u00e6ndringer og ikke-blokerende l\u00e6sning med line\u00e6r skalering p\u00e5 CPU-kerner. Auto-komprimering, automatisk management af databasedimensioner og estimering af udvalg over omr\u00e5der (range query estimation) underst\u00f8ttes.        <\/p>\n<p>Vigtige \u00e6ndringer:  <\/p>\n<ul>\n<li class=\"l\"> \u00c6ndring af licensen for koden fra OpenLDAP Public License til Apache 2.0.\n<li class=\"l\">  Udvidelse af cursor API med mere bekvemme og indlysende positioneringsoperationer svarende til forholdene &lt;, =, &gt; for b\u00e5de n\u00f8gler og n\u00f8gle-v\u00e6rdi par. Funktionerne mdbx_cursor_unbind() og mdbx_txn_release_all_cursors() er tilf\u00f8jet for fleksibel h\u00e5ndtering af cursors i genbrugsscenarier for at mindske overhead. Funktionerne mdbx_cursor_scan() og mdbx_cursor_scan_from() til scanning af tabeller ved hj\u00e6lp af en funktionel pr\u00e6dikat og reduktion af tilknyttede omkostninger.\n<li class=\"l\"> Omstrukturering af cursors for at ensarte adf\u00e6rden, skabe mere regelm\u00e6ssig kode, reducere antallet af forgreninger og maskinoperationer.\n<li class=\"l\"> Flytning af funktionaliteten i v\u00e6rkt\u00f8jet mdbx_chk ind i biblioteket som funktionen mdbx_env_chk() for at kontrollere integriteten af databasens struktur, herunder inddragelse af applikationslogik.\n<li class=\"l\"> Muligheden MDBX_opt_gc_time_limit for mere fleksibel kontrol over den tid, der bruges p\u00e5 at finde sekvenser af n\u00e6rliggende frie sider i GC.\n<li class=\"l\"> Betydelig reduktion af overheadomkostninger ved opstart af transaktioner i scenarier med mange DBI-handtag, takket v\u00e6re den udsatte\/lazy initialisering af elementer i hj\u00e6lpetabeller. Dette inkluderer en mekanisme til underst\u00f8ttelse af sparsomme s\u00e6t af DBI-handtag, styret af konfigurationsmuligheden MDBX_ENABLE_DBI_SPARSE, som er aktiveret som standard.\n<li class=\"l\"> Reduktion af overheadomkostninger ved \u00e5bning af DBI-handtag. Dette inkluderer en mekanisme til forsinket frigivelse og underst\u00f8ttelse af hurtige \u00e5bninger uden brug af l\u00e5se, styret af konfigurationsmuligheden MDBX_ENABLE_DBI_LOCKFREE, som er aktiveret som standard.\n<li class=\"l\"> Support for \"parking\" reading transactions with their eviction for the purpose of reprocessing old MVCC snapshots and preventing issues caused by the suspension of garbage collection. The parking and eviction mechanism for parked transactions serves as both a complement and a simpler alternative to the Handle-Slow-Readers callback. For convenience, the functions mdbx_txn_park() and mdbx_txn_unpark() have additional arguments that allow for the request of automatic \"unparking\" of parked and restarting evicted transactions. The mdbx_copy utility has added the relevant options -d and -p.\n<li class=\"l\"> Underst\u00f8ttelse af genopretning af en \u00e5ben databasearbejdsmilj\u00f8 i et dattersubjekt efter forgrening\/splitting af processen via mdbx_env_resurrect_after_fork().\n<li class=\"l\"> Underst\u00f8ttelse af omd\u00f8bning af tabeller via mdbx_dbi_rename() og mdbx_dbi_rename2(). En funktion mdbx_enumerate_tables() er blevet tilf\u00f8jet til at hente information om navngivne brugertabeller.\n<li class=\"l\">  Driftsmode MDBX_NOSTICKYTHREADS i stedet for MDBX_NOTLS for at forenkle integrationen med letv\u00e6gts-tr\u00e5de\/multiplexering af dem sammen med transaktioner af operativsystemtr\u00e5de.\n<li class=\"l\"> For at identificere databasen er UUID blevet tilf\u00f8jet til feltet mi_dxbid i strukturen MDBX_envinfo, der indhentes via mdbx_env_info_ex(). Implementeret muligheden for at indsamle oplysninger om databasen uden at \u00e5bne den via mdbx_preopen_snapinfo().\n<li class=\"l\"> Underst\u00f8ttelse af logging callback-funktioner uden vprintf()-funktionalitet, hvilket v\u00e6sentligt letter brugen af logging i bindings til andre programmeringssprog.\n<li class=\"l\">  Tilf\u00f8jelse af funktioner mdbx_txn_copy2pathname() og mdbx_txn_copy2fd() til API'et.\n<li class=\"l\"> Omstrukturering af kildekoden med refactoring.\n<li class=\"l\"> Using the term \"table\" instead of \"subDb.\"\n<li class=\"l\"> Meddelelse om for\u00e6ldede indstillinger MDBX_COALESCE og MDBX_NOTLS. Erstatning af byggeindstillingen MDBX_USE_VALGRIND med den almindelige ENABLE_MEMCHECK.        <\/ul>\n<p>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61830\">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.1 (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-119737","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - 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.1 (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\/da\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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 | 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.1 (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\/da\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13\" \/>\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=\"2024-09-09T01:43:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-09-09T01:43:00+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\udd47Udgivelse af indlejret DBMS libmdbx 0.13 | ProHoster","description":"Udgivelsen af biblioteken libmdbx 0.13.1 (MDBX) med implementeringen af en h\u00f8jtydende, kompakt indlejret n\u00f8gle-v\u00e6rdi database. Koden fra libmdbx distribueres under Apache 2.0 licensen.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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 | 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.1 (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\/da\/blog\/news\/vypusk-vstraivaemoj-subd-libmdbx-0-13","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":"2024-09-09T01:43:00+00:00","article:modified_time":"2024-09-09T01:43:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"119737","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 06:23:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 06:23:19","updated":"2026-01-23 06:23:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/119737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=119737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/119737\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=119737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=119737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=119737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}