{"id":101601,"date":"2021-10-11T22:22:40","date_gmt":"2021-10-11T20:22:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9"},"modified":"2021-10-11T22:22:40","modified_gmt":"2021-10-11T20:22:40","slug":"vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9","title":{"rendered":"Udgivelse af den h\u00f8jtydende indlejrede DBMS libmdbx 0.10.4 og libfpta 0.3.9.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Udgivelsen af bibliotekerne libmdbx 0.10.4 (MDBX) er sket med implementeringen af en h\u00f8jtydende, kompakt indlejret n\u00f8gle-v\u00e6rdi database, samt det relaterede bibliotek libfpta 0.3.9 (FPTA), der implementerer en tabelrepr\u00e6sentation af data oven p\u00e5 MDBX med sekund\u00e6re og sammensatte indekser. Begge biblioteker distribueres under licenser, der er godkendt af OSI. Alle aktuelle operativsystemer og arkitekturer underst\u00f8ttes, samt den russiske Elbrus 2000.      <\/p>\n<p>Historisk set er libmdbx en dybtg\u00e5ende omarbejdning af databasen LMDB og overg\u00e5r sin forg\u00e6nger med hensyn til p\u00e5lidelighed, funktionalitet og ydeevne. Sammenlignet med LMDB l\u00e6gges der stor v\u00e6gt p\u00e5 kodekvalitet, stabilitet af API'et, testning og automatiske kontroller i libmdbx. Der leveres et v\u00e6rkt\u00f8j til at kontrollere databasens struktur med nogle genoprettelsesmuligheder.    <\/p>\n<p>Teknologisk set tilbyder libmdbx ACID, streng \u00e6ndringsserialisering og ikke-blokerende l\u00e6sning med line\u00e6r skalering baseret p\u00e5 CPU-kerner. Auto-kompakttificering, automatisk database-st\u00f8rrelsesstyring og vurdering af datavalg efter omr\u00e5der (range query estimation) underst\u00f8ttes. Siden 2016 har projekterne v\u00e6ret finansieret af Positive Technologies og er siden 2017 blevet brugt i deres produkter.    <\/p>\n<p>For libmdbx tilbydes et C++ API samt underst\u00f8ttede bindinger til sprog som Rust, Haskell, Python, NodeJS, Ruby, Go, og Nim, der vedligeholdes af entusiaster. For libfpta er API-beskrivelsen kun offentligt tilg\u00e6ngelig i form af en C\/C++ headerfil.    <\/p>\n<p>De vigtigste nyheder, forbedringer og rettelser, der er tilf\u00f8jet siden den tidligere nyhed den 9. maj:  <\/p>\n<ul>\n<li class=\"l\"> Muligheden for reproducerbare builds er sikret.\n<li class=\"l\"> En fejl er blevet rettet, der i meget sj\u00e6ldne tilf\u00e6lde kunne f\u00f8re til en uendelig sl\u00f8jfe \/ h\u00e6ngen i forbindelse med afslutningen af en transaktion. Problemet blev identificeret af specialister fra Positive Technologies under intern testning af deres egne produkter.\n<li class=\"l\"> Testene er blevet opdateret, og testscenarierne er blevet udvidet for at kontrollere alle opn\u00e5elige ikke-isomorfe tilstande af sidetr\u00e6et og indholdet af GC inden i databasen.\n<li class=\"l\"> I C++ API er den overfl\u00f8dige \u00abnoexcept\u00bb rettet, og der er tilf\u00f8jet yderligere overbelastninger til metoden \u00abcursor::erase()\u00bb. Implementeringen af buffere er frigjort fra brugen af \u00abstd::string\u00bb for at sikre justering (relevant for CLANG libstdc++).\n<li class=\"l\"> Regression in the dirty page spooling algorithm (selective eviction of modified database pages) has been eliminated, which manifested as a rare unexpected MDBX_PROBLEM error when modifying data in huge transactions.\n<li class=\"l\"> Phase checking has been conducted with the addition of a series of checks to ensure stability when intentionally corrupting the database.\n<li class=\"l\"> Minor warnings from UndefinedBehaviorSanitizer and Coverity Scan issues have been resolved.\n<li class=\"l\"> Kontrollen for det for\u00e6ldede og ikke l\u00e6ngere anvendte interne flag \u00abP_DIRTY\u00bb er rettet i underliggende sider inden for databaser, der er oprettet af \u00e6ldre versioner af biblioteket.\n<li class=\"l\"> CMake scripts have been improved for finding the necessary compiler components for LTO (link-time optimization).\n<li class=\"l\"> The maximum number of simultaneous readers has been increased to 32767.\n<li class=\"l\"> Performance has been accelerated when using Valgrind and AddressSanitizer.\n<li class=\"l\"> On Windows, recursive SRW-lock usage has been eliminated while operating in MDBX_NOTLS mode (without using thread local storage), bootid generation has been fixed in case of system time change, WSL1 and WSL2 detection has been improved, and the ability to open databases on Plan 9 mounted via DrvFS has been added.\n<li class=\"l\"> A total of over 160 changes have been made across 57 files, adding approximately 5000 lines and removing around 2500.  <\/ul>\n<p>Special thanks to the Erigon project team (Ethereum ecosystem) for their assistance in testing under extreme usage scenarios. Notably, in the five months since the release of libmdbx v0.10.0, with a database size of 1-2 TB in each Erigon installation (used on 7% of Ethereum nodes), only three reports of database corruption have been received, all due to external factors rather than software errors: in two cases, the cause was RAM failures, and in the third, a data zeroing error in a specific storage subsystem configuration using BTRFS.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55949\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a libmdbx 0.10.4 (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, \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libfpta 0.3.9 (FPTA), \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 MDBX \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0432\u0442\u043e\u0440\u0438\u0447\u043d\u044b\u043c\u0438 \u0438 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u043c\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438. \u041e\u0431\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438 \u043e\u0434\u043e\u0431\u0440\u0435\u043d\u043d\u044b\u043c\u0438 OSI. \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. \u0418\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 [&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-101601","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=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a libmdbx 0.10.4 (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, \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libfpta 0.3.9 (FPTA), \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 MDBX.\" \/>\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-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9\" \/>\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\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 libmdbx 0.10.4 \u0438 libfpta 0.3.9 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a libmdbx 0.10.4 (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, \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libfpta 0.3.9 (FPTA), \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 MDBX.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9\" \/>\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=\"2021-10-11T20:22:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-10-11T20:22:40+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\udd47 Release of the high-performance embedded DBMS libmdbx 0.10.4 and libfpta 0.3.9 | ProHoster","description":"The release of libmdbx 0.10.4 (MDBX) libraries has occurred, featuring a high-performance compact embedded key-value database, along with the related libfpta 0.3.9 (FPTA) library, which implements on top of MDBX.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9","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\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 libmdbx 0.10.4 \u0438 libfpta 0.3.9 | ProHoster","og:description":"\u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a libmdbx 0.10.4 (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, \u0438 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libfpta 0.3.9 (FPTA), \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 MDBX.","og:url":"https:\/\/prohoster.info\/da\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10-4-i-libfpta-0-3-9","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":"2021-10-11T20:22:40+00:00","article:modified_time":"2021-10-11T20:22:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"101601","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-10-11 20:28:52","updated":"2022-09-29 21:10:32","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\/101601","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=101601"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/101601\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=101601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=101601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=101601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}