{"id":100127,"date":"2021-05-09T22:23:13","date_gmt":"2021-05-09T20:23:13","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10"},"modified":"2021-05-09T22:23:13","modified_gmt":"2021-05-09T20:23:13","slug":"vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10","title":{"rendered":"Rilascio del database embedded ad alte prestazioni libmdbx 0.10","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo tre mesi di sviluppo, \u00e8 stata rilasciata la libreria libmdbx 0.10.0 (MDBX) con l'implementazione di un database embedded compatto e ad alte prestazioni di tipo chiave-valore. Il codice di libmdbx \u00e8 distribuito sotto la licenza OpenLDAP Public License. libmdbx \u00e8 una revisione profonda del DBMS LMDB e, secondo quanto dichiarato dagli sviluppatori, supera il suo predecessore in termini di affidabilit\u00e0, funzionalit\u00e0 e prestazioni. Si afferma che libmdbx \u00e8 fino al 20% pi\u00f9 veloce di LMDB negli scenari CRUD e fino al 30% pi\u00f9 veloce se durante la compilazione di libmdbx si disabilita il controllo interno a un livello paragonabile a quello di LMDB.    <\/p>\n<p>Libmdbx offre ACID, una rigorosa serializzazione delle modifiche e una lettura non bloccante con scalabilit\u00e0 lineare secondo i core CPU. In libmdbx si presta particolare attenzione alla qualit\u00e0 del codice, alla stabilit\u00e0 dell'API, ai test e alle verifiche automatiche. Sono supportate l'autocompattazione, la gestione automatica delle dimensioni del DB, un formato unificato per build a 32 e 64 bit e la stima del volume delle query per intervallo (range query estimation). \u00c8 fornuto uno strumento per la verifica dell'integrit\u00e0 della struttura del DB con alcune funzionalit\u00e0 di ripristino. Dal 2016 il progetto \u00e8 finanziato da Positive Technologies e, dal 2017, \u00e8 utilizzato nei suoi prodotti, mentre le sanzioni imposte dal governo statunitense contro Positive Technologies non hanno alcun impatto significativo.     <\/p>\n<p>Le principali novit\u00e0, aggiornamenti e correzioni aggiunti dopo l'ultima release:  <\/p>\n<ul>\n<li class=\"l\">     Sono disponibili il binding per Ruby di Mahlon E. Smith e una versione di prova dei binding per Python di Noel Kuntze, aggiornati i binding per GoLang di Alexey Sharov.\n<li class=\"l\">     Per la modalit\u00e0 &#171;MDBX_WRITEMAP&#187;, quando i dati del database vengono modificati direttamente in RAM, \u00e8 stata implementata una &#171;scrittura trasparente&#187; su disco delle pagine del database modificate. Ora, al termine di ogni operazione, tali pagine sono subito pronte per essere scritte su disco, e il nucleo del sistema operativo pu\u00f2 autonomamente trasferire le pagine modificate su disco, senza richiedere modifiche al commit della transazione. Di conseguenza, in scenari ad alta intensit\u00e0 di lavoro con carenza di RAM, il numero di operazioni su disco pu\u00f2 ridursi fino al 50%.\n<li class=\"l\">     \u00c8 stato implementato l'eviction delle copie shadow di pagine modificate che non vengono utilizzate da tempo, privilegiando l'eviction di pagine con valori grandi\/lunghi, che nella stragrande maggioranza degli scenari vengono modificate solo una volta per transazione. Questo riduce il volume del traffico con il disco e aumenta le prestazioni in scenari con transazioni molto grandi.\n<li class=\"l\">       \u00c8 stata implementata una modalit\u00e0 &#171;intelligente&#187; di divisione delle pagine durante l'inserimento delle chiavi. Ora, durante l'inserimento di sequenze ordinate, viene garantita automaticamente una completa occupazione delle pagine, mentre negli altri casi \u00e8 presente un bilanciamento dell'albero pi\u00f9 ottimale. Di conseguenza, in media, le pagine del database vengono riempite in modo pi\u00f9 efficiente, e l'albero B risulta pi\u00f9 bilanciato, migliorando cos\u00ec le prestazioni.\n<li class=\"l\">     \u00c8 stata aggiunta la statistica delle operazioni sulle pagine, consentendo una valutazione precisa dei costi delle operazioni di modifica del database.\n<li class=\"l\">     Sono stati risolti oltre dieci problemi e bug, tra cui: risoluzione di problemi relativi alla compilazione con MinGW, utilizzo di `std::filesystem::path` su iOS &lt;= 13.0, compilazione per versioni precedenti di Windows, e altro ancora.\n<li class=\"l\">     In totale, sono state apportate oltre 200 modifiche in 66 file, aggiungendo circa 6500 righe e rimuovendone circa 4500.  <\/ul>\n<p>\u00c8 importante evidenziare la scelta del progetto Turbo-Geth (fork turbo di Go-Ethereum) di utilizzare libmdbx come nuovo backend di archiviazione, e ringraziare il team del progetto (in particolare Aleksey Sharov, Artem Vorotnikov e Aleksey Akhunov) per il grande aiuto nei test in scenari d'uso estremi. In particolare, grazie a questo \u00e8 stata identificata e risolta una falla nella gestione della lettura anticipata\/caching, che portava a una degradazione delle prestazioni in scenari complessi con grandi database.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55114\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0435\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.10.0 (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 OpenLDAP Public License. libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0433\u043b\u0443\u0431\u043e\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0421\u0423\u0411\u0414 LMDB \u0438 \u043f\u043e \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u0430\u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u043f\u043e \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u0431\u043e\u0440\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0417\u0430\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e libmdbx \u0434\u043e 20% \u0431\u044b\u0441\u0442\u0440\u0435\u0435 LMDB \u0432 CRUD [&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-100127","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0435\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.10.0 (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.\" \/>\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\/it\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0435\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.10.0 (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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10\" \/>\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-05-09T20:23:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-05-09T20:23:13+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\udd47Rilascio del database embedded ad alte prestazioni libmdbx 0.10 | ProHoster","description":"Dopo tre mesi di sviluppo, \u00e8 stata rilasciata la libreria libmdbx 0.10.0 (MDBX) con l'implementazione di un database incorporato di alta performance e compatto, di tipo chiave-valore.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0435\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx 0.10.0 (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.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/vypusk-vysokoproizvoditelnoj-vstraivaemoj-subd-libmdbx-0-10","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-05-09T20:23:13+00:00","article:modified_time":"2021-05-09T20:23:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"100127","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-05-10 15:37:29","updated":"2022-10-01 03:46:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/100127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=100127"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/100127\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=100127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=100127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=100127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}