{"id":2086,"date":"2015-10-06T23:34:10","date_gmt":"2015-10-06T23:34:09","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2086"},"modified":"2023-06-27T07:27:46","modified_gmt":"2023-06-27T14:27:46","slug":"declarative-query-for-json","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/declarative-query-for-json\/","title":{"rendered":"Couchbase 4.0: a consulta declarativa para JSON est\u00e1 aqui!"},"content":{"rendered":"<p style=\"text-align:left\">Antes do modelo relacional, os bancos de dados funcionavam como grandes listas vinculadas; seja hier\u00e1rquico ou ponto a ponto, a recupera\u00e7\u00e3o de dados era uma quest\u00e3o de percorrer os links at\u00e9 que o registro certo aparecesse.<\/p>\n<p style=\"text-align:left\">O SQL e o modelo relacional mudaram isso. Com o advento deles, foi poss\u00edvel descrever os dados necess\u00e1rios e fazer com que o DBMS fizesse o trabalho de encontr\u00e1-los. \u00c9 importante ressaltar que tanto o modelo de dados quanto a natureza declarativa do SQL significavam que a consulta era aberta, e n\u00e3o algo que\u00a0<strong>tinha<\/strong>\u00a0a ser definido em pedra no momento do projeto.<\/p>\n<p style=\"text-align:left\">Com o movimento NoSQL, os criadores de sistemas de banco de dados tomaram decis\u00f5es deliberadas de design que, em geral, favoreceram a escala, o tempo de atividade e a redund\u00e2ncia em detrimento da capacidade de consulta. Durante algum tempo, parecia que havia uma escolha clara entre capacidade de consulta e escalabilidade.<\/p>\n<p style=\"text-align:left\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/declarative-query-for-json\/why-not-both.jpg\" \/><\/p>\n<p style=\"text-align:left\">\u00a0<\/p>\n<p style=\"text-align:left\">O lan\u00e7amento de hoje do\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/get-started-developing-nosql\/\">Couchbase 4.0<\/a>, com\u00a0<a href=\"https:\/\/n1ql.couchbase.com\">N1QL<\/a>significa que podemos ter os dois. N\u00e3o s\u00f3 continuamos a ter a escala e a velocidade de um banco de dados de documentos em cluster com cache embutido, como tamb\u00e9m, pela primeira vez, temos uma linguagem de consulta declarativa de aplica\u00e7\u00e3o geral para esses documentos JSON.<\/p>\n<p style=\"text-align:left\">\u00c9 verdade que existem outras linguagens de consulta JSON, mas elas se limitam a um sistema de banco de dados espec\u00edfico ou n\u00e3o foram implementadas em um banco de dados pronto para produ\u00e7\u00e3o.<\/p>\n<p style=\"text-align:left\">A beleza do N1QL \u00e9 que todos n\u00f3s j\u00e1 o conhecemos: ele&apos;\u00e9 apenas SQL com alguns acr\u00e9scimos para lidar com dados semiestruturados e aninhados. Ele tamb\u00e9m \u00e9 apoiado por <a href=\"https:\/\/arxiv.org\/abs\/1405.3631\">pesquisa acad\u00eamica<\/a>\u00a0e j\u00e1 em uso na produ\u00e7\u00e3o. Portanto, h\u00e1 muito pouco a aprender e voc\u00ea mant\u00e9m toda a capacidade de consulta ad-hoc do SQL, inclusive JOINs!<\/p>\n<p style=\"text-align:left\"><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/get-started-developing-nosql\/\">Fa\u00e7a o download do Couchbase Server 4.0<\/a> e experimente voc\u00ea mesmo.<\/p>","protected":false},"excerpt":{"rendered":"<p>Before the relational model, databases worked like large linked lists; whether hierarchical or peer-to-peer, data retrieval was a matter of link-walking until the right record showed-up. SQL and the relational model changed that. With their advent it was possible to [&hellip;]<\/p>","protected":false},"author":18,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"ppma_author":[8982],"class_list":["post-2086","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase 4.0: declarative query for JSON is here! - The Couchbase Blog<\/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:\/\/www.couchbase.com\/blog\/pt\/declarative-query-for-json\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase 4.0: declarative query for JSON is here!\" \/>\n<meta property=\"og:description\" content=\"Before the relational model, databases worked like large linked lists; whether hierarchical or peer-to-peer, data retrieval was a matter of link-walking until the right record showed-up. SQL and the relational model changed that. With their advent it was possible to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/declarative-query-for-json\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-06T23:34:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-27T14:27:46+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/\"},\"author\":{\"name\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555\"},\"headline\":\"Couchbase 4.0: declarative query for JSON is here!\",\"datePublished\":\"2015-10-06T23:34:09+00:00\",\"dateModified\":\"2023-06-27T14:27:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/\"},\"wordCount\":280,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Uncategorized\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/\",\"name\":\"Couchbase 4.0: declarative query for JSON is here! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2015-10-06T23:34:09+00:00\",\"dateModified\":\"2023-06-27T14:27:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase 4.0: declarative query for JSON is here!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555\",\"name\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b1bc555cd9166b46d6063003c3b92317\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g\",\"caption\":\"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase\"},\"description\":\"Matthew Revell is a Lead Dev Advocate, EMEA Couchbase. He developed a global strategy for putting Couchbase front in the minds of the product's developers.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-revell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase 4.0: declarative query for JSON is here! - The Couchbase Blog","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:\/\/www.couchbase.com\/blog\/pt\/declarative-query-for-json\/","og_locale":"pt_BR","og_type":"article","og_title":"Couchbase 4.0: declarative query for JSON is here!","og_description":"Before the relational model, databases worked like large linked lists; whether hierarchical or peer-to-peer, data retrieval was a matter of link-walking until the right record showed-up. SQL and the relational model changed that. With their advent it was possible to [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/declarative-query-for-json\/","og_site_name":"The Couchbase Blog","article_published_time":"2015-10-06T23:34:09+00:00","article_modified_time":"2023-06-27T14:27:46+00:00","author":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/"},"author":{"name":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555"},"headline":"Couchbase 4.0: declarative query for JSON is here!","datePublished":"2015-10-06T23:34:09+00:00","dateModified":"2023-06-27T14:27:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/"},"wordCount":280,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Uncategorized"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/","url":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/","name":"Couchbase 4.0: declarative query for JSON is here! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2015-10-06T23:34:09+00:00","dateModified":"2023-06-27T14:27:46+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/declarative-query-for-json\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase 4.0: declarative query for JSON is here!"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/6c3060a94353df62a71d4672b3454555","name":"Matthew Revell, l\u00edder de suporte ao desenvolvedor, EMEA, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b1bc555cd9166b46d6063003c3b92317","url":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","caption":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase"},"description":"Matthew Revell \u00e9 um dos principais defensores do desenvolvimento do Couchbase na regi\u00e3o EMEA. Ele desenvolveu uma estrat\u00e9gia global para colocar o Couchbase na mente dos desenvolvedores do produto.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/matthew-revell\/"}]}},"authors":[{"term_id":8982,"user_id":18,"is_guest":0,"slug":"matthew-revell","display_name":"Matthew Revell, Lead Developer Advocate, EMEA, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3b38ea45b78371f0008a765ea828bfed91aa97c25981ebf214226402a510b39b?s=96&d=mm&r=g","author_category":"","last_name":"Revell","first_name":"Matthew","job_title":"","user_url":"","description":"Matthew Revell \u00e9 um dos principais defensores do desenvolvimento do Couchbase na regi\u00e3o EMEA. Ele desenvolveu uma estrat\u00e9gia global para colocar o Couchbase na mente dos desenvolvedores do produto."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2086"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2086\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2086"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}