{"id":2249,"date":"2016-05-19T22:59:51","date_gmt":"2016-05-19T22:59:51","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2249"},"modified":"2025-10-09T07:13:03","modified_gmt":"2025-10-09T14:13:03","slug":"faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/","title":{"rendered":"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes &#8211; PART II"},"content":{"rendered":"<p dir=\"ltr\" style=\"margin-top: 0pt;margin-bottom: 0pt;line-height: 1.38;color: #333333;text-align: left\">In <a href=\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\">PART I<\/a>, we have covered the differences in indexing with local and global indexes. We have also concluded with the 2 storage options Couchbase Server provides for global secondary indexes: standard GSI and memory\u00a0optimized GSI. Lets dive into memory optimized GSI now;<\/p>\n<h2 dir=\"ltr\" style=\"margin-top: 0pt;margin-bottom: 0pt;line-height: 1.38;color: #333333;text-align: left\">What is a Memory Optimized Global Secondary Index?<\/h2>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\"><span style=\"line-height: 20.8px\">In <a href=\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi\/\">previous post covering global vs local indexes<\/a>, we talked extensively about how global indexes reduce query latency vs local indexes. We also saw how challenging it can be to maintain these global indexes: Global indexes\u00a0require a subset of nodes to keep up with a large cluster of nodes. In the case of Couchbase Server, 10-100K ops\/sec is the norm for a cluster. <\/span><\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">Challenges<span style=\"line-height: 20.8px\">\u00a0do\u00a0not end there!\u00a0Global indexing can be even more challenging in cases like array-indexes (read more about array indexes\u00a0<\/span><a style=\"line-height: 20.8px;background-color: #ffffff\" href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/n1ql\/n1ql-language-reference\/indexing-arrays.html\">here<\/a><span style=\"line-height: 20.8px\">). Array indexes index the elements of an <\/span>embedded<span style=\"line-height: 20.8px\">\u00a0array in a JSON document and the mutations to documents with arrays\u00a0amplify a document<\/span><span style=\"line-height: 20.8px\">\u00a0to many index writes.\u00a0<\/span>Memory optimized global secondary index (MOI) is purpose built to solve the challenges\u00a0for these most demanding applications &#8211;\u00a0<em>travel-itinerary, score-board\u00a0<\/em>and<em>\u00a0fraud detection<\/em>\u00a0&#8211; no problem!<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">MOI can provide over 10x better latency and throughput under faster mutations to data compared to standard GSI\u00a0and here is how it does that:<\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt;color: #333333;line-height: 20.8px;text-align: left\">\n<li>Lock-free processing for indexing\u00a0simply allows massive concurrency when maintaining\u00a0the incoming mutation to the index.<\/li>\n<li>Skiplist structure optimize in-memory storage, as opposed to B+Tree indexes.<\/li>\n<li>Forcing the index into memory storage, means MOI does not run at disk speeds for storing the index &#8211; instead it take regular snapshots to disk for recovery only.<\/li>\n<\/ol>\n<h3 style=\"color: #333333;text-align: left\">Memory Optimized vs. Standard Global Secondary Indexes<\/h3>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">Memory optimized indexes are added in 4.5 as an additional storage option for GSIs. Standard global secondary indexes have been there since version 4.0.\u00a0Administrators can configure GSI with either the standard GSI storage, which uses ForestDB underneath, for indexes that cannot fit in memory\u00a0or can pick the memory optimized GSI for faster in-memory\u00a0indexing and queries.<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\"><span style=\"line-height: 20.8px\">Typically, indexes are created to lower query latencies and keeping indexes in memory reduces latencies a great deal more! MOI is designed for lower latency and <\/span>highest<span style=\"line-height: 20.8px\">\u00a0throughput needs and\u00a0MOI require machines with large memory to keep the index in RAM. Standard GSI can spill to disk when memory runs out. IO Subsystem performance becomes <\/span>extremely<span style=\"line-height: 20.8px\">\u00a0important for standard GSI to be able to perform\u00a0well.\u00a0However unlike standard GSI, h<\/span><span style=\"line-height: 20.8px\">igh performance IO subsystem is not required for MOI.\u00a0As MOI runs at in-memory speeds, initial and ongoing indexing times are faster with MOI compared to Standard GSI.\u00a0<\/span><\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">The following table summarizes the major differences between standard vs memory optimized GSIs;<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi---part-ii\/indexingdeepdive.jpg\" \/><\/p>\n<h3 style=\"color: #333333;text-align: left\">Creating and Managing Memory Optimized GSIs<\/h3>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">Regardless of the store type, CREATE INDEX is the way to create global secondary indexes in Couchbase Server. In fact there are no MOI specific options in CREATE INDEX statement.\u00a0In general, high-availability and partitioning mechanics stay the same with standards vs memory optimized GSI. However it is important to note that MOI comes with additional stats and alerts to help with placement of indexes and with managing indexes.<\/p>\n<h4 style=\"font-size: 13px;color: #333333;text-align: left\">Placing Memory Optimized Indexes in Couchbase Server Cluster<\/h4>\n<p>Memory optimized indexes provide 2 important stats that can guide placement of MOI with the NODES clause on <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/n1ql\/n1ql-language-reference\/createindex.html\">CREATE INDEX<\/a>.<\/p>\n<ul>\n<li><strong>MAX Index RAM Used %:<\/strong> Reports the max ram quota used in percent (%) through the cluster and on each node both real-time and with a history over minutes, hours, days, weeks and more.<\/li>\n<li><strong>Remaining Index RAM: <\/strong>Reports the free index RAM quota for the cluster as a total and on each node both real-time and with a history over minutes, hours, days weeks and more.<\/li>\n<\/ul>\n<p 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---part-ii\/moistats.jpg\" \/><\/p>\n<p>When placing the next memory optimized index, you can look at the availability of memory on the node and place your index bases on the size in memory.<\/p>\n<h4 style=\"color: #333333;line-height: 20.8px;text-align: left\">Alerts with Memory Optimized Indexes<\/h4>\n<p>Running out of memory pauses the indexing with MOI so\u00a0It is important for administrators to be able to visually see if a node is approaching its RAM quota. The MAX Index RAM Used % stat (discussed above) is built exactly for that. There is also an alert that will alert the interactive user or will notify admins through email. The alert <em>&#8220;approaching full indexer RAM quota&#8221;<\/em>,\u00a0fires if over\u00a075% of Indexer\u00a0RAM Quota is exhausted on any node in the cluster. You can configure the alerts in the Web Console under settings.<\/p>\n<p 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---part-ii\/moialert2.jpg\" \/><\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">Technical documentation provides more detailed information on MOI and GSI in general. You can read more about how to select the storage mode for GSI and how to administer Index service and GSIs in the admins guide\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/indexes\/gsi-for-n1ql.html\">here<\/a>\u00a0and find the architecture guide for Indexing service and indexers\u00a0<a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/architecture\/views-indexing-index-service.html\">here<\/a>.<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">In <a href=\"https:\/\/www.couchbase.com\/blog\/efficient-io-with-circular-writes-on-global-indexes-in-couchbase-server-4.5\/\">Part III<\/a> of the series, we will be talking about the new Circular Write Mode with Standard Global Indexes and how Circular Write Mode improves the IO Performance when Indexing data in Couchbase Server 4.5.<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">Happy hacking<\/p>\n<p style=\"color: #333333;line-height: 20.8px;text-align: left\">-Cihan<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In PART I, we have covered the differences in indexing with local and global indexes. We have also concluded with the 2 storage options Couchbase Server provides for global secondary indexes: standard GSI and memory\u00a0optimized GSI. Lets dive into memory [&hellip;]<\/p>\n","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-2249","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 v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Memory Optimized Global Secondary Indexes - Faster Indexing and Query<\/title>\n<meta name=\"description\" content=\"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.\" \/>\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\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes - PART II\" \/>\n<meta property=\"og:description\" content=\"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-19T22:59:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:13:03+00:00\" \/>\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=\"5 minutes\" \/>\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-part-ii\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\"},\"author\":{\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\"},\"headline\":\"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes &#8211; PART II\",\"datePublished\":\"2016-05-19T22:59:51+00:00\",\"dateModified\":\"2025-10-09T14:13:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\"},\"wordCount\":841,\"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-part-ii\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\",\"name\":\"Memory Optimized Global Secondary Indexes - Faster Indexing and Query\",\"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-part-ii\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-19T22:59:51+00:00\",\"dateModified\":\"2025-10-09T14:13:03+00:00\",\"description\":\"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#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-part-ii\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes &#8211; PART II\"}]},{\"@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\/3d8c60500ca29254fcdb2f76f29fb088\",\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\/author\/cihan-biyikoglu\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Memory Optimized Global Secondary Indexes - Faster Indexing and Query","description":"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.","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\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/","og_locale":"en_US","og_type":"article","og_title":"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes - PART II","og_description":"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.","og_url":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-19T22:59:51+00:00","article_modified_time":"2025-10-09T14:13:03+00:00","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":"5 minutes"},"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-part-ii\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/"},"author":{"name":"Cihan Biyikoglu, Director of Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088"},"headline":"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes &#8211; PART II","datePublished":"2016-05-19T22:59:51+00:00","dateModified":"2025-10-09T14:13:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/"},"wordCount":841,"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-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["SQL++ \/ N1QL Query"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/","url":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/","name":"Memory Optimized Global Secondary Indexes - Faster Indexing and Query","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-part-ii\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-19T22:59:51+00:00","dateModified":"2025-10-09T14:13:03+00:00","description":"See what is Memory Optimized Global Secondary and learn the differences between standard Global Secondary Indexes vs memory optimized GSIs.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/faster-indexing-and-query-with-memory-optimized-global-secondary-indexes-gsi-part-ii\/#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-part-ii\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Faster Indexing and Query: Introducing Memory Optimized Global Secondary Indexes &#8211; PART II"}]},{"@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\/3d8c60500ca29254fcdb2f76f29fb088","name":"Cihan Biyikoglu, Director of Product Management, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@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\/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","author_category":"","last_name":"Biyikoglu","first_name":"Cihan","job_title":"","user_url":"","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."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2249","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\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2249"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2249\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=2249"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2249"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2249"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2249"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}