{"id":9773,"date":"2021-08-12T00:00:28","date_gmt":"2021-08-12T07:00:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9773"},"modified":"2025-06-13T19:27:01","modified_gmt":"2025-06-14T02:27:01","slug":"indexing-service-optimizations-with-couchbase-collections","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/","title":{"rendered":"Here&#8217;s How the Index Service Got Upgraded for Couchbase 7.0"},"content":{"rendered":"<p><strong>Index builds and updates just got a big performance upgrade<\/strong> with the introduction of Scopes and Collections in Couchbase 7.<\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/couchbase-server-7-0-release\/?ref=blog\" rel=\"noopener\" target=\"_blank\">The Couchbase Server 7.0 release<\/a> introduces the separation of Bucket data into <a href=\"https:\/\/www.couchbase.com\/blog\/scopes-and-collections-for-modern-multi-tenant-applications-couchbase-7-0\/?ref=blog\" rel=\"noopener\" target=\"_blank\">logical Scopes and Collections<\/a> on top of the JSON document database. This separation lets you organize your data into different schemas and tables \u2013 concepts most RDBMS users are already familiar with. In addition, <a href=\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Scopes and Collections enable finer role-based access control<\/a> to the data you&#8217;ve stored in Couchbase. <\/p>\n<p><em>Note:<\/em> The introduction of Scopes and Collections doesn&#8217;t mean that data of a specific `type` has to be separated and stored in its own Collection. It&#8217;s actually the opposite: a Collection is first and foremost <a href=\"https:\/\/www.couchbase.com\/blog\/json-database\/?ref=blog\" rel=\"noopener\" target=\"_blank\">a collection of JSON documents<\/a>, and as such, you retain all the flexibility of a schema-less database. Or, rather, <em>you<\/em> create the schema your application demands.<\/p>\n<p>With these Index Service optimizations, you might decide to migrate from the Bucket model to the new Collections model \u2013 or you might already have a well-configured <a href=\"https:\/\/www.couchbase.com\/products\/capella\/\" rel=\"noopener\" target=\"_blank\">Couchbase<\/a> cluster. In this article, I&#8217;ll show you a few ways that the Index Service has been optimized to help you decide what&#8217;s best for your deployment. Let&#8217;s dive in.<\/p>\n<h2>The Index Pipeline for the Bucket Model<\/h2>\n<p>The diagram below shows the index build pipeline under the Couchbase Bucket model.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9774\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Screen-Shot-2020-11-15-at-10.49.45-AM.png\" alt=\"The index build pipeline for Couchbase Buckets\" width=\"916\" height=\"262\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.49.45-AM.png 916w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.49.45-AM-300x86.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.49.45-AM-768x220.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.49.45-AM-20x6.png 20w\" sizes=\"auto, (max-width: 916px) 100vw, 916px\" \/><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<ol>\n<li>The projector process in the Data Service is solely responsible for streaming the Bucket data to the Indexing Service.<\/li>\n<li>The projector uses a single Database Change Protocol (DCP) stream to evaluate all mutations to determine if a document should be streamed to the Index Service, based on the index metadata. <\/li>\n<li>The projector streams only the specific columns that the Index Service maintains for its indexes.<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p>If it wasn&#8217;t clear in the above diagram, the projector has to consider <em>all<\/em> Bucket mutations for <em>all<\/em> of the indexes in the cluster. <\/p>\n<h2>The Index Pipeline for the Collection Model<\/h2>\n<p>In the new Collection model of Couchbase 7.0, DCP streaming between the Data and Index Service is at the Collection level. While this change implies more DCP streams, it actually benefits downstream processing when the projector decides which Index Service it will send the mutations to.<\/p>\n<p>There is a small difference on how this works for the initial index build vs. the index updates. First, let&#8217;s look at the initial index build process under the new Collections model.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9775\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Screen-Shot-2020-11-15-at-10.51.10-AM.png\" alt=\"Optimization performance for the initial index build in Couchbase Collections\" width=\"949\" height=\"611\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.51.10-AM.png 949w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.51.10-AM-300x193.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.51.10-AM-768x494.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.51.10-AM-20x13.png 20w\" sizes=\"auto, (max-width: 949px) 100vw, 949px\" \/><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<ol>\n<li>Indexes are created on a per-Collection basis.<\/li>\n<li>A DCP stream is created for each Collection during the initial index build, resulting in a smaller workload for the projector.<\/li>\n<li>The projector no longer needs to evaluate the index `WHERE` clause to determine if a mutation qualifies for the index.<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p>Now let&#8217;s take a look at the new index update process in Couchbase 7.0:<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-9776\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM.png\" alt=\"The new index update process in Couchbase Server 7.0\" width=\"947\" height=\"630\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM.png 947w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM-300x200.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM-768x511.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screen-Shot-2020-11-15-at-10.52.05-AM-20x13.png 20w\" sizes=\"auto, (max-width: 947px) 100vw, 947px\" \/><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<ol>\n<li>The DCP stream data is now prefixed with `collection id` so the projector knows  which index to send the change to.<\/li>\n<li>The projector no longer needs to evaluate the index `WHERE` clause.<\/li>\n<li>The index ingestion check is limited to indexes defined on the updated document\u2019s Collection, instead of all indexes in the Bucket. This limitation results in significant savings in terms of CPU and disk I\/O<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<h2>Conclusion<\/h2>\n<p>From a configuration standpoint, the introduction of Couchbase Collections doesn&#8217;t require you to change anything for the Index Service. However, you do need to specify the Collection name \u2013 instead of just the Bucket name \u2013 when creating indexes on a specific Collection. <\/p>\n<p>The 7.0 release implemented these changes to give you the advantage of working with smaller datasets instead of handling mutations across an entire Bucket. This small-data benefit permeates all the stages of the Index Service \u2013 from the projector through the indexer to the downstream storage layer. <\/p>\n<p>If you want to learn more about the Couchbase Server 7.0 release, <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/introduction\/whats-new.html?ref=blog\" rel=\"noopener\" target=\"_blank\">check out What&#8217;s New<\/a> and\/or <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/release-notes\/relnotes.html?ref=blog\" rel=\"noopener\" target=\"_blank\">the 7.0 release notes<\/a>.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 30px;\" aria-hidden=\"true\"> <\/div>\n<div style=\"text-align:center;\"><strong>Give the new Index Service a test drive with <em>your<\/em> dataset:<br \/>\n<a href=\"https:\/\/www.couchbase.com\/downloads\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Try out Couchbase 7.0 today<\/a><\/strong><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px;\" aria-hidden=\"true\"> <\/div>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Index builds and updates just got a big performance upgrade with the introduction of Scopes and Collections in Couchbase 7. The Couchbase Server 7.0 release introduces the separation of Bucket data into logical Scopes and Collections on top of the [&hellip;]<\/p>\n","protected":false},"author":26326,"featured_media":11692,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,8905,1816,9336],"tags":[1580,1977,1976,2312,1696,1261,1385],"ppma_author":[8919],"class_list":["post-9773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-couchbase-global-secondary-index","category-couchbase-server","category-scopes-and-collections","tag-data-service","tag-database-change-protocol","tag-dcp","tag-document-database","tag-indexing","tag-json","tag-rdbms"],"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>Here&#039;s How the Index Service Got Upgraded for Couchbase 7.0<\/title>\n<meta name=\"description\" content=\"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.\" \/>\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\/indexing-service-optimizations-with-couchbase-collections\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Here&#039;s How the Index Service Got Upgraded for Couchbase 7.0\" \/>\n<meta property=\"og:description\" content=\"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-12T07:00:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:27:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0-social.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"418\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Binh Le\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0-social.jpg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Binh Le\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\"},\"author\":{\"name\":\"Binh Le\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63\"},\"headline\":\"Here&#8217;s How the Index Service Got Upgraded for Couchbase 7.0\",\"datePublished\":\"2021-08-12T07:00:28+00:00\",\"dateModified\":\"2025-06-14T02:27:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\"},\"wordCount\":663,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg\",\"keywords\":[\"data service\",\"Database Change Protocol\",\"DCP\",\"document database\",\"Indexing\",\"JSON\",\"RDBMS\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Global Secondary Index\",\"Couchbase Server\",\"Scopes and Collections\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\",\"name\":\"Here's How the Index Service Got Upgraded for Couchbase 7.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg\",\"datePublished\":\"2021-08-12T07:00:28+00:00\",\"dateModified\":\"2025-06-14T02:27:01+00:00\",\"description\":\"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg\",\"width\":1200,\"height\":628,\"caption\":\"Learn how builds and updates in the Index Service benefit from Scopes and Collections in Couchbase 7\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Here&#8217;s How the Index Service Got Upgraded for Couchbase 7.0\"}]},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\/f89064928e262c71eb43bee996c48c63\",\"name\":\"Binh Le\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5b68c37e30928a9d7b2c8470b1a303b7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g\",\"caption\":\"Binh Le\"},\"description\":\"Binh Le is a Principal Product Manager for Couchbase Query service. Prior to Couchbase, he worked at Oracle and led the product management team for Sales Cloud Analytics and CRM OnDemand. Binh holds a Bachelor's Degree in Computer Science from the University of Brighton, UK.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/binh-le-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Here's How the Index Service Got Upgraded for Couchbase 7.0","description":"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.","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\/indexing-service-optimizations-with-couchbase-collections\/","og_locale":"en_US","og_type":"article","og_title":"Here's How the Index Service Got Upgraded for Couchbase 7.0","og_description":"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.","og_url":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-08-12T07:00:28+00:00","article_modified_time":"2025-06-14T02:27:01+00:00","og_image":[{"width":800,"height":418,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0-social.jpg","type":"image\/jpeg"}],"author":"Binh Le","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0-social.jpg","twitter_misc":{"Written by":"Binh Le","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/"},"author":{"name":"Binh Le","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/f89064928e262c71eb43bee996c48c63"},"headline":"Here&#8217;s How the Index Service Got Upgraded for Couchbase 7.0","datePublished":"2021-08-12T07:00:28+00:00","dateModified":"2025-06-14T02:27:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/"},"wordCount":663,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg","keywords":["data service","Database Change Protocol","DCP","document database","Indexing","JSON","RDBMS"],"articleSection":["Couchbase Architecture","Couchbase Global Secondary Index","Couchbase Server","Scopes and Collections"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/","url":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/","name":"Here's How the Index Service Got Upgraded for Couchbase 7.0","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg","datePublished":"2021-08-12T07:00:28+00:00","dateModified":"2025-06-14T02:27:01+00:00","description":"Discover how the introduction of Scopes and Collections in Couchbase Server 7.0 gives a major performance boost to the Index Service for builds and updates.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/12\/index-service-builds-and-updates-performance-boost-couchbase-server-7-0.jpg","width":1200,"height":628,"caption":"Learn how builds and updates in the Index Service benefit from Scopes and Collections in Couchbase 7"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/indexing-service-optimizations-with-couchbase-collections\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Here&#8217;s How the Index Service Got Upgraded for Couchbase 7.0"}]},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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\/f89064928e262c71eb43bee996c48c63","name":"Binh Le","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/5b68c37e30928a9d7b2c8470b1a303b7","url":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","caption":"Binh Le"},"description":"Binh Le is a Principal Product Manager for Couchbase Query service. Prior to Couchbase, he worked at Oracle and led the product management team for Sales Cloud Analytics and CRM OnDemand. Binh holds a Bachelor's Degree in Computer Science from the University of Brighton, UK.","url":"https:\/\/www.couchbase.com\/blog\/author\/binh-le-2\/"}]}},"authors":[{"term_id":8919,"user_id":26326,"is_guest":0,"slug":"binh-le-2","display_name":"Binh Le","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a939f48df6447844a8780bec264bb3be21d589336f3915fabc557075a68fa374?s=96&d=mm&r=g","author_category":"","last_name":"Le","first_name":"Binh","job_title":"","user_url":"","description":"Binh Le is a Principal Product Manager for Couchbase Query service. Prior to Couchbase, he worked at Oracle and led the product management team for Sales Clould Analytics and CRM OnDemand. Binh holds a Bachelor's Degree in Computer Science from the University of Brighton, UK."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/9773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/26326"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=9773"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/9773\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/11692"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=9773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=9773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=9773"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=9773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}