{"id":6322,"date":"2019-01-24T12:04:52","date_gmt":"2019-01-24T20:04:52","guid":{"rendered":"http:\/\/www.couchbase.com\/blog\/?p=6322"},"modified":"2025-06-13T20:19:53","modified_gmt":"2025-06-14T03:19:53","slug":"n1ql-to-query-or-to-analyze","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-to-query-or-to-analyze\/","title":{"rendered":"N1QL: Consultar ou analisar?"},"content":{"rendered":"<p>Observa\u00e7\u00e3o: esta nota de recomenda\u00e7\u00e3o foi escrita em colabora\u00e7\u00e3o com Till Westmann e Mike Carey, que lideram o P&amp;D de an\u00e1lise do Couchbase.<\/p>\n<p>[A parte 2 deste artigo de Even Pease est\u00e1 dispon\u00edvel em: <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/part-2-n1ql-to-query-or-to-analyze\/\">https:\/\/www.couchbase.com\/blog\/part-2-n1ql-to-query-or-to-analyze\/<\/a>]<\/p>\n<p><span style=\"font-weight: 400\">Os servi\u00e7os de consulta e an\u00e1lise do Couchbase s\u00e3o compat\u00edveis com N1QL (SQL para JSON).  Uma pergunta comum \u00e9: \"Qual servi\u00e7o deve executar minha consulta?\".\u00a0<\/span><span style=\"font-weight: 400\">A resposta r\u00e1pida \u00e9: \"Depende de sua <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/its-the-workload-stupid\/\">carga de trabalho<\/a>\".  Este blog explica essa resposta.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Uma transa\u00e7\u00e3o \u00e9 quando voc\u00ea compra caf\u00e9 e bolo no supermercado.\u00a0<\/span><span style=\"font-weight: 400\">A an\u00e1lise \u00e9 quando o supermercado examina todos os dados de vendas para ver em que dia da semana, em que m\u00eas do ano o caf\u00e9 e\/ou o bolo vendem mais, para poder planejar o estoque, as vendas e os pre\u00e7os.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Toda empresa faz essas tr\u00eas coisas em um ciclo ou em uma espiral [A meta]. <\/span><\/p>\n<ol>\n<li><span style=\"font-weight: 400\">Executar o processo de neg\u00f3cios para fornecer produtos ou servi\u00e7os aos clientes.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Analisar a empresa para determinar o que deve ser mudado e para que deve ser mudado.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Fa\u00e7a a mudan\u00e7a acontecer.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Nos neg\u00f3cios modernos, cada etapa exige que os aplicativos executem as etapas.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-6323 aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM-300x151.png\" alt=\"\" width=\"657\" height=\"330\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM-300x151.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM-1024x516.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM-768x387.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM-20x10.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/01\/Screen-Shot-2019-01-18-at-4.10.08-PM.png 1044w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/p>\n<p><span style=\"font-weight: 400\">O Query Service \u00e9 usado pelos aplicativos necess\u00e1rios para executar os neg\u00f3cios; ele foi projetado para um grande n\u00famero de consultas simult\u00e2neas, cada uma delas realizando uma pequena quantidade de trabalho.  No mundo do RDBMS, essa carga de trabalho \u00e9 chamada de carga de trabalho OLTP. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Os aplicativos ou ferramentas usados para an\u00e1lise t\u00eam caracter\u00edsticas diferentes de carga de trabalho.  Normalmente, eles usam o Analytics Service; ele foi projetado para um n\u00famero menor de consultas simult\u00e2neas que analisam um n\u00famero maior de documentos. No mundo do RDBMS, essa carga de trabalho \u00e9 chamada de carga de trabalho OLAP. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Vamos nos aprofundar nos detalhes desses dois servi\u00e7os.<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"text-align: center\"><span style=\"color: #ff0000\"><b>Servi\u00e7o de consulta<\/b><\/span><\/td>\n<td style=\"text-align: center\"><span style=\"color: #ff0000\"><b>Servi\u00e7o de an\u00e1lise<\/b><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Tutoriais<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/query-tutorial.couchbase.com\/tutorial\/#1\"><span style=\"font-weight: 400\">https:\/\/query-tutorial.couchbase.com\/tutorial\/#1<\/span><\/a><\/td>\n<td><a href=\"https:\/\/sqlplusplus-tutorial.couchbase.com\/tutorial\/#1\"><span style=\"font-weight: 400\">https:\/\/sqlplusplus-tutorial.couchbase.com\/tutorial\/#1<\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Compara\u00e7\u00e3o de alto n\u00edvel<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Usado para manipula\u00e7\u00e3o de dados dentro da l\u00f3gica do aplicativo<\/span><\/td>\n<td><span style=\"font-weight: 400\">Usado para relat\u00f3rios, an\u00e1lises (hist\u00f3ricas, interativas), pain\u00e9is de controle<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Consultas curtas<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- SQL relativamente simples<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- Normalmente, envolve pequenas quantidades de dados<\/span><\/td>\n<td><span style=\"font-weight: 400\">Opera\u00e7\u00f5es mais longas<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- SQL complexo com an\u00e1lises<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- Normalmente, envolve grandes quantidades de dados<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Executar SELECT, INSERT, UPDATE, DELETE, MERGE para aplicativos operacionais<\/span><\/td>\n<td><span style=\"font-weight: 400\">Executar o SELECT para an\u00e1lise<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Atualiza\u00e7\u00f5es aleat\u00f3rias<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- Atualizar poucos documentos por consulta<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sem atualiza\u00e7\u00f5es<\/span><\/p>\n<p><span style=\"font-weight: 400\"> \u00a0- Altera\u00e7\u00f5es ingeridas do Data Service<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Lat\u00eancia de um milissegundo a um segundo,<\/span><\/p>\n<p><span style=\"font-weight: 400\">alta taxa de transfer\u00eancia (10-1000 qps), a meta de desempenho \u00e9 consultas\/segundo<\/span><\/td>\n<td><span style=\"font-weight: 400\">Tempo de resposta de segundos a minutos,<\/span><\/p>\n<p><span style=\"font-weight: 400\">&lt;1-10 consultas por segundo,<\/span><\/p>\n<p><span style=\"font-weight: 400\">A meta de desempenho \u00e9 de segundos\/consulta<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Grande n\u00famero de \u00edndices<\/span><\/td>\n<td><span style=\"font-weight: 400\">Menos \u00edndices<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Consultas escritas pelo desenvolvedor; as consultas geradas s\u00e3o bem conhecidas<\/span><\/td>\n<td><span style=\"font-weight: 400\">Consultas ad-hoc; relat\u00f3rios complexos, pain\u00e9is de controle, carga de trabalho de BI<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">As consultas s\u00e3o executadas em um \u00fanico n\u00f3 de consulta usando o \u00edndice distribu\u00eddo e a infraestrutura de dados<\/span><\/td>\n<td><span style=\"font-weight: 400\">As consultas s\u00e3o executadas em todos os n\u00f3s de an\u00e1lise usando sua infraestrutura distribu\u00edda de computa\u00e7\u00e3o, \u00edndice e dados<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Compara\u00e7\u00e3o t\u00e9cnica: Arquitetura<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">As consultas s\u00e3o executadas no modo SMP, a taxa de transfer\u00eancia \u00e9 escalon\u00e1vel com a adi\u00e7\u00e3o de novos n\u00f3s de consulta<\/span><\/td>\n<td><span style=\"font-weight: 400\">As consultas s\u00e3o executadas no modo MPP, podem lidar com dados maiores ou reduzir o tempo de execu\u00e7\u00e3o da consulta adicionando novos n\u00f3s de an\u00e1lise<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Compara\u00e7\u00e3o t\u00e9cnica: Otimizador<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Jun\u00e7\u00e3o de loop aninhado por padr\u00e3o<\/span><\/p>\n<p><span style=\"font-weight: 400\">Jun\u00e7\u00e3o de hash por meio de dica de consulta<\/span><\/td>\n<td><span style=\"font-weight: 400\">Jun\u00e7\u00e3o de hash paralelo por padr\u00e3o,<\/span><\/p>\n<p><span style=\"font-weight: 400\">Uni\u00e3o de loop aninhado (\u00edndice) ou uni\u00e3o de broadcast por meio de dica de consulta<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Compara\u00e7\u00e3o t\u00e9cnica: \u00cdndices<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">\u00cdndices secund\u00e1rios globais<\/span><\/td>\n<td><span style=\"font-weight: 400\">\u00cdndices secund\u00e1rios locais (co-localizados com parti\u00e7\u00f5es de dados)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Usa \u00edndices otimizados para mem\u00f3ria; \u00edndices secund\u00e1rios padr\u00e3o (Plasma)<\/span><\/td>\n<td><span style=\"font-weight: 400\">\u00cdndices secund\u00e1rios baseados em \u00e1rvore de mesclagem estruturada em log (LSM)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Suporte para varreduras de \u00edndices cobertos e n\u00e3o cobertos<\/span><\/td>\n<td><span style=\"font-weight: 400\">Varreduras de \u00edndice n\u00e3o cobertas<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Pode usar o \u00edndice de texto completo para consultas (6.5)<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Compara\u00e7\u00e3o t\u00e9cnica: Execu\u00e7\u00e3o<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">A maioria das consultas \u00e9 preparada uma vez e executada v\u00e1rias vezes<\/span><\/td>\n<td><span style=\"font-weight: 400\">Consultas ad-hoc e explorat\u00f3rias<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Os SDKs usam o modelo preparar-executar com base em um sinalizador ad-hoc<\/span><\/td>\n<td><span style=\"font-weight: 400\">Os SDKs oferecem consultas ad-hoc e parametrizadas<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">A maioria das opera\u00e7\u00f5es \u00e9 feita na mem\u00f3ria; somente quando uma varredura de \u00edndice retorna dados grandes \u00e9 que ela \u00e9 gravada no backfill do disco<\/span><\/td>\n<td><span style=\"font-weight: 400\">Opera\u00e7\u00f5es de mem\u00f3ria limitada em dados grandes (maiores do que a mem\u00f3ria do cluster) com derramamento gracioso conforme necess\u00e1rio<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Paralelismo de consulta de n\u00f3 \u00fanico<\/span><\/td>\n<td><span style=\"font-weight: 400\">Operadores de jun\u00e7\u00e3o, classifica\u00e7\u00e3o, agrega\u00e7\u00e3o e agrega\u00e7\u00e3o agrupada de v\u00e1rios n\u00f3s em paralelo particionado<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Espera um \u00fanico dispositivo de armazenamento (possivelmente com RAID)<\/span><\/td>\n<td><span style=\"font-weight: 400\">Uso sem RAID de v\u00e1rios dispositivos de armazenamento<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Isolamento do desempenho por meio de \u00edndices de cobertura que suportam opera\u00e7\u00f5es de varredura, agrupamento e agrega\u00e7\u00e3o nos n\u00f3s do Servi\u00e7o de \u00cdndice<\/span><\/td>\n<td><span style=\"font-weight: 400\">Isolamento de desempenho para todas as consultas por meio de sombreamento de dados nos n\u00f3s do Analytics Service<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><strong><span style=\"color: #0000ff\">Documenta\u00e7\u00e3o t\u00e9cnica<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/n1ql\/n1ql-language-reference\/index.html\"><span style=\"font-weight: 400\">https:\/\/docs.couchbase.com\/server\/6.0\/n1ql\/n1ql-language-reference\/index.html<\/span><\/a><\/td>\n<td><a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/analytics\/introduction.html\"><span style=\"font-weight: 400\">https:\/\/docs.couchbase.com\/server\/6.0\/analytics\/introduction.html<\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Informa\u00e7\u00f5es t\u00e9cnicas<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/n1ql\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/products\/n1ql<\/span><\/a><\/td>\n<td><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/sqlplusplus\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/sqlplusplus<\/span><\/a><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\" colspan=\"2\"><span style=\"color: #0000ff\"><strong>Livros t\u00e9cnicos<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/a-guide-to-n1ql-features-in-couchbase-5-5-special-edition\/\"><span style=\"font-weight: 400\">https:\/\/www.couchbase.com\/blog\/a-guide-to-n1ql-features-in-couchbase-5-5-special-edition\/<\/span><\/a><\/td>\n<td><a href=\"https:\/\/resources.couchbase.com\/sql_tutorial\"><span style=\"font-weight: 400\">https:\/\/resources.couchbase.com\/sql_tutorial<\/span><\/a><\/p>\n<p><a href=\"https:\/\/www.amazon.com\/SQL-Users-Tutorial-Don-Chamberlin\/dp\/0692184503\/\"><span style=\"font-weight: 400\">https:\/\/www.amazon.com\/SQL-Users-Tutorial-Don-Chamberlin\/dp\/0692184503\/<\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">[A META]: A meta: o processo de aprimoramento cont\u00ednuo.\u00a0<\/span><a href=\"https:\/\/www.amazon.com\/Goal-Process-Ongoing-Improvement\/dp\/0884271951\/ref=sr_1_1?keywords=the+goal&amp;qid=1547969233&amp;sr=8-1\">https:\/\/www.amazon.com\/Goal-Process-Ongoing-Improvement\/dp\/0884271951\/ref=sr_1_1?keywords=the+goal&amp;qid=1547969233&amp;sr=8-1<\/a><\/li>\n<li style=\"font-weight: 400\">Sistemas de engajamento para trabalhos com clientes: <a href=\"https:\/\/marketing.cioreview.com\/cxoinsight\/systems-of-engagement-for-customer-jobs-nid-24677-cid-51.html\">https:\/\/marketing.cioreview.com\/cxoinsight\/systems-of-engagement-for-customer-jobs-nid-24677-cid-51.html<\/a><\/li>\n<li>Parte 2 deste artigo de Even Pease: <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/part-2-n1ql-to-query-or-to-analyze\/\">https:\/\/www.couchbase.com\/blog\/part-2-n1ql-to-query-or-to-analyze\/<\/a><\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>Note: This recommendation note was written in collaboration with Till Westmann and Mike Carey, who lead the Couchbase analytics R&amp;D. [Part 2 of this article by Even Pease is at: https:\/\/www.couchbase.com\/blog\/part-2-n1ql-to-query-or-to-analyze\/] Couchbase&#8217;s Query and Analytics Services both support N1QL (SQL [&hellip;]<\/p>","protected":false},"author":55,"featured_media":5959,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,2294,1816,9417,1812],"tags":[1261,1725,2297],"ppma_author":[8929],"class_list":["post-6322","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-analytics","category-couchbase-server","category-performance","category-n1ql-query","tag-json","tag-nosql-database","tag-workload"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.7 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>N1QL: To Query or To Analyze? - 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\/n1ql-to-query-or-to-analyze\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"N1QL: To Query or To Analyze?\" \/>\n<meta property=\"og:description\" content=\"Note: This recommendation note was written in collaboration with Till Westmann and Mike Carey, who lead the Couchbase analytics R&amp;D. [Part 2 of this article by Even Pease is at: https:\/\/www.couchbase.com\/blog\/part-2-n1ql-to-query-or-to-analyze\/] Couchbase&#8217;s Query and Analytics Services both support N1QL (SQL [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-to-query-or-to-analyze\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-24T20:04:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:19:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1212\" \/>\n\t<meta property=\"og:image:height\" content=\"748\" \/>\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\/n1ql-to-query-or-to-analyze\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/\"},\"author\":{\"name\":\"Keshav Murthy\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636\"},\"headline\":\"N1QL: To Query or To Analyze?\",\"datePublished\":\"2019-01-24T20:04:52+00:00\",\"dateModified\":\"2025-06-14T03:19:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/\"},\"wordCount\":794,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png\",\"keywords\":[\"JSON\",\"NoSQL Database\",\"workload\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Analytics\",\"Couchbase Server\",\"High Performance\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/\",\"name\":\"N1QL: To Query or To Analyze? - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png\",\"datePublished\":\"2019-01-24T20:04:52+00:00\",\"dateModified\":\"2025-06-14T03:19:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png\",\"width\":1212,\"height\":748},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"N1QL: To Query or To Analyze?\"}]},{\"@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":"N1QL: To Query or To Analyze? - 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\/n1ql-to-query-or-to-analyze\/","og_locale":"pt_BR","og_type":"article","og_title":"N1QL: To Query or To Analyze?","og_description":"Note: This recommendation note was written in collaboration with Till Westmann and Mike Carey, who lead the Couchbase analytics R&amp;D. [Part 2 of this article by Even Pease is at: https:\/\/www.couchbase.com\/blog\/part-2-n1ql-to-query-or-to-analyze\/] Couchbase&#8217;s Query and Analytics Services both support N1QL (SQL [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/n1ql-to-query-or-to-analyze\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-01-24T20:04:52+00:00","article_modified_time":"2025-06-14T03:19:53+00:00","og_image":[{"width":1212,"height":748,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.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\/n1ql-to-query-or-to-analyze\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/"},"author":{"name":"Keshav Murthy","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c261644262bf98e146372fe647682636"},"headline":"N1QL: To Query or To Analyze?","datePublished":"2019-01-24T20:04:52+00:00","dateModified":"2025-06-14T03:19:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/"},"wordCount":794,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png","keywords":["JSON","NoSQL Database","workload"],"articleSection":["Best Practices and Tutorials","Couchbase Analytics","Couchbase Server","High Performance","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/","url":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/","name":"N1QL: To Query or To Analyze? - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png","datePublished":"2019-01-24T20:04:52+00:00","dateModified":"2025-06-14T03:19:53+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/Screen-Shot-2018-11-14-at-3.46.47-PM.png","width":1212,"height":748},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/n1ql-to-query-or-to-analyze\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"N1QL: To Query or To Analyze?"}]},{"@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\/6322","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=6322"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/6322\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/5959"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=6322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=6322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=6322"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=6322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}