{"id":7340,"date":"2019-08-09T10:00:52","date_gmt":"2019-08-09T17:00:52","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=7340"},"modified":"2025-06-13T20:46:20","modified_gmt":"2025-06-14T03:46:20","slug":"exercising-control-on-quality-of-service-using-xdcr","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/","title":{"rendered":"Exercising Control on Quality of Service Using XDCR"},"content":{"rendered":"<p><span style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/products\/xdcr\/\">XDCR<\/a>, by design, provides customers the flexibility to tune the number of replications for a given bucket depending on the desired performance. <\/span><span style=\"font-weight: 400\">New replication requires streaming all existing documents in the bucket, and, therefore, it exhibits a higher mutation rate than ongoing mutations. As such, new replication uses more resources, which <\/span><span style=\"font-weight: 400\">would sometimes negatively impact the throughput of existing replications in the meantime. With our upcoming 6.5 release, <a href=\"https:\/\/www.couchbase.com\/products\/xdcr\/\">XDCR<\/a> will provide users the ability to prioritize ongoing replications over initial replications. Resource allocation will happen based on the specified priority.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">When creating a new replication, the customer has a choice to assign priorities to the replication stream. The options provided would be\u00a0 HIGH, MEDIUM or LOW.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For our understanding, let\u2019s assume that on-going replications are HIGH and consider the below mentioned scenarios for new replications :<\/span><\/p>\n<p><span style=\"font-weight: 400\">HIGH :<\/span><\/p>\n<p><span style=\"font-weight: 400\">The maximum resource allocation would be provided to this new replication during the initial backfill stage (until all the mutations in the source bucket are replicated to target bucket). This may have some negative impact on the performance of existing replications.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This can be extremely useful in workload distribution and data locality use cases where the customers would want to get a new cluster added to the topology, have it up and running immediately and would like to ensure consistency across clusters as soon as possible.\u00a0\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This is the current XDCR behavior and will also be the default configuration.<\/span><\/p>\n<p><span style=\"font-weight: 400\">MEDIUM :<\/span><\/p>\n<p><span style=\"font-weight: 400\">The new replication will be given minimal resources during the backfill stage to slowly catch up to be in parity with the on-going replications. Once, the replication is all caught up, the priority for this replication stream will automatically be changed to HIGH and the resource distribution will be uniform across all HIGH replications.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This is a useful setting for high availability and disaster recovery use cases. When a customer does not want to have any negative impact to the existing clusters and can afford to wait for a new cluster to be caught up, this is a perfect setting.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">LOW :<\/span><\/p>\n<p><span style=\"font-weight: 400\">The new replication will be given minimal resources throughout the replication process. During initial replication and during on-going replication stages, this stream will be given lower priority.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This is a useful setting when a customer wants to set up a hot and cold cluster, where they can afford slow replication performance for the cold cluster with minimal resource allocation.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">For the users of XDCR, there only one visible change:<\/span><\/p>\n<p><span style=\"font-weight: 400\">A new replication setting, \u201cPriority\u201d, will be added to replication creation and edit views. It will take three possible values, High\/Medium\/Low.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-7400\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM-300x289.png\" alt=\"\" width=\"300\" height=\"289\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM-300x289.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM-1024x985.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM-768x739.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Screen-Shot-2019-08-05-at-6.45.48-PM.png 1058w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><span style=\"font-weight: 400\">As replication performance is heavily dependent on network bandwidth and allocated CPU, customers can allocate the priorities depending on the criticality of the business need and conserve resources. Effective utilization of this functionality by assigning priorities based on the business need could lead to reduced cost of ownership especially for cloud deployments.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">The resource management updates via assigning priorities is completely optional. They can be modified at any point in the future, without any negative impact such as replication restarts.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Replication prioritization provides customers with improved control over their resource management. This feature improves XDCR\u2019s overall replication behavior as we can choose to not have any impact on on-going replications due to newly created replications.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">All these changes can also be made via CLI\/REST API. For more details, please read documentation.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Please share your experience on using this feature via comments or in our forum.\u00a0\u00a0<\/span><\/p>\n<p class=\"p1\"><b>Resources<\/b><\/p>\n<p class=\"p1\"><i>Download<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/couchbase.com\/downloads?family=server&amp;product=couchbase-server-developer\">Download Couchbase Server 6.5<\/a><\/span><\/p>\n<p class=\"p1\"><i>\u00a0<\/i><i>Documentation<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/release-notes\/relnotes.html\">Couchbase Server 6.5 Release Notes<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/docs.couchbase.com\/server\/6.5\/introduction\/whats-new.html\">Couchbase Server 6.5 What\u2019s New<\/a><\/span><\/p>\n<p class=\"p1\"><i>Blogs<\/i><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/announcing-couchbase-server-6-5-0-beta-whats-new-and-improved\/\">Blog: Announcing Couchbase Server 6.5 GA \u2013 What\u2019s New and Improved<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/couchbase-brings-distributed-multi-document-acid-transactions-to-nosql\/\">Blog: Couchbase brings Distributed Multi-document ACID Transactions to NoSQL<\/a><\/span><\/p>\n<p class=\"p2\"><span class=\"s1\"><a href=\"https:\/\/www.couchbase.com\/blog\/tag\/6-5\/\"><b>All 6.5 Blogs<\/b><\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>XDCR, by design, provides customers the flexibility to tune the number of replications for a given bucket depending on the desired performance. New replication requires streaming all existing documents in the bucket, and, therefore, it exhibits a higher mutation rate [&hellip;]<\/p>\n","protected":false},"author":6588,"featured_media":11844,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,1821,2225,1816,9415],"tags":[1952,2127,2126],"ppma_author":[9064],"class_list":["post-7340","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-architecture","category-cloud","category-couchbase-server","category-xdcr","tag-data-replication","tag-disaster-recovery","tag-high-availability"],"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>Exercising Control on Quality of Service Using XDCR - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Exercising Control on Quality of Service Using XDCR\" \/>\n<meta property=\"og:description\" content=\"XDCR, by design, provides customers the flexibility to tune the number of replications for a given bucket depending on the desired performance. New replication requires streaming all existing documents in the bucket, and, therefore, it exhibits a higher mutation rate [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-09T17:00:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:46:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1590\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\" \/>\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\/exercising-control-on-quality-of-service-using-xdcr\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\"},\"author\":{\"name\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/852cd95d6c8aa5ea6d4128643cc3c2b6\"},\"headline\":\"Exercising Control on Quality of Service Using XDCR\",\"datePublished\":\"2019-08-09T17:00:52+00:00\",\"dateModified\":\"2025-06-14T03:46:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\"},\"wordCount\":621,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg\",\"keywords\":[\"Data Replication\",\"Disaster Recovery\",\"High Availability\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Capella\",\"Couchbase Server\",\"Cross Data Center Replication (XDCR)\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\",\"name\":\"Exercising Control on Quality of Service Using XDCR - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg\",\"datePublished\":\"2019-08-09T17:00:52+00:00\",\"dateModified\":\"2025-06-14T03:46:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg\",\"width\":1590,\"height\":628,\"caption\":\"Cross Data Center Replication (XDCR)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Exercising Control on Quality of Service Using XDCR\"}]},{\"@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\/852cd95d6c8aa5ea6d4128643cc3c2b6\",\"name\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/459272ec41e39279e1f7784a97a6b106\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g\",\"caption\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\"},\"description\":\"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/chaitra\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Exercising Control on Quality of Service Using XDCR - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/","og_locale":"en_US","og_type":"article","og_title":"Exercising Control on Quality of Service Using XDCR","og_description":"XDCR, by design, provides customers the flexibility to tune the number of replications for a given bucket depending on the desired performance. New replication requires streaming all existing documents in the bucket, and, therefore, it exhibits a higher mutation rate [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-08-09T17:00:52+00:00","article_modified_time":"2025-06-14T03:46:20+00:00","og_image":[{"width":1590,"height":628,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg","type":"image\/jpeg"}],"author":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/"},"author":{"name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/852cd95d6c8aa5ea6d4128643cc3c2b6"},"headline":"Exercising Control on Quality of Service Using XDCR","datePublished":"2019-08-09T17:00:52+00:00","dateModified":"2025-06-14T03:46:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/"},"wordCount":621,"commentCount":1,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg","keywords":["Data Replication","Disaster Recovery","High Availability"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Architecture","Couchbase Capella","Couchbase Server","Cross Data Center Replication (XDCR)"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/","url":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/","name":"Exercising Control on Quality of Service Using XDCR - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg","datePublished":"2019-08-09T17:00:52+00:00","dateModified":"2025-06-14T03:46:20+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/08\/Transactions-alternative-xdcr.jpeg","width":1590,"height":628,"caption":"Cross Data Center Replication (XDCR)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/exercising-control-on-quality-of-service-using-xdcr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Exercising Control on Quality of Service Using XDCR"}]},{"@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\/852cd95d6c8aa5ea6d4128643cc3c2b6","name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/459272ec41e39279e1f7784a97a6b106","url":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","caption":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc."},"description":"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management.","url":"https:\/\/www.couchbase.com\/blog\/author\/chaitra\/"}]}},"authors":[{"term_id":9064,"user_id":6588,"is_guest":0,"slug":"chaitra","display_name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","author_category":"","last_name":"Ramarao, Sr. Product Manager, Couchbase Inc.","first_name":"Chaitra","job_title":"","user_url":"","description":"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/7340","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\/6588"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=7340"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/7340\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/11844"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=7340"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=7340"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=7340"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=7340"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}