{"id":2098,"date":"2015-01-01T14:03:36","date_gmt":"2015-01-01T17:03:36","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=2098"},"modified":"2015-01-01T14:03:36","modified_gmt":"2015-01-01T17:03:36","slug":"a-crescente-irrelevancia-do-mongodb","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=2098","title":{"rendered":"A crescente irrelev\u00e2ncia do MongoDB"},"content":{"rendered":"<p>Minha rela\u00e7\u00e3o com MongoDB se divide em duas\u00a0fases que, acredito, s\u00e3o o normal\u00a0entre diversos usu\u00e1rios deste produto: <a title=\"Introdu\u00e7\u00e3o ao MongoDB: um banco de dados NoSQL\" href=\"https:\/\/devkico.itexto.com.br\/?p=682\">deslumbramento<\/a> e <a title=\"Coisas que n\u00e3o te contam sobre MongoDB\" href=\"https:\/\/devkico.itexto.com.br\/?p=1621\">realidade<\/a>. Neste post exponho a\u00a0terceira fase\u00a0que estou experimentando: <strong>irrelev\u00e2ncia<\/strong>.<\/p>\n<h3>Deslumbramento<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2100\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/deslumbramento-300x229.jpg\" alt=\"deslumbramento\" width=\"300\" height=\"229\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/deslumbramento-300x229.jpg 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/deslumbramento.jpg 522w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Tive uma sorte imensa em meu primeiro contato com o MongoDB: o usei em uma arquitetura de persist\u00eancia poliglota na qual ele cuidava dos casos nos quais os atributos de algumas entidades variavam bastante. Foi uma experi\u00eancia muito\u00a0bem sucedida: o que variava demais ficava no MongoDB e o restante em uma base de dados relacional.<\/p>\n<p>Na \u00e9poca fiquei maravilhado com o desempenho do MongoDB e com a facilidade de instala\u00e7\u00e3o e configura\u00e7\u00e3o. Al\u00e9m disto a sintaxe das consultas me parecia bastante atraente naquele momento (Javascript!). \u00a0O ganho que vi na \u00e9poca (e ainda vejo) na emerg\u00eancia do MongoDB (que provavelmente foi o principal respons\u00e1vel pela populariza\u00e7\u00e3o das solu\u00e7\u00f5es NoSQL) foi o fato de ter nos acordado para um erro t\u00e3o comum que nem o consider\u00e1vamos como tal:\u00a0nem todas as estruturas de dados deveriam ser armazenadas em tabelas. De repente todos n\u00f3s, desenvolvedores, percebemos que hav\u00edamos transformado o universo em tabelas e aquilo n\u00e3o era bom.<\/p>\n<p>A\u00ed segue aquela fase de experimenta\u00e7\u00f5es em que voc\u00ea se maravilha com o que consegue fazer com a nova ferramenta. Surgir\u00e3o milhares de\u00a0posts na Internet relatando experi\u00eancias legais e isto acaba alimentando o pr\u00f3prio deslumbramento\u00a0que temos com a nova ferramenta.<\/p>\n<h3>Realidade<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2101\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/realidade_mongodb.jpg\" alt=\"realidade_mongodb\" width=\"215\" height=\"235\" \/><\/p>\n<p>Conforme o tempo foi passando vi a emerg\u00eancia de tecnologias como <a href=\"http:\/\/mean.io\/\">MEAN<\/a>,\u00a0extremamente interessantes mas que muitas vezes levavam aqueles que a adotavam (em estado de deslumbramento) a\u00a0repetir nosso erro com a ado\u00e7\u00e3o do modelo relacional: MongoDB como solu\u00e7\u00e3o universal para todos os problemas de persist\u00eancia.<\/p>\n<p>Vi tamb\u00e9m alguns projetos em Java adotando MongoDB como \u00fanica solu\u00e7\u00e3o e pagando um alt\u00edssimo pre\u00e7o. Ficou claro que em diversas situa\u00e7\u00f5es o MongoDB estava deixando de ser uma solu\u00e7\u00e3o para se tornar um problema (e dos grandes). As raz\u00f5es eram \u00f3bvias, mas o\u00a0hype acabava por cegar diversas pessoas alguns aspectos fundamentais:<\/p>\n<ul>\n<li>O modelo relacional \u00e9 e continuar\u00e1 relevante por <strong>eras<\/strong>: se voc\u00ea precisa de relacionamentos, MongoDB n\u00e3o \u00e9 seu amigo. E n\u00e3o se engane: redund\u00e2ncia de dados sob a forma de documentos embarcados n\u00e3o \u00e9 uma solu\u00e7\u00e3o, mas sim um problema disfar\u00e7ado de solu\u00e7\u00e3o na\u00a0maior parte das vezes. Integridade referencial \u00e9 importante: n\u00e3o est\u00e1 a\u00ed h\u00e1 quase quatro d\u00e9cadas por modismo.\n<p>(n\u00e3o acredite no papo furado de que por ser muito diferente \u00e9 bom e voc\u00ea est\u00e1 com uma mentalidade atrasada)<\/p>\n<p>(implementar na m\u00e3o integridade referencial \u00e9 uma experi\u00eancia MUITO triste)<\/li>\n<li>MongoDB n\u00e3o possu\u00eda controle transacional ENTRE documentos: ok, voc\u00ea obt\u00e9m um desempenho excelente ao n\u00e3o ter um ACID completo, mas quando precisa lidar com mais de um documento em uma mesma unidade de processamento\u00a0ACID faz MUITA falta.<\/li>\n<li>Ainda n\u00e3o h\u00e1 uma longa tradi\u00e7\u00e3o na manuten\u00e7\u00e3o de bancos de dados baseados em documentos, ent\u00e3o ainda n\u00e3o h\u00e1 boas pr\u00e1ticas<strong> comprovadas pelo tempo<\/strong>, mas sim declaradas por um ou outro que se auto proclama &#8220;autoridade no assunto&#8221;.\n<p>(suspeite dos &#8220;gurus&#8221;)<\/li>\n<li>O argumento de desempenho fant\u00e1stico do MongoDB \u00e9 falacioso se voc\u00ea n\u00e3o souber de antem\u00e3o qual o desempenho que seu projeto precisa. Ter o mais r\u00e1pido n\u00e3o equivale a ter a melhor solu\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>Esta \u00e9 a fase na qual voc\u00ea passa a\u00a0<strong>saber<\/strong> de forma\u00a0<strong>clara<\/strong> onde\u00a0a ferramenta pode\u00a0<strong>ou n\u00e3o<\/strong> ser usada.<\/p>\n<h3>Irrelev\u00e2ncia<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-2102\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/k7tape-300x203.jpg\" alt=\"k7tape\" width=\"300\" height=\"203\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/k7tape-300x203.jpg 300w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/k7tape.jpg 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Confesso que n\u00e3o esperava por este estado na minha experi\u00eancia com o MongoDB, mas ele ocorreu de uma forma t\u00e3o natural que um belo dia acordei e percebi que n\u00e3o iria mais adot\u00e1-lo como solu\u00e7\u00e3o. Repare: <strong>considero irrelevante o produto MongoDB, n\u00e3o o modelo de persist\u00eancia baseado em documentos<\/strong>.\u00a0Esta irrelev\u00e2ncia se manifestou para mim em dois momentos.<\/p>\n<h4>Primeiro momento: TokuMX<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1990\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2014\/09\/tokutek.jpg\" alt=\"tokutek\" width=\"200\" height=\"48\" \/><\/p>\n<p>Algumas das <a title=\"Coisas que n\u00e3o te contam sobre MongoDB\" href=\"https:\/\/devkico.itexto.com.br\/?p=1621\">limita\u00e7\u00f5es do MongoDB<\/a> atrapalhavam bastante meu trabalho. Dentre estas, a principal era o fato de n\u00e3o haver transa\u00e7\u00f5es quando manipulamos mais de um documento em uma mesma unidade de processamento. Buscando alternativas encontrei o <a href=\"http:\/\/www.tokutek.com\/tokumx-for-mongodb\/\">TokuMX<\/a>: um fork do MongoDB que era atraente pelas seguintes raz\u00f5es:<\/p>\n<ul>\n<li>Me possibilitava ter transa\u00e7\u00f5es entre m\u00faltiplos documentos em uma mesma unidade de processamento.<\/li>\n<li>Ordens de magnitude mais r\u00e1pido que o MongoDB.<\/li>\n<li>Consome uma quantidade de espa\u00e7o de armazenamento significativamente menor ( isto pude comprovar na pr\u00e1tica) .<\/li>\n<li>100% compat\u00edvel com o MongoDB: basta substituir minha inst\u00e2ncia do MongoDB pelo TokuMX que meus clientes sequer perceberiam a mudan\u00e7a e j\u00e1 teriam os ganhos acima.<\/li>\n<\/ul>\n<p>A partir deste momento TokuMX tomou o lugar do MongoDB em meus projetos.\u00a0Claro que ele n\u00e3o era uma solu\u00e7\u00e3o perfeita. Algumas de suas limita\u00e7\u00f5es poderiam ser bastante chatas:<\/p>\n<ul>\n<li>N\u00e3o h\u00e1 uma distribui\u00e7\u00e3o do TokuMX para Windows.<\/li>\n<li>As bibliotecas Java usadas para lidar com MongoDB n\u00e3o tiram ainda proveito do suporte transacional do TokuMX. Spring Data n\u00e3o oferece suporte e os drivers que usei tamb\u00e9m n\u00e3o. \u00a0Apesar disto, \u00e9 poss\u00edvel tirar proveito desta funcionalidade atrav\u00e9s do envio de comandos ao SGBD, mas n\u00e3o \u00e9 uma solu\u00e7\u00e3o t\u00e3\u00e3\u00e3\u00e3o elegante quanto deveria ser.<\/li>\n<\/ul>\n<p>No entanto a irrelev\u00e2ncia do MongoDB neste momento \u00e9 tempor\u00e1ria. Nada impede que surja uma nova vers\u00e3o que supere o TokuMX.<\/p>\n<h4>Segunda fase: PostgreSQL<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2103 size-full\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/Postgresql_logo.png\" alt=\"Postgresql_logo\" width=\"268\" height=\"208\" \/><\/p>\n<p>Este foi o prego no caix\u00e3o. O PostgreSQL desde a vers\u00e3o 9.2 j\u00e1 oferece <a href=\"http:\/\/www.postgresql.org\/docs\/9.4\/static\/datatype-json.html\">suporte ao tipo de dados JSON e JSONB em suas tabelas<\/a>. \u00c9 uma solu\u00e7\u00e3o interessante pois mescla em um mesmo SGBD os modelos de persist\u00eancia baseado em documentos\u00a0e relacional. Tudo isto dentro de uma arquitetura de anos cuja qualidade j\u00e1 est\u00e1 pra l\u00e1 de comprovada.<\/p>\n<p>O \u00fanico ponto que o MongoDB mantinha neste caso era seu desempenho. <strong>Era<\/strong>, pois em 2014 a vers\u00e3o 9.4 do PostgreSQL superou (e muito) o desempenho do MongoDB. Duvida? Aqui est\u00e1 o <a href=\"http:\/\/blogs.enterprisedb.com\/2014\/09\/24\/postgres-outperforms-mongodb-and-ushers-in-new-developer-reality\/\">link<\/a>. N\u00e3o sei ainda como o PostgreSQL se compara ao TokuMX, mas o simples fato de poder usar um \u00fanico SGBD ao inv\u00e9s de dois j\u00e1 \u00e9 uma vantagem bastante interessante para mim. Some a isto o fato de ter o ACID completo e acess\u00edvel de uma forma simples, PostgreSQL acaba de tomar o lugar do TokuMX.<\/p>\n<h2>Concluindo<\/h2>\n<p>Se voc\u00ea comparar o MongoDB com as alternativas do mercado, ver\u00e1 que a maior parte da sua relev\u00e2ncia se foi. N\u00e3o o considero um produto ruim, mas sim inferior aos desdobramentos que vieram na sequ\u00eancia (TokuMX e PostgreSQL 9.4). Se h\u00e1 solu\u00e7\u00f5es superiores e com um custo mais interessante, o que posso fazer agora \u00e9 apenas aguardar para ver como o MongoDB evoluir\u00e1 em 2015 e al\u00e9m.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como o MongoDB (e n\u00e3o o modelo de persist\u00eancia baseado em documentos) foi se tornando com o tempo uma solu\u00e7\u00e3o irrelevante para mim.<\/p>\n","protected":false},"author":1,"featured_media":2099,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[66,54],"tags":[],"class_list":["post-2098","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mongodb-nosql","category-nosql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=2098\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Como o MongoDB (e n\u00e3o o modelo de persist\u00eancia baseado em documentos) foi se tornando com o tempo uma solu\u00e7\u00e3o irrelevante para mim.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=2098\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2015-01-01T17:03:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"340\" \/>\n\t<meta property=\"og:image:height\" content=\"155\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=2098\",\"name\":\"A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg\",\"datePublished\":\"2015-01-01T17:03:36+00:00\",\"dateModified\":\"2015-01-01T17:03:36+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=2098\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg\",\"width\":340,\"height\":155},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2098#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A crescente irrelev\u00e2ncia do MongoDB\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=2098","og_locale":"pt_BR","og_type":"article","og_title":"A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico","og_description":"Como o MongoDB (e n\u00e3o o modelo de persist\u00eancia baseado em documentos) foi se tornando com o tempo uma solu\u00e7\u00e3o irrelevante para mim.","og_url":"https:\/\/devkico.itexto.com.br\/?p=2098","og_site_name":"\/dev\/Kico","article_published_time":"2015-01-01T17:03:36+00:00","og_image":[{"width":340,"height":155,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg","type":"image\/jpeg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=2098","url":"https:\/\/devkico.itexto.com.br\/?p=2098","name":"A crescente irrelev\u00e2ncia do MongoDB - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg","datePublished":"2015-01-01T17:03:36+00:00","dateModified":"2015-01-01T17:03:36+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2098#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=2098"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=2098#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg","width":340,"height":155},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=2098#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"A crescente irrelev\u00e2ncia do MongoDB"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2015\/01\/mongodb_irrelevante.jpg","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2098"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2098"}],"version-history":[{"count":1,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2098\/revisions"}],"predecessor-version":[{"id":2104,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2098\/revisions\/2104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/2099"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2098"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}