{"id":2248,"date":"2016-05-09T05:42:27","date_gmt":"2016-05-09T05:42:27","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2248"},"modified":"2019-02-05T08:54:58","modified_gmt":"2019-02-05T16:54:58","slug":"faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/","title":{"rendered":"Indexa\u00e7\u00e3o e consultas mais r\u00e1pidas: Apresentando os \u00edndices secund\u00e1rios globais (GSI) - PARTE I"},"content":{"rendered":"<p>Ningu\u00e9m duvida que a indexa\u00e7\u00e3o e a consulta de Big Data s\u00e3o desafiadoras. O Big Data chega at\u00e9 voc\u00ea rapidamente, com alta velocidade, variedade e volume! 100 mil atualiza\u00e7\u00f5es por segundo e TBs de dados a serem verificados - n\u00e3o \u00e9 poss\u00edvel fazer isso em tempo real a menos que voc\u00ea tenha uma indexa\u00e7\u00e3o s\u00f3lida! Imagine esses aplicativos:<\/p>\n<ul dir=\"ltr\">\n<li style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\">O aplicativo de viagem que define pre\u00e7os e registra todos os voos e hot\u00e9is que voc\u00ea consultou!<\/li>\n<li style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\">O jogo on-line viral que precisa exibir o placar preciso para os melhores jogadores!<\/li>\n<li style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\">O aplicativo de detec\u00e7\u00e3o de fraude que precisa examinar sua atividade recente para decidir se a transa\u00e7\u00e3o de cart\u00e3o de cr\u00e9dito ativa \u00e9 leg\u00edtima!<\/li>\n<\/ul>\n<p>Esses s\u00e3o casos de uso para consultas que precisam lidar com uma alta ingest\u00e3o de dados, mas n\u00e3o podem se comprometer com milissegundos como tempo de resposta! Se voc\u00ea n\u00e3o puder renderizar o <em>roteiros de viagem, os placares<\/em> ou <em>responder a uma fraude em tempo real<\/em>Se voc\u00ea n\u00e3o tiver uma aposta, todas as apostas est\u00e3o canceladas! Ok! Isso parece imposs\u00edvel e voc\u00ea pergunta: <strong>\"Como voc\u00ea indexa e consulta esses tipos de dados em tempo real?\"<\/strong><\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;\">Indexa\u00e7\u00e3o em sistemas de banco de dados distribu\u00eddos<\/h2>\n<p dir=\"ltr\">Os sistemas distribu\u00eddos oferecem dois tipos de indexa\u00e7\u00e3o;<\/p>\n<ul dir=\"ltr\">\n<li>\u00cdndices locais: No cluster, cada n\u00f3 indexa os dados que mant\u00e9m localmente. Isso otimiza a indexa\u00e7\u00e3o r\u00e1pida. No entanto, \u00e0 medida que a ingest\u00e3o de dados aumenta, a manuten\u00e7\u00e3o do \u00edndice localmente compete com a carga de trabalho recebida e, \u00e0 medida que o cluster fica maior (mais n\u00f3s), a dispers\u00e3o atinge a lat\u00eancia da consulta. Imagine esta consulta: \"<em>Encontre os 10 principais usu\u00e1rios mais ativos do m\u00eas de agosto<\/em>&#8220;<\/li>\n<\/ul>\n<pre><code class=\"language-sql\">#SQL would look something like this\r\nSELECT customer_name, total_logins.jan_2015 \r\nFROM customer_bucket \r\nWHERE type=\u201ccustomer_profile\u201d \r\nORDER BY total_logins.jan_2015 DESC \r\nLIMIT 10;\r\n\r\n#index for the query would look something like this\r\nINDEX ON Customer_bucket(customer_name, total_logins.jan_2015) \r\nWHERE type=\u201ccustomer_profile\u201d;<\/code><\/pre>\n<p dir=\"ltr\">Aqui est\u00e3o as etapas assim que a consulta \u00e9 recebida em um cluster com um \u00edndice local:<\/p>\n<ol dir=\"ltr\">\n<li>Nenhum n\u00f3 sabe a resposta! Portanto, \u00e9 necess\u00e1rio que o Scatter descubra o \"TOP 10\" em cada n\u00f3 localmente usando o \u00edndice local.<\/li>\n<li>O Gather leva os \"TOP 10\u2033 de volta ao n\u00f3 de coordena\u00e7\u00e3o.<\/li>\n<li>A etapa final \u00e9 reordenar e descobrir os 10 usu\u00e1rios ativos mais pr\u00f3ximos, combinando os resultados de todos os n\u00f3s e enviando os resultados de volta ao cliente.<\/li>\n<\/ol>\n<p>Vamos supor que isso tenha sido feito em 100 n\u00f3s e que voc\u00ea tenha adicionado o 101\u00ba n\u00f3! Nada fica mais r\u00e1pido ao executar essa consulta. Cada n\u00f3 ainda faz o mesmo trabalho, inclusive o novo n\u00f3. De fato, o 101\u00ba n\u00f3 prejudica a lat\u00eancia da consulta!<\/p>\n<p>A prop\u00f3sito, o Couchbase Server faz indexa\u00e7\u00e3o local. Isso se chama Map\/Reduce Views e \u00e9 fant\u00e1stico para aplicativos complexos de relat\u00f3rios interativos e aplicativos de painel que podem suportar segundos de lat\u00eancia. Veja mais sobre visualiza\u00e7\u00f5es <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/architecture\/incremental-map-reduce-views.html\">aqui<\/a>.<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/localindex.jpg\" \/><\/p>\n<ul dir=\"ltr\">\n<li>\u00cdndices globais: O \u00edndice \u00e9 particionado de forma independente e colocado longe dos dados nos n\u00f3s. Pode ser desafiador acompanhar as muta\u00e7\u00f5es, pois a indexa\u00e7\u00e3o dos dados exigir\u00e1 um acesso \u00e0 rede. No entanto, os \u00edndices globais funcionam de forma fant\u00e1stica para consultas. Imagine a mesma consulta acima. O \u00edndice agora est\u00e1 em um n\u00f3 ou dois (talvez particionado por continentes, como no exemplo abaixo)<\/li>\n<\/ul>\n<pre><code>#index for the query would look something like this\r\nINDEX ON Customer_bucket(customer_name, total_logins.jan_2015) \r\nWHERE type=\u201ccustomer_profile\u201d\r\nAND continent=\"Europe\";\r\nINDEX ON Customer_bucket(customer_name, total_logins.jan_2015) \r\nWHERE type=\u201ccustomer_profile\u201d\r\nAND continent=\"America\";\r\nINDEX ON Customer_bucket(customer_name, total_logins.jan_2015) \r\nWHERE type=\u201ccustomer_profile\u201d\r\nAND continent=\"Asia\";<\/code><\/pre>\n<p dir=\"ltr\" style=\"color: #333333; line-height: 20.8px; text-align: left;\">Aqui est\u00e3o as etapas assim que a consulta \u00e9 recebida em um cluster com um \u00edndice global:<\/p>\n<ol dir=\"ltr\" style=\"color: #333333; line-height: 20.8px; text-align: left;\">\n<li>Agora temos um n\u00f3 com o \u00edndice global que sabe a resposta! Portanto, n\u00e3o h\u00e1 necessidade de dispers\u00e3o aqui! Simplesmente recuperamos a contagem de login superior do \u00edndice.<\/li>\n<li>A etapa final \u00e9 enviar os resultados de volta para o cliente.<\/li>\n<\/ol>\n<p style=\"color: #333333; line-height: 20.8px; text-align: left;\">Com os 100 n\u00f3s do exemplo anterior, seu 101\u00ba n\u00f3 agora pode trabalhar de verdade! As lat\u00eancias de consulta s\u00e3o muito mais r\u00e1pidas!<\/p>\n<p dir=\"ltr\" style=\"text-align: center;\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/globalindex.jpg\" \/><\/p>\n<p dir=\"ltr\">No Couchbase Server, os GSIs tamb\u00e9m podem ser implantados de forma independente em uma zona separada dentro do cluster usando o servi\u00e7o de \u00edndice. Isso significa que os n\u00f3s de servi\u00e7o de dados que est\u00e3o realizando as opera\u00e7\u00f5es de dados principais (INSERT\/UPDATE\/DELETE) n\u00e3o precisam competir com a indexa\u00e7\u00e3o que ocorre em outra parte do cluster. Chamamos essa topologia de implementa\u00e7\u00e3o de MDS e voc\u00ea pode saber mais sobre ela <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/architecture\/services-archi-multi-dimensional-scaling.html\">aqui<\/a>.<\/p>\n<p dir=\"ltr\">Voc\u00ea tamb\u00e9m pode encontrar uma discuss\u00e3o mais detalhada sobre as diferen\u00e7as entre Map\/Reduce Views e GSI e suas arquiteturas\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/architecture\/gsi-versus-views.html\">aqui<\/a>.<\/p>\n<p dir=\"ltr\"><span style=\"color: #333333; line-height: 20.8px; text-align: left;\">O Couchbase Server fornece GSI (\u00edndices secund\u00e1rios globais) que funciona dessa forma. O Couchbase Server oferece duas op\u00e7\u00f5es de armazenamento para GSIs: GSI padr\u00e3o e GSI otimizado para mem\u00f3ria. O GSI padr\u00e3o est\u00e1 dispon\u00edvel desde a vers\u00e3o 4.0. No entanto, o GSI otimizado para mem\u00f3ria \u00e9 novo na vers\u00e3o 4.5. Em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\">PARTE II desta postagem<\/a>, voc\u00ea pode<\/span><span style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0leia sobre<\/span><span style=\"color: #333333; line-height: 20.8px; text-align: left;\">\u00a0\u00edndices globais otimizados para mem\u00f3ria e como eles s\u00e3o diferentes.\u00a0<\/span><\/p>\n<div>Feliz Hacking<\/div>\n<div>-Cihan<\/div>","protected":false},"excerpt":{"rendered":"<p>No one doubts that indexing and query with big data is challenging. Big data comes at you fast, with high velocity, variety and volume! 100Ks of updates\/sec and TBs of data to scan &#8211; you cannot do this real-time unless [&hellip;]<\/p>","protected":false},"author":7,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1812],"tags":[],"ppma_author":[8978],"class_list":["post-2248","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-n1ql-query"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Faster Indexing &amp; Queries : Global Secondary Indexes (GSI) - PART I<\/title>\n<meta name=\"description\" content=\"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.\" \/>\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\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Faster Indexing &amp; Queries: Introducing Global Secondary Indexes (GSI) - PART I\" \/>\n<meta property=\"og:description\" content=\"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-09T05:42:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-02-05T16:54:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\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\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\"},\"author\":{\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\"},\"headline\":\"Faster Indexing &#038; Queries: Introducing Global Secondary Indexes (GSI) &#8211; PART I\",\"datePublished\":\"2016-05-09T05:42:27+00:00\",\"dateModified\":\"2019-02-05T16:54:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\"},\"wordCount\":689,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\",\"name\":\"Faster Indexing & Queries : Global Secondary Indexes (GSI) - PART I\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-09T05:42:27+00:00\",\"dateModified\":\"2019-02-05T16:54:58+00:00\",\"description\":\"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Faster Indexing &#038; Queries: Introducing Global Secondary Indexes (GSI) &#8211; PART I\"}]},{\"@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\/3d8c60500ca29254fcdb2f76f29fb088\",\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"caption\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\"},\"description\":\"Cihan Biyikoglu is a director of product management at Couchbase, responsible for the Couchbase Server product. Cihan is a big data enthusiast who brings over twenty years of experience to Redis Labs\u2019 product team. Cihan started his career as a C\/C++ developer.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Faster Indexing & Queries : Global Secondary Indexes (GSI) - PART I","description":"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.","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\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/","og_locale":"pt_BR","og_type":"article","og_title":"Faster Indexing & Queries: Introducing Global Secondary Indexes (GSI) - PART I","og_description":"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-09T05:42:27+00:00","article_modified_time":"2019-02-05T16:54:58+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Cihan Biyikoglu, Director of Product Management, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cihan Biyikoglu, Director of Product Management, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/"},"author":{"name":"Cihan Biyikoglu, Director of Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088"},"headline":"Faster Indexing &#038; Queries: Introducing Global Secondary Indexes (GSI) &#8211; PART I","datePublished":"2016-05-09T05:42:27+00:00","dateModified":"2019-02-05T16:54:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/"},"wordCount":689,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/","url":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/","name":"Faster Indexing & Queries : Global Secondary Indexes (GSI) - PART I","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-09T05:42:27+00:00","dateModified":"2019-02-05T16:54:58+00:00","description":"This blog focus on what is Global Secondary Indexes (GSI). Furthermore, see how to do Indexing in Distributed Database Systems.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Faster Indexing &#038; Queries: Introducing Global Secondary Indexes (GSI) &#8211; PART I"}]},{"@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\/3d8c60500ca29254fcdb2f76f29fb088","name":"Cihan Biyikoglu, diretor de gerenciamento de produtos, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5","url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","caption":"Cihan Biyikoglu, Director of Product Management, Couchbase"},"description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/"}]}},"authors":[{"term_id":8978,"user_id":7,"is_guest":0,"slug":"cihan-biyikoglu","display_name":"Cihan Biyikoglu, Director of Product Management, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","first_name":"Cihan","last_name":"Biyikoglu","user_url":"","author_category":"","description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2248","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\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2248"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2248\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2248"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}