{"id":7782,"date":"2019-10-29T07:19:51","date_gmt":"2019-10-29T14:19:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7782"},"modified":"2019-10-25T14:51:30","modified_gmt":"2019-10-25T21:51:30","slug":"is-no-processing-better-than-some-processing","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/is-no-processing-better-than-some-processing\/","title":{"rendered":"Nenhum processamento \u00e9 melhor do que algum processamento?"},"content":{"rendered":"<p>Vamos fazer um pequeno experimento mental.<\/p>\n<p>Sim, eu sei, estou pensando. Quem quer fazer isso?<\/p>\n<p>Espere!<\/p>\n<p>Antes que voc\u00ea me ignore e passe para a pr\u00f3xima postagem sobre \u00edndices sensuais...<\/p>\n<p>Pelo menos me d\u00ea alguns minutos.<\/p>\n<p>Digamos que voc\u00ea tenha um site.<\/p>\n<p>Bem, n\u00e3o \u00e9 qualquer site...<\/p>\n<p>Isso \u00e9 um pouco gen\u00e9rico demais.<\/p>\n<p>Digamos que voc\u00ea tenha um site de viagens.<\/p>\n<p>Um lugar onde as pessoas v\u00e3o para fazer reservas de passagens a\u00e9reas.<\/p>\n<p>Acho que todos n\u00f3s j\u00e1 usamos um desses em algum momento.<\/p>\n<p>Ent\u00e3o, os usu\u00e1rios chegam ao seu site e querem ver quais voos est\u00e3o dispon\u00edveis.<\/p>\n<p>Qual \u00e9 a primeira coisa que eles fazem?<\/p>\n<p>Eles escrevem uma pergunta \u00e0 m\u00e3o?<\/p>\n<p>Hoje em dia, n\u00e3o.<\/p>\n<p>Eles provavelmente come\u00e7am selecionando o local de onde querem sair.<\/p>\n<p>Seu aeroporto local.<\/p>\n<p>E, em seguida, eles provavelmente querem selecionar para onde querem ir.<\/p>\n<p>Portanto, duas op\u00e7\u00f5es, ambas em aeroportos.<\/p>\n<p>Voc\u00ea pode fazer com que eles adivinhem quais aeroportos est\u00e3o por perto.<\/p>\n<p>Normalmente, digito a cidade para onde preciso ir e deixo que o site descubra o aeroporto para o qual preciso voar.<\/p>\n<p>Mas vamos supor que seus usu\u00e1rios j\u00e1 conhe\u00e7am os aeroportos nos dois extremos da viagem.<\/p>\n<p>Isso facilita nosso pequeno experimento mental.<\/p>\n<p>Portanto, voc\u00ea precisa apresentar ao usu\u00e1rio uma lista de aeroportos para escolher.<\/p>\n<p>Sim, ser\u00e1 uma longa lista.<\/p>\n<p>Parece que h\u00e1 muitos aeroportos espalhados por este grande mundo.<\/p>\n<p>Apenas carregando nosso balde de amostras de viagem, temos quase 2 mil.<\/p>\n<p>Cara, s\u00e3o muitos aeroportos!<\/p>\n<p>Algu\u00e9m fez muitos registros de dados...<\/p>\n<p>Mas o lado bom dos aeroportos \u00e9 que eles n\u00e3o mudam com tanta frequ\u00eancia.<\/p>\n<p>Quero dizer, sim, est\u00e3o sendo constru\u00eddas novas...<\/p>\n<p>E os antigos est\u00e3o sendo deixados para a ru\u00edna...<\/p>\n<p>Mas tudo isso acontece com o tempo.<\/p>\n<p>Geralmente, se um aeroporto \u00e9 abandonado, \u00e9 porque um mais novo e mais brilhante foi constru\u00eddo.<\/p>\n<p>E a constru\u00e7\u00e3o de um novo aeroporto leva muito tempo.<\/p>\n<p>N\u00e3o \u00e9 como se eles estivessem jogando-os para cima todos os dias.<\/p>\n<p>Ent\u00e3o, de volta \u00e0 nossa lista de aeroportos...<\/p>\n<p>Longo ou n\u00e3o, voc\u00ea ter\u00e1 que fornecer algum tipo de lista de aeroportos para o usu\u00e1rio escolher.<\/p>\n<p>E se o seu site for muito movimentado, pode haver muitos usu\u00e1rios.<\/p>\n<p>E todos n\u00f3s queremos que nossos sites sejam movimentados.<\/p>\n<p>Portanto, vamos supor que nosso site n\u00e3o esteja apenas ocupado...<\/p>\n<p>\u00c9 muito movimentado.<\/p>\n<p>Milh\u00f5es de usu\u00e1rios todos os dias.<\/p>\n<p>Milhares de usu\u00e1rios a cada minuto.<\/p>\n<p>S\u00e3o muitas as vezes em que voc\u00ea tem de apresentar essa lista de aeroportos!<\/p>\n<p>Ent\u00e3o, vamos come\u00e7ar supondo que os documentos do aeroporto no seu bucket do Couchbase estejam estruturados como os do nosso bucket de amostra de viagem.<\/p>\n<p>Ei, ele vem com nosso produto Couchbase Server, ent\u00e3o \u00e9 melhor us\u00e1-lo!<\/p>\n<p>Facilita as coisas...<\/p>\n<p>Portanto, basta listar os aeroportos usando uma consulta N1QL simples:<\/p>\n<pre class=\"\">SELECT `travel-sample`.*\r\nFROM `travel-sample`\r\nWHERE type = \"airport\"\r\n;<\/pre>\n<p>Nos d\u00e1 isso:<\/p>\n<pre class=\"\">[\r\n {\r\n  \"airportname\": \"Calais Dunkerque\",\r\n  \"city\": \"Calais\",\r\n  \"country\": \"France\",\r\n  \"faa\": \"CQF\",\r\n  \"geo\": {\r\n    \"alt\": 12,\r\n    \"lat\": 50.962097,\r\n    \"lon\": 1.954764\r\n  },\r\n  \"icao\": \"LFAC\",\r\n  \"id\": 1254,\r\n  \"type\": \"airport\",\r\n  \"tz\": \"Europe\/Paris\"\r\n },\r\n {\r\n  \"airportname\": \"Peronne St Quentin\",\r\n  \"city\": \"Peronne\",\r\n  \"country\": \"France\",\r\n  \"faa\": null,\r\n  \"geo\": {\r\n    \"alt\": 295,\r\n    \"lat\": 49.868547,\r\n    \"lon\": 3.029578\r\n  },\r\n  \"icao\": \"LFAG\",\r\n  \"id\": 1255,\r\n  \"type\": \"airport\",\r\n  \"tz\": \"Europe\/Paris\"\r\n },\r\n...\r\n]<\/pre>\n<p>N\u00e3o vai ser f\u00e1cil encontrar o que nossos usu\u00e1rios precisam nisso. Talvez se classificarmos de acordo com o c\u00f3digo do aeroporto da FAA e depois eliminarmos aqueles em que o c\u00f3digo \u00e9 nulo...<\/p>\n<pre class=\"\">[\r\n {\r\n  \"airportname\": \"Lansdowne Airport\",\r\n  \"city\": \"Youngstown\",\r\n  \"country\": \"United States\",\r\n  \"faa\": \"04G\",\r\n  \"geo\": {\r\n    \"alt\": 1044,\r\n    \"lat\": 41.1304722,\r\n    \"lon\": -80.6195833\r\n  },\r\n  \"icao\": null,\r\n  \"id\": 8534,\r\n  \"type\": \"airport\",\r\n  \"tz\": \"America\/New_York\"\r\n },\r\n {\r\n  \"airportname\": \"Moton Field Municipal Airport\",\r\n  \"city\": \"Tuskegee\",\r\n  \"country\": \"United States\",\r\n  \"faa\": \"06A\",\r\n  \"geo\": {\r\n    \"alt\": 264,\r\n    \"lat\": 32.4605722,\r\n    \"lon\": -85.6800278\r\n  },\r\n  \"icao\": null,\r\n  \"id\": 8317,\r\n  \"type\": \"airport\",\r\n  \"tz\": \"America\/Chicago\"\r\n },\r\n...\r\n]<\/pre>\n<p>Isso \u00e9 melhor, mas s\u00e3o mais dados do que precisamos fornecer ao site.<\/p>\n<p>Portanto, vamos reduzir o que estamos retornando para o c\u00f3digo FAA, o nome do aeroporto, a cidade e o pa\u00eds:<\/p>\n<pre class=\"\">[\r\n {\r\n  \"airportname\": \"Lansdowne Airport\",\r\n  \"city\": \"Youngstown\",\r\n  \"country\": \"United States\",\r\n  \"faa\": \"04G\"\r\n },\r\n {\r\n  \"airportname\": \"Moton Field Municipal Airport\",\r\n  \"city\": \"Tuskegee\",\r\n  \"country\": \"United States\",\r\n  \"faa\": \"06A\"\r\n },\r\n...\r\n]<\/pre>\n<p>Ok, agora estamos indo para o que estamos procurando.<\/p>\n<p>Portanto, se consultarmos isso, obteremos, digamos, um tempo de resposta de 50 a 60 ms.<\/p>\n<p>Nada mal.<\/p>\n<p>Mas com milhares de solicita\u00e7\u00f5es dessa lista a cada minuto...<\/p>\n<p>Talvez possamos acelerar um pouco as coisas.<\/p>\n<p>Vamos transform\u00e1-la em uma consulta coberta adicionando nosso pr\u00f3prio \u00edndice que inclui tudo o que precisamos.<\/p>\n<pre class=\"\">CREATE INDEX myFaaIndex on `travel-sample`(faa asc,airportname,city,country)\r\nWHERE type = \"airport\" AND faa IS NOT NULL;<\/pre>\n<p>E agora executamos novamente a consulta e obtemos um tempo de resposta de cerca de 17,5 ms.<\/p>\n<p>Muito melhor.<\/p>\n<p>Mas \u00e9 poss\u00edvel fazer ainda melhor do que isso?<\/p>\n<p>Ou seja, essa lista ser\u00e1 solicitada milhares de vezes a cada minuto.<\/p>\n<p>Esses milissegundos v\u00e3o se acumular.<\/p>\n<p>Ent\u00e3o, e se peg\u00e1ssemos os resultados dessa consulta e os salv\u00e1ssemos como um \u00fanico documento?<\/p>\n<p>Vamos cham\u00e1-lo de \"airport_list\".<\/p>\n<p>Portanto, agora, se executarmos uma consulta selecionando todo o documento com a cl\u00e1usula \"USE KEYS\":<\/p>\n<pre class=\"\">SELECT `travel-sample`.*\r\nFROM `travel-sample`\r\nUSE KEYS \"airport_list\";<\/pre>\n<p>Isso nos d\u00e1 um tempo de resposta em torno de 14,5 ms.<\/p>\n<p>Hmm, economizei mais 3 milissegundos inteiros!<\/p>\n<p>E podemos economizar mais meio milissegundo ou dois se usarmos o acesso de valor-chave e obtivermos o documento por sua ID diretamente do servi\u00e7o de dados.<\/p>\n<p>Para um documento que precisa ser servido milhares de vezes por minuto.<\/p>\n<p>Milh\u00f5es de vezes por dia.<\/p>\n<p>Esses milissegundos v\u00e3o se acumular.<\/p>\n<p>Sim, eu sei. Os aeroportos mudam de tempos em tempos.<\/p>\n<p>Sim, mas eles n\u00e3o mudam com muita frequ\u00eancia.<\/p>\n<p>Sim, esse documento precisar\u00e1 ser substitu\u00eddo de tempos em tempos.<\/p>\n<p>Mas essa \u00e9 uma opera\u00e7\u00e3o que n\u00e3o est\u00e1 atendendo a um site de alta atividade.<\/p>\n<p>Portanto, n\u00e3o importa o qu\u00e3o lento (comparativamente) esse processo possa ser.<\/p>\n<p>Al\u00e9m disso, n\u00e3o preciso mais do meu \u00edndice de cobertura!<\/p>\n<p>Posso economizar um pouco de espa\u00e7o em meu servidor de \u00edndice!<\/p>\n<p>Uau! B\u00f4nus!<\/p>\n<p>Sim, eu sei. Eu me empolgo com algumas coisas estranhas...<\/p>\n<p>OK, esse foi um exerc\u00edcio para reduzir o tempo de resposta em milissegundos. E quanto a uma consulta que demora um pouco mais e faz mais?<\/p>\n<p>Digamos que voc\u00ea administre um call center e seja importante acompanhar a rapidez com que sua equipe atende \u00e0s chamadas recebidas...<\/p>\n<p>OK, vamos ser um pouco mais espec\u00edficos.<\/p>\n<p>Digamos que voc\u00ea queira ter um painel que mostre quantas chamadas foram atendidas em cinco segundos, dez segundos e o n\u00famero total de chamadas recebidas hoje.<\/p>\n<p>Algo como...<\/p>\n<pre class=\"\">SELECT SUM(five) as fiveCount, SUM(ten) as tenCount, SUM(incoming) as callCount\r\nFROM\r\n (SELECT\r\n    CASE \r\n      WHEN connectTime = 0 AND (endTime - startTime) <= 5000 THEN 1 \r\n      WHEN connectTime > 0 AND (acceptTime - startTime) <= 5000 THEN 1\r\n      ELSE 0 END as five,\r\n    CASE \r\n      WHEN connectTime = 0 AND (endTime - startTime) <= 10000 THEN 1 \r\n      WHEN connectTime > 0 AND (acceptTime - startTime) <= 10000 THEN 1 \r\n      ELSE 0 END as ten, \r\n    1 as incoming \r\n  FROM sigc \r\n  WHERE type='cdr' AND startTime > $today\r\n    AND callType BETWEEN 10 AND 2000) as calls\r\n;<\/pre>\n<p>Assim, voc\u00ea come\u00e7a com um \u00edndice nas propriedades startTime e callType, limitando-o a documentos do tipo \"cdr\", e descobre que leva cerca de um segundo para executar essa consulta.<\/p>\n<p>E essa n\u00e3o \u00e9 a \u00fanica consulta que voc\u00ea deseja usar para preencher seu painel...<\/p>\n<p>Ugh, isso vai ser t\u00e3o lento quanto mela\u00e7o!<\/p>\n<p>OK, ent\u00e3o vamos criar um novo \u00edndice com todas as propriedades nele, transformando-o em uma consulta coberta, apenas para descobrir que, embora tenha melhorado, ainda leva cerca de 100 milissegundos.<\/p>\n<p>Ei, isso \u00e9 uma melhoria de 10 vezes! Isso \u00e9 \u00f3timo, n\u00e3o \u00e9?<\/p>\n<p>S\u00f3 que o seu painel de controle ainda se atualiza como se estivesse funcionando em um ritmo lento.<\/p>\n<p>Mela\u00e7o fino e aguado, mas ainda assim...<\/p>\n<p>O que podemos fazer para melhorar isso?<\/p>\n<p>E se, em vez de usar essa consulta para alimentar o painel, pegarmos a sa\u00edda e a usarmos para criar um novo documento apenas com os resultados?<\/p>\n<p>Algo com um nome conhecido, como call_stats_...<\/p>\n<p>E podemos executar essa consulta em um cron\u00f4metro, usando um cron job, ou acion\u00e1-la usando o servi\u00e7o Couchbase Eventing.<\/p>\n<p>Somente se acionarmos o servi\u00e7o Eventing, provavelmente queremos execut\u00e1-lo com uma consist\u00eancia de varredura de pelo menos at_plus para incluir a atualiza\u00e7\u00e3o do documento que voc\u00ea est\u00e1 usando para acionar a consulta.<\/p>\n<p>Mas agora, quando recuperamos o documento de resultado, estamos obtendo tempos de resposta na faixa de um d\u00edgito de milissegundos, o que representa uma melhoria de 1000 vezes no desempenho!<\/p>\n<p>E agora temos um painel responsivo!<\/p>\n<p>WOO-HOO!!!<\/p>\n<p>Agora estamos falando de velocidade de turbo-booster!<\/p>\n<p>Ent\u00e3o, qual \u00e9 a li\u00e7\u00e3o desses dois cen\u00e1rios?<\/p>\n<p>Bem, ao pegar qualquer processamento que precis\u00e1ssemos fazer nos dados e torn\u00e1-los tarefas em segundo plano, de modo que nossas solicita\u00e7\u00f5es de dados interativos n\u00e3o envolvam processamento, tornamos as coisas muito r\u00e1pidas...<\/p>\n<p>Estamos falando de uma velocidade maior que a de uma bala!<\/p>\n<p>Desculpe-nos, Super-Homem, estamos passando...<\/p>\n<p>Ent\u00e3o, esse experimento mental foi realmente t\u00e3o doloroso?<\/p>\n<p>Agora vamos aos \u00edndices sensuais...<\/p>\n<p>Couchbase, capacitando os nerds de dados em todos os lugares...<\/p>\n<p>(Ei, Peter, acho que j\u00e1 tenho nosso novo slogan!)<\/p>","protected":false},"excerpt":{"rendered":"<p>Let\u2019s do a little thought experiment. Yeah, I know, thinking. Who wants to do that? Wait! Before you tune me out and browse on to the next post on sexy indexes&#8230; At least give me a couple of minutes. Let\u2019s [&hellip;]<\/p>","protected":false},"author":41537,"featured_media":7781,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1819],"tags":[],"ppma_author":[9086],"class_list":["post-7782","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-data-modeling"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Is No Processing Better Than Some Processing? - 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\/is-no-processing-better-than-some-processing\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Is No Processing Better Than Some Processing?\" \/>\n<meta property=\"og:description\" content=\"Let\u2019s do a little thought experiment. Yeah, I know, thinking. Who wants to do that? Wait! Before you tune me out and browse on to the next post on sexy indexes&#8230; At least give me a couple of minutes. Let\u2019s [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/is-no-processing-better-than-some-processing\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-29T14:19:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/10\/AirplaneHeader.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"589\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Davis Chapman\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Davis Chapman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\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\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/\"},\"author\":{\"name\":\"Davis Chapman\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5dfa15a576b0656f5568265c860729e5\"},\"headline\":\"Is No Processing Better Than Some Processing?\",\"datePublished\":\"2019-10-29T14:19:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/\"},\"wordCount\":1303,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png\",\"articleSection\":[\"Application Design\",\"Data Modeling\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/\",\"name\":\"Is No Processing Better Than Some Processing? - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png\",\"datePublished\":\"2019-10-29T14:19:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png\",\"width\":2048,\"height\":589},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Is No Processing Better Than Some Processing?\"}]},{\"@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\/5dfa15a576b0656f5568265c860729e5\",\"name\":\"Davis Chapman\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5685854cb1346b5427fb6d5ce53daf4a\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g\",\"caption\":\"Davis Chapman\"},\"description\":\"Davis Chapman calls himself a Solution Architect, claims to be employed by Couchbase, and is supposedly part of our Professional Services team. He says that he\u2019s been in the industry for decades, and has been involved in application development for most of that time. Hmm, we'll have to check on that...\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/davis-chapman\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Is No Processing Better Than Some Processing? - 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\/is-no-processing-better-than-some-processing\/","og_locale":"pt_BR","og_type":"article","og_title":"Is No Processing Better Than Some Processing?","og_description":"Let\u2019s do a little thought experiment. Yeah, I know, thinking. Who wants to do that? Wait! Before you tune me out and browse on to the next post on sexy indexes&#8230; At least give me a couple of minutes. Let\u2019s [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/is-no-processing-better-than-some-processing\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-10-29T14:19:51+00:00","og_image":[{"width":2048,"height":589,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/10\/AirplaneHeader.png","type":"image\/png"}],"author":"Davis Chapman","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Davis Chapman","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/"},"author":{"name":"Davis Chapman","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5dfa15a576b0656f5568265c860729e5"},"headline":"Is No Processing Better Than Some Processing?","datePublished":"2019-10-29T14:19:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/"},"wordCount":1303,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png","articleSection":["Application Design","Data Modeling"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/","url":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/","name":"Is No Processing Better Than Some Processing? - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png","datePublished":"2019-10-29T14:19:51+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/10\/AirplaneHeader.png","width":2048,"height":589},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/is-no-processing-better-than-some-processing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Is No Processing Better Than Some Processing?"}]},{"@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\/5dfa15a576b0656f5568265c860729e5","name":"Davis Chapman","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5685854cb1346b5427fb6d5ce53daf4a","url":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","caption":"Davis Chapman"},"description":"Davis Chapman se autodenomina Arquiteto de Solu\u00e7\u00f5es, afirma ser funcion\u00e1rio da Couchbase e supostamente faz parte da nossa equipe de Servi\u00e7os Profissionais. Ele diz que est\u00e1 no setor h\u00e1 d\u00e9cadas e que esteve envolvido no desenvolvimento de aplicativos durante a maior parte desse tempo. Hmm, teremos que verificar isso...","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/davis-chapman\/"}]}},"authors":[{"term_id":9086,"user_id":41537,"is_guest":0,"slug":"davis-chapman","display_name":"Davis Chapman","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/1bcbb0d36ee45a118a98d5138f85da1dfff72f2e40c4ca2d5e279f44aa0d6fd9?s=96&d=mm&r=g","author_category":"","last_name":"Chapman","first_name":"Davis","job_title":"","user_url":"","description":"Davis Chapman se autodenomina Arquiteto de Solu\u00e7\u00f5es, afirma ser funcion\u00e1rio da Couchbase e supostamente faz parte da nossa equipe de Servi\u00e7os Profissionais. Ele diz que est\u00e1 no setor h\u00e1 d\u00e9cadas e que esteve envolvido no desenvolvimento de aplicativos durante a maior parte desse tempo. Hmm, teremos que verificar isso..."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7782","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\/41537"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=7782"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/7782\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/7781"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=7782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=7782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=7782"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=7782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}