{"id":54919,"date":"2020-01-08T00:00:00","date_gmt":"2020-01-07T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki"},"modified":"2020-02-18T14:02:59","modified_gmt":"2020-02-18T11:02:59","slug":"vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki","title":{"rendered":"Secondo candidato per il rilascio di libmdbx v1.0 dopo cinque anni di sviluppo.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <\/p>\n<p>Libreria <a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\">libmdbx<\/a> \u00e8 un discendente sostanzialmente rielaborato di LMDB, un database embedded di classe key-value estremamente ad alte prestazioni e compatto.<\/noindex><br \/>\nLa versione attuale v0.5 \u00e8 un rilascio tecnico che segna la conclusione di eventuali modifiche e il passaggio alla fase di test pubblico finale e stabilizzazione, con la successiva formazione della prima versione completa della libreria.<\/p>\n<p><noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/ru.bmstu.wiki\/LMDB_(Lightning_Memory-Mapped_Database)\">LMDB<\/a> \u00e8 un database embedded di classe \"key-value\" transazionale abbastanza noto basato su <a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/B%E2%81%BA-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE\">albero B+<\/a> di <a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A3%D0%BF%D1%80%D0%B5%D0%B6%D0%B4%D0%B0%D1%8E%D1%89%D0%B0%D1%8F_%D0%B6%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\">journaling predittivo<\/a>, che consente a una moltitudine di processi multithread di lavorare in modo concorrente ed estremamente efficace con un database localmente condiviso (non di rete). MDBX, a sua volta, \u00e8 pi\u00f9 veloce e affidabile di LMDB, mantenendo tutte le funzionalit\u00e0 chiave del suo predecessore, come <a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/ACID\">ACID<\/a> e lettura non bloccante con scalabilit\u00e0 lineare tra i core CPU, oltre ad aggiungere alcune novit\u00e0.<\/p>\n<p><\/noindex><\/p>\n<p>La descrizione delle differenze e dei miglioramenti di libmdbx rispetto a LMDB merita un articolo a parte (si prevede la pubblicazione su \"Habr\" e \"Medium\"). Qui \u00e8 opportuno menzionare le caratteristiche pi\u00f9 importanti e significative:<\/p>\n<ul>\n<li>Una maggiore attenzione \u00e8 dedicata alla qualit\u00e0 del codice, ai test e ai controlli automatici.<\/li>\n<li>Controllo significativamente maggiore durante l'esecuzione, dalla verifica dei parametri, fino all'audit interno delle strutture del database.<\/li>\n<li>Auto-compattamento e gestione automatica della dimensione del DB.<\/li>\n<li>Formato unificato del DB per le versioni a 32 e 64 bit.<\/li>\n<li>Valutazione del volume dei campioni in base agli intervalli (stimazione delle query su intervalli).<\/li>\n<li>Supporto per chiavi due volte pi\u00f9 grandi e dimensione della pagina del DB selezionata dall'utente.<\/li>\n<\/ul>\n<p>La versione candidata rilasciata di libmdbx \u00e8 il risultato della decisione (vedi sotto) di separare i progetti MDBX e MithrilDB nell'agosto 2019. In tal modo, \u00e8 stato deciso di ridurre al minimo (razionale) il debito tecnico e stabilizzare la libreria. In effetti, sono stati realizzati da 2 a 3 volte pi\u00f9 progressi rispetto a quanto inizialmente stimato e pianificato.<\/p>\n<ul>\n<li>Supporto implementato per Mac OS e piattaforme di \u00absecondo livello\u00bb: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Il supporto per AIX e HP-UX pu\u00f2 essere aggiunto se necessario.<\/li>\n<li>Il codice \u00e8 stato sanato utilizzando Undefined Behavior Sanitizer e Address Sanitizer, tutte le segnalazioni sono state eliminate durante la compilazione con -Wpedantic, tutte le segnalazioni di Coverity Static Analyzer, ecc.<\/li>\n<li>Aggiornamento <a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\/blob\/master\/mdbx.h\">descrizione API<\/a>.<\/li>\n<li>Amalgamazione del codice sorgente per facilitare l'integrazione.<\/li>\n<li>Supporto per CMake.<\/li>\n<li>Supporto per transazioni annidate.<\/li>\n<li>Utilizzo del bootid per determinare il fatto di un riavvio del sistema operativo (arresto anomalo del DB).<\/li>\n<li>Conteggio continuo di pagine aggiornate\/obsolete e informazioni dettagliate sulle transazioni.<\/li>\n<li>Opzione MDBX_ACCEDE per connettersi a un database gi\u00e0 aperto in modalit\u00e0 compatibile.<\/li>\n<li>L'utilizzo di <a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/libc\/manual\/html_node\/Open-File-Description-Locks.html\">Blocchi OFD<\/a> quando disponibili.<\/li>\n<li>Backup a caldo nel pipe.<\/li>\n<li>Algoritmo di ordinamento interno ottimizzato e specializzato (fino a 2-3 volte pi\u00f9 veloce di qsort() e fino al 30% pi\u00f9 veloce di std::sort()).<\/li>\n<li>Aumentata la lunghezza massima della chiave.<\/li>\n<li>Gestione automatica del read ahead (strategia di caching del file DB in memoria).<\/li>\n<li>Compattazione automatica pi\u00f9 aggressiva e veloce.<\/li>\n<li>Strategia di fusione delle pagine B+ al massimo dell'ottimizzazione.<\/li>\n<li>Controllo dei file system non locali (NFS, Samba, ecc.) per prevenire la corruzione del DB in caso di utilizzo improprio.<\/li>\n<li>Espanso il set di test.<\/li>\n<\/ul>\n<p><noindex><\/p>\n<p>Lo sviluppo della 'prossima' versione di libmdbx sar\u00e0 proseguito all'interno di un progetto separato <a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/MithrilDB\">MithrilDB<\/a>, mentre la direzione dello sviluppo della 'versione attuale' di MDBX \u00e8 orientata a congelare il set di funzionalit\u00e0 e stabilizzarlo. Questa decisione \u00e8 stata presa per tre motivi:<\/p>\n<p><\/noindex><\/p>\n<ul>\n<li>Incompatibilit\u00e0 totale: per implementare tutte le funzionalit\u00e0 pianificate di MithrilDB \u00e8 necessario un altro formato di file DB (incompatibile) e un'altra API (incompatibile).<\/li>\n<li>Nuovo codice sorgente: Il codice sorgente di MithrilDB garantir\u00e0 l'indipendenza licenziale da LMDB e il progetto sar\u00e0 pubblicato con un'altra licenza (approvata) <a rel=\"nofollow\" href=\"https:\/\/opensource.org\/\">OSI<\/a> licenza <a rel=\"nofollow\" href=\"https:\/\/opensource.org\/licenses\/Apache-2.0\">Apache 2.0<\/a>, e non <a rel=\"nofollow\" href=\"https:\/\/www.openldap.org\/software\/release\/license.html\">OpenLDAP Foundation<\/a>).<\/li>\n<li>La separazione aiuta a evitare confusione potenziale, a fornire maggiore certezza e a garantire indipendenza nello sviluppo dei progetti.<\/li>\n<\/ul>\n<p><noindex><\/p>\n<p>MithrilDB, come MDBX, si basa anche su <a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/B%E2%81%BA-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE\">alberi B+<\/a> e avr\u00e0 prestazioni estremamente elevate, eliminando al contempo alcuni difetti fondamentali di MDBX e LMDB. In particolare, sar\u00e0 risolta la questione delle \u00abletture lunghe\u00bb, che si manifesta come \u00abespandimento\u00bb del DB dovuto al fatto che la raccolta dei rifiuti \u00e8 bloccata da transazioni di lettura lunghe. Tra le nuove funzionalit\u00e0 di MithrilDB, si segnala:<\/p>\n<p><\/noindex><\/p>\n<ul>\n<li>supporto per l'hosting del DB su diversi dispositivi eterogenei: HDD, SSD e memoria non volatile.<\/li>\n<li>strategie ottimali per i dati \u2018preziosi\u2019 e \u2018poco preziosi\u2019, per dati \u2018caldi\u2019, \u2018freschi\u2019 e \u2018freddi\u2019.<\/li>\n<li>utilizzo degli Merkle tree per il controllo dell'integrit\u00e0 del database.<\/li>\n<li>utilizzo opzionale di WAL e prestazioni significativamente pi\u00f9 elevate in scenari con scritture intensive e garanzie sull'integrit\u00e0 dei dati.<\/li>\n<li>cattura pigra dei dati su disco.<\/li>\n<\/ul>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"http:\/\/www.linux.org.ru\/news\/opensource\/15450965\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u043c LMDB \u2014 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \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\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0422\u0435\u043a\u0443\u0449\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f v0.5 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0440\u0435\u043b\u0438\u0437\u043e\u043c, \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u0444\u0430\u0437\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. LMDB \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0421\u0423\u0411\u0414 \u043a\u043b\u0430\u0441\u0441\u0430 \u00ab\u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u00bb \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0434\u0435\u0440\u0435\u0432\u0430 B+ [&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-54919","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=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u043c LMDB \u2014 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \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\u043e\u0439.\" \/>\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\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki\" \/>\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\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b libmdbx v1.0 \u043f\u043e\u0441\u043b\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u043c LMDB \u2014 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \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\u043e\u0439.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki\" \/>\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=\"2020-01-07T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02: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\udd47Secondo candidato per il rilascio di libmdbx v1.0 dopo cinque anni di sviluppo. | ProHoster","description":"La libreria libmdbx \u00e8 un discendente profondamente rielaborato di LMDB, un database embedded estremamente performante e compatto.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki","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\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b libmdbx v1.0 \u043f\u043e\u0441\u043b\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. | ProHoster","og:description":"\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libmdbx \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u043f\u043e\u0442\u043e\u043c\u043a\u043e\u043c LMDB \u2014 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \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\u043e\u0439.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/vtoroj-kandidat-v-relizy-libmdbx-v1-0-posle-pyati-let-razrabotki","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":"2020-01-07T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54919","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":"2026-01-24 13:11:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:55:36","updated":"2026-01-24 13:11:22","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\/54919","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=54919"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/54919\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=54919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=54919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=54919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}