{"id":4386,"date":"2017-12-22T08:24:26","date_gmt":"2017-12-22T16:24:26","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4386"},"modified":"2025-06-13T20:46:34","modified_gmt":"2025-06-14T03:46:34","slug":"deep-dive-cross-data-center-replication-xdcr","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/deep-dive-cross-data-center-replication-xdcr\/","title":{"rendered":"Profundizaci\u00f3n en la replicaci\u00f3n entre centros de datos (XDCR)"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Vimos en un <a href=\"https:\/\/www.couchbase.com\/blog\/es\/replicate-nosql-data-between-datacenters-with-couchbase-xdcr\/\">entrada anterior<\/a> lo f\u00e1cil que es configurar una r\u00e9plica entre centros de datos (<a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/xdcr\/\">XDCR<\/a>), hoy vamos a profundizar un poco m\u00e1s para entender por qu\u00e9 XDCR es una funci\u00f3n tan estupenda.<\/span><\/p>\n<p><span style=\"font-weight: 400\">En primer lugar, XDCR permite replicar datos entre clusters de distintos tama\u00f1os, lo que lo convierte en una excelente opci\u00f3n para<\/span><a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/ha-dr\/ha-dr-intro.html\"> <span style=\"font-weight: 400\">cat\u00e1strofe y recuperaci\u00f3n<\/span><\/a><span style=\"font-weight: 400\"> plan. Aparte de eso, es una forma sencilla pero potente de acercar los datos a sus usuarios.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La replicaci\u00f3n se realiza de memoria a memoria. As\u00ed, todas las escrituras se guardan primero en la memoria y luego se ponen en una cola de replicaci\u00f3n, que las env\u00eda por la red a trav\u00e9s de m\u00faltiples hilos. Por lo tanto, el rendimiento total s\u00f3lo est\u00e1 limitado por la velocidad de la red.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Tambi\u00e9n tiene en cuenta la topolog\u00eda, por lo que cuando se a\u00f1aden o eliminan nodos del cl\u00faster de origen, no es necesario realizar ninguna acci\u00f3n en el cl\u00faster de destino. Restablecer\u00e1 la conexi\u00f3n y se encargar\u00e1 de todo autom\u00e1ticamente.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Adem\u00e1s, permite conocer las zonas de los bastidores, lo que ayuda a protegerse frente a fallos de varios nodos separando los datos activos y sus r\u00e9plicas en \"grupos\" que pueden asignarse de forma que ocupen diferentes bastidores, zonas o hosts de m\u00e1quinas virtuales.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Las r\u00e9plicas se realizan a nivel de bucket (entre buckets de dos o m\u00e1s clusters), y pueden configurarse de la siguiente manera.<\/span><\/p>\n<ul>\n<li><b>Unidireccional:<\/b><span style=\"font-weight: 400\"> S\u00f3lo se replican los datos escritos en uno de los clusters, se utiliza cuando se quiere configurar un cluster standby por ejemplo.<\/span><\/li>\n<li><b>Bidireccional:<\/b><span style=\"font-weight: 400\"> (tambi\u00e9n conocido como despliegue activo-a-activo) donde ambos clusters pueden escribir datos y todos los cambios se sincronizan entre ellos. En resumen, un mapeo bidireccional no es m\u00e1s que dos r\u00e9plicas unidireccionales que apuntan la una a la otra.<\/span><\/li>\n<li><b>H\u00edbrido:<\/b><span style=\"font-weight: 400\"> Una combinaci\u00f3n de topolog\u00edas bidireccional y unidireccional.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Gracias a DCP, tambi\u00e9n puede pausar la replicaci\u00f3n en cualquier momento y, una vez reanudada, la recuperaci\u00f3n comienza en el punto de control m\u00e1s reciente.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4388\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-300x121.png\" alt=\"\" width=\"899\" height=\"363\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-300x121.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-1024x413.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-768x310.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-1536x619.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-2048x825.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM-1320x532.png 1320w\" sizes=\"auto, (max-width: 899px) 100vw, 899px\" \/><\/p>\n<h3><span style=\"font-weight: 400\">Protocolo de cambio de base de datos<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Database Change Protocol (DCP) es un protocolo de flujo de alto rendimiento que utilizamos internamente para comunicar el estado de los datos mediante un registro de cambios ordenado. Es robusto y resistente ante errores transitorios, por ejemplo, si se interrumpe la comunicaci\u00f3n, DCP es capaz de reanudarla desde el punto exacto de la \u00faltima actualizaci\u00f3n realizada con \u00e9xito una vez recuperada la conectividad.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Tambi\u00e9n est\u00e1 optimizado para enviar s\u00f3lo los datos necesarios. Por ejemplo, si hay varios cambios en un documento, solo se marca la versi\u00f3n m\u00e1s reciente para replicarla.<\/span><\/p>\n<p><span style=\"font-weight: 400\">XDCR se basa en DCP para propagar los cambios. De esta forma garantiza que el mismo documento se replicar\u00e1 entre todos los clusters independientemente de los problemas de conectividad.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\">Destaquemos tambi\u00e9n otras dos interesantes funciones de XDCR: la resoluci\u00f3n de conflictos y el filtrado de datos:<\/span><\/p>\n<h3><b>Resoluci\u00f3n de conflictos<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Un conflicto se produce cuando el mismo documento se modifica en dos ubicaciones distintas antes de que se haya sincronizado entre ellas. Para mantener la coherencia, hay que elegir una versi\u00f3n como la \"correcta\". La resoluci\u00f3n de conflictos proporciona un m\u00e9todo para seleccionar de forma coherente y determinista qu\u00e9 versi\u00f3n del documento debe utilizarse.<\/span><\/p>\n<p><span style=\"font-weight: 400\">La resoluci\u00f3n de conflictos de Couchbase se establece durante la creaci\u00f3n del cubo y no se puede cambiar m\u00e1s tarde. Actualmente, se soportan dos tipos de resoluci\u00f3n de conflictos: Timestamp y Sequence Number.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4387\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-832x1024.png\" alt=\"\" width=\"551\" height=\"678\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-832x1024.png 832w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-244x300.png 244w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-768x945.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-300x369.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM-16x20.png 16w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-5.39.52-PM.png 1055w\" sizes=\"auto, (max-width: 551px) 100vw, 551px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h4><b>N\u00famero de secuencia<\/b><\/h4>\n<p><span style=\"font-weight: 400\">Despu\u00e9s de cada mutaci\u00f3n en un documento incrementamos un contador llamado <\/span><b>n\u00famero de revisi\u00f3n<\/b><span style=\"font-weight: 400\">de modo que cuando haya un conflicto entre dos documentos, el que tenga el n\u00famero de revisi\u00f3n m\u00e1s alto tendr\u00e1 prioridad en ambos cl\u00fasteres.<\/span><\/p>\n<h4><b>Marca de tiempo<\/b><\/h4>\n<p><span style=\"font-weight: 400\">La resoluci\u00f3n de conflictos basada en marcas de tiempo (TCR) es el mecanismo de resoluci\u00f3n de conflictos m\u00e1s utilizado en las bases de datos. La TCR resuelve los conflictos seleccionando el documento con la marca de tiempo m\u00e1s reciente. Para que esto sea posible, es esencial que las marcas de tiempo creadas por cada servidor est\u00e9n estrechamente alineadas.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Sin embargo, TCR puede aumentar la p\u00e9rdida de datos, ya que ignora cu\u00e1ntas veces se ha actualizado un documento, y si uno de los relojes del servidor es r\u00e1pido\/lento acabar\u00e1s con una resoluci\u00f3n de conflictos desordenada. Por eso la opci\u00f3n por defecto en Couchbase es \"N\u00famero de Secuencia\".<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Filtrado de datos<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Por defecto, se replicar\u00e1n todos los documentos de un bucket de destino, pero desde Couchbase 6.5 se puede utilizar <a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/learn\/clusters-and-availability\/xdcr-filtering.html\">Expresiones de filtrado<\/a> para filtrar los datos que desea replicar.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-7436\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/12\/Screen-Shot-2019-08-07-at-3.28.31-PM.png\" alt=\"\" width=\"528\" height=\"786\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2019-08-07-at-3.28.31-PM.png 528w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2019-08-07-at-3.28.31-PM-202x300.png 202w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2019-08-07-at-3.28.31-PM-300x447.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2019-08-07-at-3.28.31-PM-13x20.png 13w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-weight: 400\"> El filtrado avanzado admite varias construcciones ling\u00fc\u00edsticas para crear filtros, como regex, operadores aritm\u00e9ticos, l\u00f3gicos y relacionales, palabras clave, expresiones, funciones num\u00e9ricas, funciones de fecha, lookahead negativo, etc. Puede aplicar esas funciones a las claves, valores, metadatos y CAS del documento. Al igual que los predicados de las consultas N1QL, las expresiones pueden construirse utilizando las construcciones de lenguaje soportadas.<\/span><\/p>\n<p>En el <strong>Filtros de supresi\u00f3n<\/strong> tambi\u00e9n puede optar por no replicar las operaciones de borrado, las caducidades de documentos <span style=\"font-weight: 400\">o eliminar <a href=\"https:\/\/www.couchbase.com\/blog\/es\/how-to-manage-ttl-with-couchbase-n1ql\/\">TTL<\/a> y almacenarlo con fines de archivo.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Los filtros tambi\u00e9n pueden editarse sobre la marcha y la replicaci\u00f3n continuar\u00e1 sin pausa\/reanudaci\u00f3n.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/08\/adv4-1-300x207.png\" width=\"436\" height=\"301\" \/><\/p>\n<p><span style=\"font-weight: 400\">XDCR, por defecto, no vaciar\u00e1 ning\u00fan cubo cuando se modifiquen los filtros. Este paso debe ser ejecutado manualmente por el administrador si es necesario.<\/span><\/p>\n<h3><b>Conclusi\u00f3n<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Si necesita un plan de recuperaci\u00f3n ante desastres o simplemente le gustar\u00eda acercar sus datos al usuario, la replicaci\u00f3n entre centros de datos (XDCR) es una funci\u00f3n que deber\u00eda considerar. Es f\u00e1cil de configurar, casi no requiere mantenimiento y se ha probado a fondo en varios casos de uso de alta carga, como Amadeus, eBay y Viber.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Para obtener m\u00e1s informaci\u00f3n sobre XDCR con Couchbase, consulte la p\u00e1gina <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/developers\/\"><span style=\"font-weight: 400\">Portal para desarrolladores de Couchbase<\/span><\/a><span style=\"font-weight: 400\"> o tuit\u00e9ame a <a href=\"https:\/\/twitter.com\/deniswsrosa\">@deniswsrosa<\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Actualizado el 08\/08\/19 - <\/strong>A\u00f1adir nuevas funciones XDCR para Couchbase 6.5<\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>We saw in a previous post how easy is to set up a Cross Data Center Replication (XDCR), today let\u2019s go a little bit deeper to understand what makes XDCR such a great feature. First of all, XDCR allows you [&hellip;]<\/p>","protected":false},"author":8754,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,9415],"tags":[],"ppma_author":[9059],"class_list":["post-4386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-xdcr"],"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>Deep Dive on Cross Data Center Replication - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"What makes XDCR such a great feature. If you need a Disaster &amp; Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.\" \/>\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\/es\/deep-dive-cross-data-center-replication-xdcr\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deep Dive on Cross Data Center Replication (XDCR)\" \/>\n<meta property=\"og:description\" content=\"What makes XDCR such a great feature. If you need a Disaster &amp; Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/deep-dive-cross-data-center-replication-xdcr\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-22T16:24:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:46:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2268\" \/>\n\t<meta property=\"og:image:height\" content=\"914\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@deniswsrosa\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Denis Rosa, Developer Advocate, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/\"},\"author\":{\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257\"},\"headline\":\"Deep Dive on Cross Data Center Replication (XDCR)\",\"datePublished\":\"2017-12-22T16:24:26+00:00\",\"dateModified\":\"2025-06-14T03:46:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/\"},\"wordCount\":898,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Architecture\",\"Cross Data Center Replication (XDCR)\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/\",\"name\":\"Deep Dive on Cross Data Center Replication - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-12-22T16:24:26+00:00\",\"dateModified\":\"2025-06-14T03:46:34+00:00\",\"description\":\"What makes XDCR such a great feature. If you need a Disaster & Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#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\/deep-dive-cross-data-center-replication-xdcr\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deep Dive on Cross Data Center Replication (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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\/fe3c5273e805e72a5294611a48f62257\",\"name\":\"Denis Rosa, Developer Advocate, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g\",\"caption\":\"Denis Rosa, Developer Advocate, Couchbase\"},\"description\":\"Denis Rosa is a Developer Advocate for Couchbase and lives in Munich - Germany. He has a solid experience as a software engineer and speaks fluently Java, Python, Scala and Javascript. Denis likes to write about search, Big Data, AI, Microservices and everything else that would help developers to make a beautiful, faster, stable and scalable app.\",\"sameAs\":[\"https:\/\/x.com\/deniswsrosa\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/denis-rosa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Deep Dive on Cross Data Center Replication - The Couchbase Blog","description":"What makes XDCR such a great feature. If you need a Disaster & Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.","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\/es\/deep-dive-cross-data-center-replication-xdcr\/","og_locale":"es_MX","og_type":"article","og_title":"Deep Dive on Cross Data Center Replication (XDCR)","og_description":"What makes XDCR such a great feature. If you need a Disaster & Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/deep-dive-cross-data-center-replication-xdcr\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-12-22T16:24:26+00:00","article_modified_time":"2025-06-14T03:46:34+00:00","og_image":[{"width":2268,"height":914,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/12\/Screen-Shot-2017-12-18-at-11.51.21-AM.png","type":"image\/png"}],"author":"Denis Rosa, Developer Advocate, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@deniswsrosa","twitter_misc":{"Written by":"Denis Rosa, Developer Advocate, Couchbase","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/"},"author":{"name":"Denis Rosa, Developer Advocate, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/fe3c5273e805e72a5294611a48f62257"},"headline":"Deep Dive on Cross Data Center Replication (XDCR)","datePublished":"2017-12-22T16:24:26+00:00","dateModified":"2025-06-14T03:46:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/"},"wordCount":898,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Architecture","Cross Data Center Replication (XDCR)"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/","url":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/","name":"Deep Dive on Cross Data Center Replication - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-12-22T16:24:26+00:00","dateModified":"2025-06-14T03:46:34+00:00","description":"What makes XDCR such a great feature. If you need a Disaster & Recovery plan or like to bring data closer to user, XDCR is a feature you must consider.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/deep-dive-cross-data-center-replication-xdcr\/#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\/deep-dive-cross-data-center-replication-xdcr\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deep Dive on Cross Data Center Replication (XDCR)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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\/fe3c5273e805e72a5294611a48f62257","name":"Denis Rosa, Defensor del Desarrollador, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/be0716f6199cfb09417c92cf7a8fa8d6","url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","caption":"Denis Rosa, Developer Advocate, Couchbase"},"description":"Denis Rosa es un Developer Advocate para Couchbase y vive en Munich - Alemania. Tiene una s\u00f3lida experiencia como ingeniero de software y habla con fluidez Java, Python, Scala y Javascript. A Denis le gusta escribir sobre b\u00fasqueda, Big Data, AI, Microservicios y todo lo que pueda ayudar a los desarrolladores a hacer una aplicaci\u00f3n hermosa, m\u00e1s r\u00e1pida, estable y escalable.","sameAs":["https:\/\/x.com\/deniswsrosa"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/denis-rosa\/"}]}},"authors":[{"term_id":9059,"user_id":8754,"is_guest":0,"slug":"denis-rosa","display_name":"Denis Rosa, Developer Advocate, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f8d1f5c13115122cab89d0f229b904480bfe20d3dfbb093fe9734cda5235d419?s=96&d=mm&r=g","author_category":"","last_name":"Rosa, Developer Advocate, Couchbase","first_name":"Denis","job_title":"","user_url":"","description":"Denis Rosa es un Developer Advocate para Couchbase y vive en Munich - Alemania. Tiene una s\u00f3lida experiencia como ingeniero de software y habla con fluidez Java, Python, Scala y Javascript. A Denis le gusta escribir sobre b\u00fasqueda, Big Data, AI, Microservicios y todo lo que pueda ayudar a los desarrolladores a hacer una aplicaci\u00f3n hermosa, m\u00e1s r\u00e1pida, estable y escalable."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/8754"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=4386"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/4386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=4386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=4386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=4386"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=4386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}