{"id":54906,"date":"2020-01-07T00:00:00","date_gmt":"2020-01-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0"},"modified":"2020-02-18T14:02:58","modified_gmt":"2020-02-18T11:02:58","slug":"posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0","title":{"rendered":"Depois de cinco anos de desenvolvimento, o segundo candidato a lan\u00e7amentos do libmdbx 1.0 foi publicado.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\/releases\">Dispon\u00edvel<\/a><\/noindex> para testar o segundo candidato para lan\u00e7amentos da biblioteca <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\">libmdbx<\/a><\/noindex> com a implementa\u00e7\u00e3o de um banco de dados incorporado, compacta e de alto desempenho, do tipo chave-valor. A vers\u00e3o atual (0.5) \u00e9 um lan\u00e7amento t\u00e9cnico, marcando a conclus\u00e3o de quaisquer ajustes e a transi\u00e7\u00e3o para a fase de teste p\u00fablico final e estabiliza\u00e7\u00e3o, seguida pela forma\u00e7\u00e3o do primeiro lan\u00e7amento completo da biblioteca. C\u00f3digo libmdbx  <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\/\">\u00e9 distribu\u00eddo<\/a><\/noindex> sob a licen\u00e7a OpenLDAP Public License.<\/p>\n<p>A biblioteca MDBX \u00e9 um desdobramento significativamente reestruturado de <noindex><a rel=\"nofollow\" href=\"https:\/\/symas.com\/lmdb\/\">LMDB<\/a><\/noindex> \u2014 banco de dados transacional embutido do tipo 'chave-valor' baseado em <noindex><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\">\u00e1rvore B+<\/a><\/noindex> sem <noindex><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 antecipado<\/a><\/noindex>, que permite que processos multithread executem concorrente e eficientemente com um banco de dados localmente compartilhado (n\u00e3o em rede). O MDBX, por sua vez, \u00e9 mais r\u00e1pido e confi\u00e1vel que o LMDB, mantendo todas as principais funcionalidades de sua predecessora, como <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/ACID\">ACID<\/a><\/noindex> e leitura n\u00e3o bloqueante com escalabilidade linear em n\u00facleos de CPU.<\/p>\n<p>As principais diferen\u00e7as do MDBX em rela\u00e7\u00e3o ao LMDB:<\/p>\n<ul>\n<li class=\"l\"> Um foco consider\u00e1vel \u00e9 dado \u00e0 qualidade do c\u00f3digo, testes e verifica\u00e7\u00f5es autom\u00e1ticas.\n<li class=\"l\"> Controle significativamente maior durante a opera\u00e7\u00e3o, desde a verifica\u00e7\u00e3o de par\u00e2metros at\u00e9 a auditoria interna das estruturas do banco de dados.\n<li class=\"l\"> Compacta\u00e7\u00e3o autom\u00e1tica e gerenciamento autom\u00e1tico do tamanho do BD.\n<li class=\"l\"> Formato \u00fanico do BD para compila\u00e7\u00f5es de 32 e 64 bits.\n<li class=\"l\"> Estimativa do volume de consultas por intervalos (range query estimation).\n<li class=\"l\"> Suporte a chaves que s\u00e3o o dobro do tamanho e tamanho da p\u00e1gina do banco de dados selecionado pelo usu\u00e1rio.\n<\/ul>\n<p>O candidato a lan\u00e7amentos libmdbx \u00e9 o resultado da decis\u00e3o tomada em agosto de 2019 de separar os projetos MDBX e MithrilDB. Neste contexto, foi decidido eliminar (racionalmente) o m\u00e1ximo poss\u00edvel de d\u00edvida t\u00e9cnica e estabilizar a biblioteca. Na pr\u00e1tica, foi realizado de 2 a 3 vezes mais do que foi inicialmente avaliado e planejado:<\/p>\n<ul>\n<li class=\"l\"> Foi implementado suporte ao macOS e plataformas de 'segunda linha': FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. O suporte ao AIX e HP-UX pode ser adicionado, se necess\u00e1rio.\n<li class=\"l\"> A sanitiza\u00e7\u00e3o de c\u00f3digo foi realizada com Undefined Behavior Sanitizer e Address Sanitizer, eliminando todos os avisos durante a compila\u00e7\u00e3o com '-Wpedantic', todos os avisos do Coverity Static Analyzer, etc.\n<li class=\"l\"> Atualiza\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/libmdbx\/blob\/master\/mdbx.h\">da descri\u00e7\u00e3o da API<\/a><\/noindex>.\n<li class=\"l\"> Fus\u00e3o (amalgame) do c\u00f3digo fonte para facilitar a incorpora\u00e7\u00e3o.\n<li class=\"l\"> Suporte ao CMake.\n<li class=\"l\"> Suporte a transa\u00e7\u00f5es aninhadas.\n<li class=\"l\"> Uso de bootid para determinar se ocorreu uma reinicializa\u00e7\u00e3o do sistema operacional (parada suja do banco de dados).\n<li class=\"l\"> Contagem global de p\u00e1ginas atualizadas\/antigas e informa\u00e7\u00f5es expandidas sobre transa\u00e7\u00f5es.\n<li class=\"l\"> Op\u00e7\u00e3o MDBX_ACCEDE para se conectar a um banco de dados j\u00e1 aberto em modo compat\u00edvel.\n<li class=\"l\"> Uso <noindex><a rel=\"nofollow\" href=\"https:\/\/www.gnu.org\/software\/libc\/manual\/html_node\/Open-File-Description-Locks.html\">bloqueios OFD<\/a><\/noindex> se dispon\u00edveis.\n<li class=\"l\"> Backup quente para pipe.\n<li class=\"l\"> Algoritmo especializado de ordena\u00e7\u00e3o interna otimizado (de 2 a 3 vezes mais r\u00e1pido que 'qsort()' e at\u00e9 30% mais r\u00e1pido que 'std::sort()').\n<li class=\"l\"> Aumentou a dura\u00e7\u00e3o m\u00e1xima da chave.\n<li class=\"l\"> Gerenciamento autom\u00e1tico da leitura antecipada (estrat\u00e9gia de cache de arquivos de banco de dados na mem\u00f3ria).\n<li class=\"l\"> Compacta\u00e7\u00e3o autom\u00e1tica mais agressiva e r\u00e1pida.\n<li class=\"l\"> Estrat\u00e9gia de mesclagem de p\u00e1ginas de B+ \u00e1rvore mais otimizada.\n<li class=\"l\"> Controle de sistemas de arquivos n\u00e3o locais (NFS, Samba, etc.) para prevenir danos ao banco de dados devido ao uso inadequado.\n<li class=\"l\"> A gama de testes foi expandida.\n<\/ul>\n<p>O desenvolvimento da 'pr\u00f3xima' vers\u00e3o do libmdbx continuar\u00e1 como um projeto separado <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/leo-yuriev\/MithrilDB\">MithrilDB<\/a><\/noindex>, enquanto o vetor de desenvolvimento da 'vers\u00e3o atual' do MDBX est\u00e1 focado na congelamento do conjunto de funcionalidades e na estabiliza\u00e7\u00e3o. Essa decis\u00e3o foi tomada por tr\u00eas raz\u00f5es:<\/p>\n<ul>\n<li class=\"l\"> Incompatibilidade total: para implementar todas as funcionalidades planejadas no MithrilDB, \u00e9 necess\u00e1rio um formato de arquivo de banco de dados diferente (incompat\u00edvel) e uma API diferente (incompat\u00edvel).\n<li class=\"l\"> Novo c\u00f3digo-fonte: foi garantida a independ\u00eancia de licen\u00e7a do c\u00f3digo-fonte do MithrilDB em rela\u00e7\u00e3o ao LMDB, e o projeto ser\u00e1 publicado sob uma licen\u00e7a diferente (aprovada <noindex><a rel=\"nofollow\" href=\"https:\/\/opensource.org\/\">OSI<\/a><\/noindex> licen\u00e7a Apache 2.0, ao inv\u00e9s de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.openldap.org\/software\/release\/license.html\">Licen\u00e7a P\u00fablica OpenLDAP<\/a><\/noindex>).\n<li class=\"l\"> A separa\u00e7\u00e3o evita confus\u00f5es potenciais, traz mais clareza e assegura a independ\u00eancia do caminho de desenvolvimento dos projetos.\n<\/ul>\n<p>MithrilDB, assim como o MDBX, tamb\u00e9m \u00e9 baseado em <noindex><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\">\u00e1rvore B+<\/a><\/noindex> e tamb\u00e9m apresentar\u00e1 desempenho extremamente alto, eliminando uma s\u00e9rie de desvantagens fundamentais do MDBX e LMDB. Em particular, ser\u00e1 resolvido o problema das 'leituras longas', que se manifesta como 'incha\u00e7o' do banco de dados devido \u00e0 conten\u00e7\u00e3o de lixo causada por transa\u00e7\u00f5es de leitura longas. Entre as novas funcionalidades do MithrilDB, destacam-se:<\/p>\n<ul>\n<li class=\"l\"> Suporte para armazenamento de banco de dados em m\u00faltiplos dispositivos heterog\u00eaneos: HDD, SSD e mem\u00f3ria n\u00e3o vol\u00e1til.\n<li class=\"l\"> Estrat\u00e9gias \u00f3timas para 'valiosos' e 'pouco valiosos', para dados 'quentes', 'mornos' e 'frios'.\n<li class=\"l\"> Uso de Merkle tree para controle de integridade do banco de dados.\n<li class=\"l\"> Uso opcional de WAL e uma produtividade significativamente maior em cen\u00e1rios de grava\u00e7\u00e3o intensiva com garantias de integridade dos dados.\n<li class=\"l\"> Grava\u00e7\u00e3o de dados de forma pregui\u00e7osa e atrasada nos discos.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52147\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 libmdbx \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\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 (0.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. \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. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 MDBX \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [&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-54906","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=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\" \/>\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\/pt\/blog\/news\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\u041f\u043e\u0441\u043b\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b libmdbx 1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0\" \/>\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-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:58+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\udd47Ap\u00f3s cinco anos de desenvolvimento, foi publicado o segundo candidato a lan\u00e7amentos do libmdbx 1.0 | ProHoster","description":"A segunda vers\u00e3o candidata da biblioteca est\u00e1 dispon\u00edvel para testes.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\u041f\u043e\u0441\u043b\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b libmdbx 1.0 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442 \u0432 \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/posle-pyati-let-razrabotki-opublikovan-vtoroj-kandidat-v-relizy-libmdbx-1-0","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-06T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54906","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:08:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:55:37","updated":"2026-01-24 13:08:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/54906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=54906"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/54906\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=54906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=54906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=54906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}