{"id":4295,"date":"2017-12-04T18:26:28","date_gmt":"2017-12-05T02:26:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4295"},"modified":"2025-11-07T04:29:38","modified_gmt":"2025-11-07T12:29:38","slug":"comparing-couchbase-views-couchbase-n1ql-indexing","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/comparing-couchbase-views-couchbase-n1ql-indexing\/","title":{"rendered":"Compara\u00e7\u00e3o das visualiza\u00e7\u00f5es do Couchbase com o Couchbase N1QL e a indexa\u00e7\u00e3o."},"content":{"rendered":"<p>\u00c0 medida que a plataforma de dados do Couchbase evoluiu, servi\u00e7os como N1QL e GSI Indexing lidaram com os casos de uso que o Couchbase VIEWS costumava lidar e muito mais.  \u00c9 l\u00f3gico fazer a pergunta comparativa entre eles.  Aqui est\u00e1 uma tabela que compara ambos.  Este artigo \u00e9 destinado a desenvolvedores e arquitetos familiarizados com ambos, e n\u00e3o como um artigo introdut\u00f3rio. Use os links aqui para saber mais e brincar com os respectivos recursos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4300\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-300x136.png\" alt=\"\" width=\"752\" height=\"341\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-300x136.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-1024x466.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-768x349.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM-1320x600.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-04-at-10.43.04-PM.png 1486w\" sizes=\"auto, (max-width: 752px) 100vw, 752px\" \/><\/p>\n<div class=\"responsive-table\">\n<table style=\"width:100%\" border=\"1\">\n<tbody>\n<tr style=\"width:100%;\">\n<th style=\"padding:10px;\"><strong>T\u00f3pico<\/strong><\/th>\n<th style=\"padding:10px;\"><strong>Exibi\u00e7\u00f5es do Couchbase Map-Reduce<\/strong><\/th>\n<th style=\"padding:10px;\"><strong>Couchbase N1QL+GSI<\/strong><\/th>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Abordagem<\/td>\n<td style=\"padding:10px;\">Com base nas fun\u00e7\u00f5es map() e reduce() definidas pelo usu\u00e1rio que operam nos dados em segundo plano. Como map() e reduce() s\u00e3o escritas em Javascript, voc\u00ea pode codificar l\u00f3gicas complexas nessas fun\u00e7\u00f5es.<\/td>\n<td style=\"padding:10px;\">Baseado na consulta declarativa N1QL (SQL para JSON).  Usa \u00edndices apropriados para otimizar a execu\u00e7\u00e3o e \u00e9 executada dinamicamente por meio da orquestra\u00e7\u00e3o de servi\u00e7os de dados de consulta-\u00edndice.  O N1QL permite consultas facilmente grav\u00e1veis e leg\u00edveis para JSON.  Por ser inspirado no SQL, \u00e9 flex\u00edvel e compost\u00e1vel.  Por ter sido estendido para JSON, funciona com dados JSON avan\u00e7ados.  Usa l\u00f3gica booleana de quatro valores (true, false, NULL, MISSING)<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Mais informa\u00e7\u00f5es<\/td>\n<td style=\"padding:10px;\">Documentos do Couchbase:\u00a0<a href=\"https:\/\/bit.ly\/2jQrY11\">https:\/\/bit.ly\/2jQrY11<\/a><\/td>\n<td style=\"padding:10px;\">\n1. <a href=\"https:\/\/query.couchbase.com\">https:\/\/query.couchbase.com<\/a><br \/>\n2. <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-practical-guide-second-edition\/\">https:\/\/www.couchbase.com\/blog\/n1ql-practical-guide-second-edition\/<\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Consulta<\/td>\n<td style=\"padding:10px;\"><strong>Consulta baseada em<\/strong><\/p>\n<p style=\"font-size:14px;\">\n1. Chave \u00fanica<br \/>\n2. Conjunto de chaves<br \/>\n3. Tecla Iniciar-Fim<br \/>\n4. Teclas de in\u00edcio e fim do documento<br \/>\n5. Group BY, Agrega\u00e7\u00e3o<br \/>\n6. Pagina\u00e7\u00e3o<\/p>\n<\/td>\n<td style=\"padding:10px;\"><strong>Declara\u00e7\u00f5es de consulta<\/strong><\/p>\n<p style=\"font-size:14px;\">1. SELECIONAR<br \/>\n2. INSERIR<br \/>\n3. ATUALIZA\u00c7\u00c3O<br \/>\n4. EXCLUIR<br \/>\n5. MERGE<br \/>\n6. INFERIR<br \/>\n7. EXPLICAR<br \/>\n<strong>Opera\u00e7\u00f5es de consulta:<\/strong><br \/>\n1. Chave \u00fanica<br \/>\n2. Conjunto de chaves<br \/>\n3. Teclas de alcance<br \/>\n4. Intervalo de chaves de documento<br \/>\n5. Predicados arbitrariamente complexos<br \/>\n6. JUN\u00c7\u00c3O INTERNA, JUN\u00c7\u00c3O EXTERNA ESQUERDA<br \/>\n7. NEST, UNNEST<br \/>\n8. GRUPO POR<br \/>\n9. Agrega\u00e7\u00e3o<br \/>\n10. Pagina\u00e7\u00e3o (OFFSET, LIMIT)<br \/>\n11. Otimiza\u00e7\u00e3o<br \/>\n12. ORDENAR POR<br \/>\n13. TER<br \/>\n14. Subconsultas (correlacionadas, n\u00e3o correlacionadas)<br \/>\n15. Tabelas derivadas<br \/>\n16. Opera\u00e7\u00f5es SET: UNION, UNION ALL, EXCEPT, EXCEPT ALL, INTERSECT<br \/>\n17. Consultas altamente compostas, o que significa que essas opera\u00e7\u00f5es podem ser simplesmente combinadas umas com as outras para expressar facilmente perguntas e opera\u00e7\u00f5es comerciais complexas.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Indexa\u00e7\u00e3o<\/td>\n<td style=\"padding:10px;\">\u00cdndice simples para visualiza\u00e7\u00f5es.<\/td>\n<td style=\"padding:10px;\">\n \t1. \u00cdndice prim\u00e1rio<br \/>\n \t2. \u00cdndice prim\u00e1rio nomeado<br \/>\n \t3. \u00cdndice secund\u00e1rio<br \/>\n \t4. \u00cdndice secund\u00e1rio composto<br \/>\n 5. \u00cdndice funcional<br \/>\n \t6. \u00cdndice da matriz<br \/>\n \t7. Matriz ALL<br \/>\n \t8. Matriz ALL DISTINCT<br \/>\n \t9. \u00cdndice parcial<br \/>\n \t10. \u00cdndice adaptativo<br \/>\n \t11. \u00cdndices duplicados<br \/>\n \t12. \u00cdndice de cobertura<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Particionamento<\/td>\n<td style=\"padding:10px;\">Alinhado ao particionamento de dados.<\/td>\n<td style=\"padding:10px;\">Servi\u00e7os independentes.<\/p>\n<p><span style=\"font-size:14px;\">O N1QL e o GSI s\u00e3o dimensionados independentemente do servi\u00e7o de dados e entre si.<\/span><\/td>\n<\/tr>\n<td style=\"padding:10px;\">Escala<\/td>\n<td style=\"padding:10px;\">Escalas com servi\u00e7o de dados<\/td>\n<td style=\"padding:10px;\">Escalonamento independente por meio de escalonamento multidimensional (MDS)<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Buscar com a chave do documento<\/td>\n<td style=\"padding:10px;\">Como os dados s\u00e3o particionados na chave do documento, o documento \u00e9 obtido diretamente do n\u00f3<\/td>\n<td style=\"padding:10px;\">Especifique a consulta por meio da cl\u00e1usula USE KEYS.<\/p>\n<p><span style=\"font-size:14px;\">Como os dados s\u00e3o particionados na chave do documento, o documento \u00e9 obtido diretamente do n\u00f3<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Buscar com chave de \u00edndice<\/td>\n<td style=\"padding:10px;\">Dispers\u00e3o-coleta<\/td>\n<td style=\"padding:10px;\">Cada varredura de \u00edndice em um \u00fanico n\u00f3; dados em v\u00e1rios n\u00f3s.<\/p>\n<p><span style=\"font-size:14px;\">P\u00f3s-processamento no n\u00f3 de consulta<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Varredura de alcance<\/td>\n<td style=\"padding:10px;\">Dispers\u00e3o-coleta<\/td>\n<td style=\"padding:10px;\">Varredura de \u00edndice em um \u00fanico n\u00f3.<\/p>\n<p><span style=\"font-size:14px;\">P\u00f3s-processamento no n\u00f3 de consulta<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Agrupamento, agrega\u00e7\u00e3o<\/td>\n<td style=\"padding:10px;\">Integrado com a API de visualiza\u00e7\u00f5es<\/td>\n<td style=\"padding:10px;\">Incorporado ao N1QL<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Armazenamento em cache<\/td>\n<td style=\"padding:10px;\">Sistema de arquivos<\/td>\n<td style=\"padding:10px;\">Pool de buffer de \u00edndice<\/p>\n<p><span style=\"font-size:14px;\">Cache de dados<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Armazenamento<\/td>\n<td style=\"padding:10px;\">Loja de sof\u00e1s<\/td>\n<td style=\"padding:10px;\">Mecanismo de armazenamento de plasma (5.0 e superior)<\/p>\n<p><span style=\"font-size:14px;\">\u00cdndice otimizado para mem\u00f3ria (4.5 e superior)<\/span><\/p>\n<p><span style=\"font-size:14px;\">ForestDB (comunidade)<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Disponibilidade<\/td>\n<td style=\"padding:10px;\">Baseado em r\u00e9plicas<\/td>\n<td style=\"padding:10px;\">5.0: R\u00e9plicas<\/p>\n<p><span style=\"font-size:14px;\">4.x: \u00cdndices equivalentes<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Lat\u00eancia da consulta<\/p>\n<p><span style=\"font-size:14px;\">(Consultas simples)<\/span><\/td>\n<td style=\"padding:10px;\">10 milissegundos a 100 milissegundos<\/td>\n<td style=\"padding:10px;\">5 milissegundos+<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Taxa de transfer\u00eancia de consulta<\/p>\n<p><span style=\"font-size:14px;\">(Consultas simples)<\/span><\/td>\n<td style=\"padding:10px;\">3K a 4K consultas por segundo<\/td>\n<td style=\"padding:10px;\">40 mil consultas por segundo<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Escalabilidade<\/td>\n<td style=\"padding:10px;\">Moderado (dimensionamento vinculado ao servi\u00e7o de dados)<\/td>\n<td style=\"padding:10px;\">Alta (dimensionamento independente de servi\u00e7os de \u00edndice e consulta: MDS)<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Aplicabilidade<\/td>\n<td style=\"padding:10px;\">Agrega\u00e7\u00f5es, o melhor das agrega\u00e7\u00f5es em grande escala para requisitos de lat\u00eancia baixa e moderada.  As opera\u00e7\u00f5es de redu\u00e7\u00e3o de mapas nos dados s\u00e3o feitas em segundo plano \u00e0 medida que os dados s\u00e3o modificados.<\/td>\n<td style=\"padding:10px;\">Melhor para pesquisa baseada em atributos, varreduras de intervalo, select-join-project-array complexo<\/p>\n<p><span style=\"font-size:14px;\">Opera\u00e7\u00f5es.  Oferece suporte a agrupamento, agrega\u00e7\u00e3o e ordena\u00e7\u00e3o - essas opera\u00e7\u00f5es s\u00e3o feitas dinamicamente como parte da execu\u00e7\u00e3o da consulta.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Requisitos de aplica\u00e7\u00e3o<\/td>\n<td style=\"padding:10px;\">Relat\u00f3rio sobre m\u00e9tricas bem definidas<\/p>\n<p><span style=\"font-size:14px;\">Agrega\u00e7\u00f5es em grande escala<\/span><\/p>\n<p><span style=\"font-size:14px;\">Sens\u00edvel \u00e0 lat\u00eancia<\/span><\/td>\n<td style=\"padding:10px;\">Pesquisas de chaves secund\u00e1rias<\/p>\n<p><span style=\"font-size:14px;\">Varreduras de alcance<\/span><\/p>\n<p><span style=\"font-size:14px;\">Agrega\u00e7\u00f5es operacionais<\/span><\/p>\n<p><span style=\"font-size:14px;\">Consultas filtradas<\/span><\/p>\n<p><span style=\"font-size:14px;\">Consultas ad-hoc com predicados complexos, jun\u00e7\u00f5es, agrega\u00e7\u00f5es, pesquisa de aplicativos, pagina\u00e7\u00e3o, atualiza\u00e7\u00f5es baseadas em chaves secund\u00e1rias.<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Espacial<\/td>\n<td style=\"padding:10px;\">Suportado por visualiza\u00e7\u00f5es espaciais<\/td>\n<td style=\"padding:10px;\">N\u00e3o diretamente.<\/p>\n<p><span style=\"font-size:14px;\"><a href=\"https:\/\/dzone.com\/articles\/speed-up-spatial-search-in-couchbase-n1ql\">https:\/\/dzone.com\/articles\/speed-up-spatial-search-in-couchbase-n1ql<\/a><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Consist\u00eancia<\/td>\n<td style=\"padding:10px;\">Vencido = UPDATE_AFTER<\/p>\n<p><span style=\"font-size:14px;\">Vencido = OK<\/p>\n<p><span style=\"font-size:14px;\">Stale = FALSE<\/td>\n<td style=\"padding:10px;\">N\u00e3o limitado (obsoleto = OK)<\/p>\n<p><span style=\"font-size:14px;\">AT_PLUS (leia suas pr\u00f3prias grava\u00e7\u00f5es)<\/span><\/p>\n<p><span style=\"font-size:14px;\">REQUEST_PLUS (lido ap\u00f3s as atualiza\u00e7\u00f5es do \u00edndice at\u00e9 now(). Stale = False).<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px;\">Ferramentas<\/td>\n<td style=\"padding:10px;\">Console da Web<\/td>\n<td style=\"padding:10px;\">Console da Web, Workbench do desenvolvedor, Monitoramento de consultas, Perfil de consultas, Explica\u00e7\u00e3o visual, INFER.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u00c0 medida que a plataforma de dados do Couchbase evoluiu, servi\u00e7os como N1QL e GSI Indexing lidaram com os casos de uso que o Couchbase VIEWS costumava lidar e muito mais.  \u00c9 l\u00f3gico fazer a pergunta comparativa entre eles.  Aqui est\u00e1 uma tabela comparando ambos.  Esta \u00e9 [...]<\/p>","protected":false},"author":55,"featured_media":4301,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1821,1819,9417,1812],"tags":[1696,1248,1641],"ppma_author":[8929],"class_list":["post-4295","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-architecture","category-data-modeling","category-performance","category-n1ql-query","tag-indexing","tag-mapreduce","tag-secondary-indexing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.4 (Yoast SEO v26.4) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comparing Couchbase Views with Couchbase N1QL &amp; Indexing<\/title>\n<meta name=\"description\" content=\"The blog focuses on the table comparison between Couchbase Map-Reduce Views and Couchbase N1QL+GSI indexing. This is intended for developers and architects.\" \/>\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\/comparing-couchbase-views-couchbase-n1ql-indexing\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comparing Couchbase Views with Couchbase N1QL &amp; Indexing.\" \/>\n<meta property=\"og:description\" content=\"The blog focuses on the table comparison between Couchbase Map-Reduce Views and Couchbase N1QL+GSI indexing. This is intended for developers and architects.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/comparing-couchbase-views-couchbase-n1ql-indexing\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-05T02:26:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-07T12:29:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Keshav Murthy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rkeshavmurthy\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Keshav Murthy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/\"},\"author\":{\"name\":\"Keshav Murthy\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\"},\"headline\":\"Comparing Couchbase Views with Couchbase N1QL &#038; Indexing.\",\"datePublished\":\"2017-12-05T02:26:28+00:00\",\"dateModified\":\"2025-11-07T12:29:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/\"},\"wordCount\":652,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png\",\"keywords\":[\"Indexing\",\"MapReduce\",\"Secondary Indexing\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Data Modeling\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/\",\"name\":\"Comparing Couchbase Views with Couchbase N1QL & Indexing\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png\",\"datePublished\":\"2017-12-05T02:26:28+00:00\",\"dateModified\":\"2025-11-07T12:29:38+00:00\",\"description\":\"The blog focuses on the table comparison between Couchbase Map-Reduce Views and Couchbase N1QL+GSI indexing. This is intended for developers and architects.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png\",\"width\":512,\"height\":512},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Comparing Couchbase Views with Couchbase N1QL &#038; Indexing.\"}]},{\"@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\/c261644262bf98e146372fe647682636\",\"name\":\"Keshav Murthy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g\",\"caption\":\"Keshav Murthy\"},\"description\":\"Keshav Murthy is a Vice President at Couchbase R&amp;D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design &amp; development. He lead the SQL and NoSQL R&amp;D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, and has received twenty four US patents.\",\"sameAs\":[\"https:\/\/blog.planetnosql.com\/\",\"https:\/\/x.com\/rkeshavmurthy\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/keshav-murthy\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Compara\u00e7\u00e3o das visualiza\u00e7\u00f5es do Couchbase com o Couchbase N1QL e a indexa\u00e7\u00e3o","description":"O blog se concentra na compara\u00e7\u00e3o de tabelas entre as visualiza\u00e7\u00f5es do Couchbase Map-Reduce e a indexa\u00e7\u00e3o do Couchbase N1QL+GSI. Ele \u00e9 destinado a desenvolvedores e arquitetos.","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\/comparing-couchbase-views-couchbase-n1ql-indexing\/","og_locale":"pt_BR","og_type":"article","og_title":"Comparing Couchbase Views with Couchbase N1QL & Indexing.","og_description":"The blog focuses on the table comparison between Couchbase Map-Reduce Views and Couchbase N1QL+GSI indexing. This is intended for developers and architects.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/comparing-couchbase-views-couchbase-n1ql-indexing\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-12-05T02:26:28+00:00","article_modified_time":"2025-11-07T12:29:38+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png","type":"image\/png"}],"author":"Keshav Murthy","twitter_card":"summary_large_image","twitter_creator":"@rkeshavmurthy","twitter_misc":{"Written by":"Keshav Murthy","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/"},"author":{"name":"Keshav Murthy","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636"},"headline":"Comparing Couchbase Views with Couchbase N1QL &#038; Indexing.","datePublished":"2017-12-05T02:26:28+00:00","dateModified":"2025-11-07T12:29:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/"},"wordCount":652,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png","keywords":["Indexing","MapReduce","Secondary Indexing"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Architecture","Data Modeling","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/","url":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/","name":"Compara\u00e7\u00e3o das visualiza\u00e7\u00f5es do Couchbase com o Couchbase N1QL e a indexa\u00e7\u00e3o","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png","datePublished":"2017-12-05T02:26:28+00:00","dateModified":"2025-11-07T12:29:38+00:00","description":"O blog se concentra na compara\u00e7\u00e3o de tabelas entre as visualiza\u00e7\u00f5es do Couchbase Map-Reduce e a indexa\u00e7\u00e3o do Couchbase N1QL+GSI. Ele \u00e9 destinado a desenvolvedores e arquitetos.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/questions.png","width":512,"height":512},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/comparing-couchbase-views-couchbase-n1ql-indexing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Comparing Couchbase Views with Couchbase N1QL &#038; Indexing."}]},{"@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\/c261644262bf98e146372fe647682636","name":"Keshav Murthy","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4e51d72fc07c662aa791316deafffac4","url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","caption":"Keshav Murthy"},"description":"Keshav Murthy is a Vice President at Couchbase R&amp;D. Previously, he was at MapR, IBM, Informix, Sybase, with more than 20 years of experience in database design &amp; development. He lead the SQL and NoSQL R&amp;D team at IBM Informix. He has received two President's Club awards at Couchbase, two Outstanding Technical Achievement Awards at IBM. Keshav has a bachelor's degree in Computer Science and Engineering from the University of Mysore, India, and has received twenty four US patents.","sameAs":["https:\/\/blog.planetnosql.com\/","https:\/\/x.com\/rkeshavmurthy"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/keshav-murthy\/"}]}},"authors":[{"term_id":8929,"user_id":55,"is_guest":0,"slug":"keshav-murthy","display_name":"Keshav Murthy","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/af74df754db27152971d0aed2f323ead5a1f9fe5afd0209af91e12e784451224?s=96&d=mm&r=g","author_category":"","last_name":"Murthy","first_name":"Keshav","job_title":"","user_url":"https:\/\/blog.planetnosql.com\/","description":"Keshav Murthy \u00e9 vice-presidente de P&amp;D da Couchbase. Anteriormente, ele trabalhou na MapR, IBM, Informix e Sybase, com mais de 20 anos de experi\u00eancia em design e desenvolvimento de bancos de dados. Ele liderou a equipe de P&amp;D de SQL e NoSQL na IBM Informix. Recebeu dois pr\u00eamios President's Club na Couchbase e dois Outstanding Technical Achievement Awards na IBM. Keshav \u00e9 bacharel em Ci\u00eancia da Computa\u00e7\u00e3o e Engenharia pela Universidade de Mysore, \u00cdndia, det\u00e9m dez patentes nos EUA e tem tr\u00eas patentes pendentes nos EUA."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4295","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\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=4295"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/4295\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/4301"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=4295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=4295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=4295"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=4295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}