{"id":5181,"date":"2018-05-22T10:30:07","date_gmt":"2018-05-22T17:30:07","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5181"},"modified":"2025-06-13T23:14:57","modified_gmt":"2025-06-14T06:14:57","slug":"data-synchronization-offline-first-apps-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/","title":{"rendered":"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps"},"content":{"rendered":"<p><a href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/2.0\/guides\/sync-gateway\/index.html\">Couchbase Sync Gateway<\/a> is a key Internet facing component of Couchbase Mobile stack that enables secure data syncronization across Couchbase Lite enabled clients. <a href=\"https:\/\/www.couchbase.com\/blog\/couchbase-mobile-2-0\/\">Couchbase Mobile 2.0<\/a> introduced a brand new websockets based <a href=\"https:\/\/www.couchbase.com\/blog\/data-replication-couchbase-mobile\/\">replication protocol<\/a> for data syncronization that is more efficient than it\u2019s HTTP based predecessor.<\/p>\n<p>In our previous <a href=\"https:\/\/www.couchbase.com\/blog\/tutorial-query-prebuilt-couchbase-lite-database-swift-app\/\">tutorials<\/a>, we discussed how to use Couchbase Lite as a standalone embedded data store within your iOS app. In this post, we introduce a <a href=\"https:\/\/docs.couchbase.com\/tutorials\/userprofile-couchbase-mobile\/sync\/userprofile\/userprofile_sync.html\"><strong>tutorial<\/strong><\/a> that will extend the capabilities of Couchbase Lite enabled clients to incorporate data sync using a Sync Gateway.<\/p>\n<h2 id=\"datasynchronization\">Data Synchronization<\/h2>\n<p>Data Synchronization is critical for enabling <strong>offline-first<\/strong> mobile apps. Offline-first apps are apps that regularly need network connectivity to function but are usable even under conditions of no or poor network connectivity. The two critical aspects of enabling this is<br \/>\n&#8211; The ability to locally store data on the device so it is always available to the user , whether online or offline<br \/>\n&#8211; The ability to sync data to the cloud so it is available to the users on other devices when online. This includes secure routing of data across devices, enforcement of access conflict and handling of data conflicts.<\/p>\n<h2 id=\"tutorial\">Tutorial<\/h2>\n<p>This <a href=\"https:\/\/docs.couchbase.com\/tutorials\/userprofile-couchbase-mobile\/sync\/userprofile\/userprofile_sync.html\"><strong>tutorial<\/strong><\/a> will demonstrate how to &#8211;<\/p>\n<ul>\n<li>Setup the Couchbase Sync Gateway (in walrus mode) to sync content between multiple Couchbase Lite enabled clients. We will cover the basics of the <a href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/2.0\/guides\/sync-gateway\/config-properties\/index.html\">Sync Gateway Configuration<\/a><\/li>\n<li>Configure your Sync Gateway to enforce data routing, access control and authorization. We will cover the basics of the <a href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/2.0\/guides\/sync-gateway\/sync-function-api-guide\/index.html\">Sync Function API<\/a><\/li>\n<li>Configure your Couchbase Lite clients for replication<\/li>\n<li>Use \u201cLive Queries\u201d or Query events within your Couchbase Lite clients to be asyncronously notified of changes<\/li>\n<\/ul>\n<p>We will be usiing a Swift App as an example of a Couchbase Lite enabled client.<\/p>\n<h2 id=\"appoverview\">App Overview<\/h2>\n<p>We will be working with the \u201cUser Profile\u201d app which we introduced in the <a href=\"https:\/\/docs.couchbase.com\/tutorials\/userprofile-couchbase-mobile\/standalone\/userprofile\/userprofile_basic.html\">Fundamentals Tutorial<\/a> and extended in the <a href=\"https:\/\/docs.couchbase.com\/tutorials\/userprofile-couchbase-mobile\/query\/userprofile\/userprofile_query.html\">Query Tutorial<\/a>. In this tutorial, we will be extending that app to support data sync.<\/p>\n<p>This version of the app does the following &#8211;<\/p>\n<ul>\n<li>Allows users to log in and create or update his\/her user profile information. The user profile view is <em>automatically updated<\/em> everytime the profile information changes in the underlying database<\/li>\n<li>The user profile information is synced with a remote Sync Gateway which then syncs it to other devices (subject to access control and routing configurations specified in the <code>sync function<\/code>)<\/li>\n<\/ul>\n<figure><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/05\/userprofile_app_overview.gif\" alt=\"User Profile with Sync App Overview\" \/><\/figure>\n<h2 id=\"nextsteps\">Next Steps<\/h2>\n<p>At the end of the tutorial, you should have an understanding of how to securely enable data synchronization using a Sync Gateway. You should gain familiarity with the fundamentals of how to enforce access control, data validation and authorization within your Sync Gateway as well as how to register for query events from within your app.<br \/>\nHowever, as you would observe from the tutorial, we are using Sync Gateway in \u201cwalrus mode\u201d and hence, we are not persisting the data in the cloud.<br \/>\nStay tuned for a future tutorial that will extend this system to incorporate the Couchbase server for data persistence in the cloud.<br \/>\nIf\u00a0you have questions or feedback, please leave a comment below or feel free to reach out to me at Twitter\u00a0<a href=\"https:\/\/twitter.com\/rajagp\">@rajagp<\/a>\u00a0or email me at\u00a0<a href=\"mailto:priya.rajagopal@couchbase.com\">priya.rajagopal@couchbase.com<\/a>. The\u00a0<a href=\"https:\/\/www.couchbase.com\/forums\/\">Couchbase Forums<\/a> are another good place to reach out with\u00a0questions.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couchbase Sync Gateway is a key Internet facing component of Couchbase Mobile stack that enables secure data syncronization across Couchbase Lite enabled clients. Couchbase Mobile 2.0 introduced a brand new websockets based replication protocol for data syncronization that is more [&hellip;]<\/p>\n","protected":false},"author":1423,"featured_media":5184,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1821,7667,1810,1813,2366],"tags":[1741,2004,1536,1962,1909,1953,2215],"ppma_author":[8948],"class_list":["post-5181","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-lite","category-couchbase-mobile","category-security","category-sync-gateway","tag-channels","tag-couchbase-mobile-2-0","tag-ios","tag-role-based-access-control","tag-swift","tag-sync-function","tag-user-profile"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Getting Started with Data Synchronization - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.\" \/>\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\/data-synchronization-offline-first-apps-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps\" \/>\n<meta property=\"og:description\" content=\"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-22T17:30:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:14:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"557\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps\",\"datePublished\":\"2018-05-22T17:30:07+00:00\",\"dateModified\":\"2025-06-14T06:14:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\"},\"wordCount\":557,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif\",\"keywords\":[\"Channels\",\"couchbase mobile 2.0\",\"ios\",\"Role Based Access Control (RBAC)\",\"swift\",\"sync function\",\"user profile\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Security\",\"Sync Gateway\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\",\"name\":\"Getting Started with Data Synchronization - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif\",\"datePublished\":\"2018-05-22T17:30:07+00:00\",\"dateModified\":\"2025-06-14T06:14:57+00:00\",\"description\":\"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif\",\"width\":600,\"height\":557,\"caption\":\"User Profile With Sync App Overview\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps\"}]},{\"@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\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Getting Started with Data Synchronization - The Couchbase Blog","description":"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.","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\/data-synchronization-offline-first-apps-couchbase\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps","og_description":"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.","og_url":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-05-22T17:30:07+00:00","article_modified_time":"2025-06-14T06:14:57+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif","width":600,"height":557,"type":"image\/gif"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps","datePublished":"2018-05-22T17:30:07+00:00","dateModified":"2025-06-14T06:14:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/"},"wordCount":557,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif","keywords":["Channels","couchbase mobile 2.0","ios","Role Based Access Control (RBAC)","swift","sync function","user profile"],"articleSection":["Best Practices and Tutorials","Couchbase Architecture","Couchbase Lite","Couchbase Mobile","Security","Sync Gateway"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/","name":"Getting Started with Data Synchronization - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif","datePublished":"2018-05-22T17:30:07+00:00","dateModified":"2025-06-14T06:14:57+00:00","description":"This tutorial will introduce you to data sync\/replication across Couchbase Lite iOS apps using Couchbase Sync Gateway. We will walk through the fundamentals of how to configure your Sync Gateway for secure data routing, authorization and access control.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/05\/userprofile_app_overview.gif","width":600,"height":557,"caption":"User Profile With Sync App Overview"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/data-synchronization-offline-first-apps-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Getting Started with Data Synchronization using Couchbase Mobile for Offline-First Apps"}]},{"@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\/c2da90e57717ee4970c48a87a131ac2c","name":"Priya Rajagopal, Senior Director, Product Management","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/5181","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\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=5181"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/5181\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/5184"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=5181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=5181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=5181"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=5181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}