{"id":9643,"date":"2021-08-18T00:00:29","date_gmt":"2021-08-18T07:00:29","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9643"},"modified":"2025-06-13T20:46:00","modified_gmt":"2025-06-14T03:46:00","slug":"xdcr-architecture-replicating-with-collections","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/xdcr-architecture-replicating-with-collections\/","title":{"rendered":"Introduciendo soporte XDCR para Scopes &amp; Collections en Couchbase 7.0"},"content":{"rendered":"<p><strong><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/xdcr\/\">Replicaci\u00f3n entre centros de datos (XDCR)<\/a> es una base de datos esencial.<\/strong><\/p>\n<p>XDCR garantiza la alta disponibilidad (HA) de la base de datos, la recuperaci\u00f3n ante desastres y la geolocalizaci\u00f3n. Con <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-server-7-0-release\/?ref=blog\" target=\"_blank\" rel=\"noopener\">la versi\u00f3n 7.0 de Couchbase Server<\/a>, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/xdcr\/\">XDCR<\/a> tambi\u00e9n admite nuevos <a href=\"https:\/\/www.couchbase.com\/blog\/es\/scopes-and-collections-for-modern-multi-tenant-applications-couchbase-7-0\/?ref=blog\" target=\"_blank\" rel=\"noopener\">espacios de nombres individuales llamados \u00c1mbitos y Colecciones<\/a> dentro de cada Bucket de base de datos. La compatibilidad con \u00e1mbitos y colecciones incluye tambi\u00e9n importantes mejoras arquitect\u00f3nicas para la replicaci\u00f3n entre centros de datos.<\/p>\n<p>Con Scopes y Collections, ahora puede utilizar XDCR para la replicaci\u00f3n de datos para microservicios espec\u00edficos o la replicaci\u00f3n de datos espec\u00edficos de inquilinos para aplicaciones multiinquilino. En este art\u00edculo se presenta una nueva funci\u00f3n de gesti\u00f3n de la replicaci\u00f3n de colecciones y se describe una mejora de la arquitectura de XDCR entre bastidores.<\/p>\n<p>Estas mejoras de XDCR permiten una nueva dimensi\u00f3n de casos de uso de la replicaci\u00f3n. Posiciones de XDCR <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/server\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Servidor Couchbase<\/a> 7.0 para admitir muchos m\u00e1s casos de uso de microservicios o aplicaciones multiinquilino, tanto hoy como en el futuro.<\/p>\n<p>Antes de entrar en detalles, si no est\u00e1 familiarizado con la replicaci\u00f3n entre centros de datos o las funciones relacionadas con ella, le recomendamos que lea esta informaci\u00f3n b\u00e1sica:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Un r\u00e1pido repaso a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/understanding-xdcr-part-1\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Conceptos b\u00e1sicos de la arquitectura XDCR<\/a><\/li>\n<li>Una inmersi\u00f3n profunda en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/advanced-filtering-with-xdcr-6-5\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Filtrado avanzado XDCR<\/a> que tocar\u00e9 a continuaci\u00f3n<\/li>\n<li>Un art\u00edculo informativo sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/exercising-control-on-quality-of-service-using-xdcr\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Prioridad de replicaci\u00f3n XDCR<\/a> - una caracter\u00edstica de 6.5 que mencionar\u00e9 brevemente a continuaci\u00f3n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Bueno, vamos a sumergirnos.<\/p>\n<h2>Asignaci\u00f3n de replicaci\u00f3n de datos entre \u00e1mbitos y colecciones para XDCR<\/h2>\n<p>Si s\u00f3lo tiene un cl\u00faster, la gesti\u00f3n de \u00e1mbitos y colecciones es relativamente sencilla. Sin embargo, dado que XDCR implica un escalado multidimensional, la asignaci\u00f3n y gesti\u00f3n de estos nuevos espacios de nombres se vuelve m\u00e1s compleja.<\/p>\n<p>Todav\u00eda puede existir una \u00fanica replicaci\u00f3n entre un cubo de origen y uno de destino. Este requisito no va a cambiar.<\/p>\n<p>Pero con la introducci\u00f3n de \u00c1mbitos y Colecciones, hay dos tipos de mapeos a soportar<br \/>\nla gesti\u00f3n de colecciones en el marco de una replicaci\u00f3n cubo a cubo. Estos dos tipos son <strong>mapeo impl\u00edcito<\/strong> y <strong>asignaci\u00f3n expl\u00edcita<\/strong>.<\/p>\n<p>Un mapeo es un enlace entre dos espacios de nombres del mismo nivel, y existe en el contexto de una replicaci\u00f3n de Cubo a Cubo. Un mapeo puede ser entre \u00c1mbitos, o puede ser entre Colecciones.<\/p>\n<p>Cada r\u00e9plica de cubo a cubo utiliza una asignaci\u00f3n impl\u00edcita o expl\u00edcita para realizar la r\u00e9plica entre las colecciones de origen y de destino. Las r\u00e9plicas utilizan una asignaci\u00f3n impl\u00edcita a menos que se especifique expl\u00edcitamente lo contrario.<\/p>\n<h3>Asignaci\u00f3n impl\u00edcita entre colecciones<\/h3>\n<p>El mapeo impl\u00edcito es el concepto seg\u00fan el cual debe establecerse un v\u00ednculo si existe el mismo espacio de nombres con nombre tanto en el Bucket de origen como en el de destino.<\/p>\n<p>Si tanto el cubo de origen como el de destino contienen <em>id\u00e9nticamente<\/em> named Scopes and\/or Collections, then they are implicitly mapped. For example, under implicit mapping, if a source Bucket contains a namespace `Scope1.Collection1`, then replication will take place if the target Bucket also contains `Scope1.Collection1`.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9644\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9644\" class=\"size-full wp-image-9644\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Implicit-mapping.png\" alt=\"Implicit mapping for cross data center replication (XDCR) between two Buckets in Couchbase\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Implicit-mapping.png 960w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Implicit-mapping-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Implicit-mapping-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Implicit-mapping-20x11.png 20w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><p id=\"caption-attachment-9644\" class=\"wp-caption-text\">Figura 1: Replicaci\u00f3n cruzada de centros de datos (XDCR) entre dos cubos dada la asignaci\u00f3n impl\u00edcita<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>La figura 1 muestra una replicaci\u00f3n de cubo a cubo utilizando una asignaci\u00f3n impl\u00edcita. Tenga en cuenta que las colecciones predeterminadas de origen y las colecciones predeterminadas de destino se asignan juntas (no se muestra en la figura).<\/p>\n<p>Los espacios de nombres no asignados <strong>no<\/strong> replicarse. Si los espacios de nombres no mapeados se crean m\u00e1s tarde, entonces XDCR recupera los datos que faltan usando una replicaci\u00f3n de relleno. (Explicar\u00e9 el backfill pipeline en una secci\u00f3n posterior).<\/p>\n<h3>Asignaci\u00f3n expl\u00edcita entre colecciones<\/h3>\n<p>Si necesita un control m\u00e1s granular de la replicaci\u00f3n de datos, pruebe con la asignaci\u00f3n expl\u00edcita.<\/p>\n<p>La asignaci\u00f3n expl\u00edcita requiere que los usuarios <strong>expl\u00edcitamente<\/strong> definen las relaciones entre espacios de nombres. La asignaci\u00f3n de un \u00e1mbito a otro \u00e1mbito implica la asignaci\u00f3n impl\u00edcita de todas las colecciones de ese \u00e1mbito. Sin embargo, la asignaci\u00f3n de una colecci\u00f3n a otra no afecta a ning\u00fan otro espacio de nombres.<\/p>\n<p>La asignaci\u00f3n expl\u00edcita se realiza mediante el uso de <strong>normas de asignaci\u00f3n<\/strong> a trav\u00e9s de la interfaz de l\u00ednea de comandos (CLI). La interfaz de usuario de la consola XDCR proporciona una abstracci\u00f3n para que no tengas que introducir reglas de asignaci\u00f3n manualmente.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9646\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9646\" class=\"size-large wp-image-9646\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/explicitMappingUI-1024x583.png\" alt=\"Cross Data Center Replication (XDCR) user interface for explicit mapping rules\" width=\"900\" height=\"512\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-1024x583.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-300x171.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-768x438.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-1536x875.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-2048x1167.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/explicitMappingUI-1320x752.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><p id=\"caption-attachment-9646\" class=\"wp-caption-text\">Figura 3: XDCR UI proporciona una experiencia f\u00e1cil de usar para configurar la asignaci\u00f3n expl\u00edcita y oculta la necesidad de introducir manualmente las reglas de asignaci\u00f3n.<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>La documentaci\u00f3n de Couchbase Server incluye <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/clusters-and-availability\/xdcr-with-scopes-and-collections.html?ref=blog#rules-for-explicit-mappings\" target=\"_blank\" rel=\"noopener\">una explicaci\u00f3n detallada de las reglas de asignaci\u00f3n y c\u00f3mo utilizarlas<\/a>. Las reglas de mapeo le indican a XDCR mediante programaci\u00f3n c\u00f3mo hacer coincidir los espacios de nombres por nombre.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9645\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9645\" class=\"size-full wp-image-9645\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Explicit-mapping.png\" alt=\"Explicit mapping between two Buckets in Couchbase using Cross Data Center Replication (XDCR)\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Explicit-mapping.png 960w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Explicit-mapping-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Explicit-mapping-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Explicit-mapping-20x11.png 20w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><p id=\"caption-attachment-9645\" class=\"wp-caption-text\">Figura 2: Replicaci\u00f3n entre dos cubos mediante asignaci\u00f3n expl\u00edcita con dos reglas especificadas: una regla de asignaci\u00f3n de \u00e1mbito a \u00e1mbito y una regla de asignaci\u00f3n de colecci\u00f3n a colecci\u00f3n.<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Las reglas de asignaci\u00f3n expl\u00edcitas le ofrecen un nuevo nivel de flexibilidad en la asignaci\u00f3n de colecciones. Tambi\u00e9n puede cambiar las reglas sobre la marcha. XDCR toma cualquier regla nueva y se asegura de forma inteligente de que todos los datos se repliquen. Se<\/p>\n<h4>Uso del modo migraci\u00f3n para migrar a colecciones<\/h4>\n<p>Cuando actualizas a Couchbase Server 7.0, todos tus datos residen en la (nueva) Colecci\u00f3n por defecto dentro de tu(s) Bucket(s) existente(s).<\/p>\n<p>Utilizando <strong>modo de migraci\u00f3n<\/strong> En la replicaci\u00f3n entre centros de datos (XDCR), puede migrar datos a colecciones individuales de un bucket de destino. <em>sin tiempo de inactividad de la aplicaci\u00f3n<\/em>. El modo de migraci\u00f3n es una versi\u00f3n especializada de la asignaci\u00f3n expl\u00edcita. Utiliza el motor de filtrado avanzado de XDCR para realizar un filtrado basado en flujos a medida que los documentos se transmiten desde el Bucket de origen. En funci\u00f3n de las reglas de migraci\u00f3n que especifique, el documento se replicar\u00e1 en la colecci\u00f3n de destino especificada.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9647\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9647\" class=\"size-full wp-image-9647\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/migration-mode.png\" alt=\"Migration mode too route documents for data replication in Couchbase\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/migration-mode.png 960w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/migration-mode-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/migration-mode-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/migration-mode-20x11.png 20w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><p id=\"caption-attachment-9647\" class=\"wp-caption-text\">Figura 4: Modo de migraci\u00f3n que utiliza distintas reglas de migraci\u00f3n para encaminar los documentos a sus ubicaciones respectivas<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>La documentaci\u00f3n de Couchbase Server tiene <a href=\"https:\/\/docs.couchbase.com\/server\/current\/rest-api\/rest-xdcr-create-replication.html?ref=blog#migration-mode\" target=\"_blank\" rel=\"noopener\">m\u00e1s detalles y ejemplos sobre el modo de migraci\u00f3n<\/a>.<\/p>\n<h2>Entre bastidores de XDCR con Scopes &amp; Collections<\/h2>\n<h3>Gasoducto principal<\/h3>\n<p>Cuando se crea una r\u00e9plica, se traduce en un <strong>especificaci\u00f3n de replicaci\u00f3n<\/strong> y se almacena internamente. XDCR lee la especificaci\u00f3n de replicaci\u00f3n (y su configuraci\u00f3n) y crea un archivo <strong>tuber\u00eda<\/strong> que solicita datos del Bucket de origen. La canalizaci\u00f3n replica fielmente cada documento en el bucket de destino (salvo que se aplique alg\u00fan filtro avanzado).<\/p>\n<p>El proceso anterior sigue siendo el mismo en Couchbase Server 7.0. As\u00ed que si uno de tus Buckets fuente contiene m\u00faltiples Colecciones fuente, XDCR las solicita todas. Este comportamiento se llama <strong>tuber\u00eda principal<\/strong>. El proceso principal replica un documento de origen en el destino utilizando una asignaci\u00f3n impl\u00edcita o expl\u00edcita. Si el cl\u00faster de destino no contiene el espacio de nombres mapeado, XDCR deja el documento \"en el suelo\". A continuaci\u00f3n, contin\u00faa replicando la siguiente mutaci\u00f3n.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9648\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9648\" class=\"size-full wp-image-9648\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/main-pipeline.png\" alt=\"Data replication for all documents in Couchbase\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/main-pipeline.png 960w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/main-pipeline-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/main-pipeline-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/main-pipeline-20x11.png 20w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><p id=\"caption-attachment-9648\" class=\"wp-caption-text\">Figura 5: Replicaci\u00f3n de todos los documentos del cubo de origen con una colecci\u00f3n de destino que falta<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Durante la replicaci\u00f3n, XDCR busca continuamente colecciones de destino nuevas o eliminadas. Cuando XDCR detecta una nueva colecci\u00f3n de destino, comprueba si se puede establecer una nueva asignaci\u00f3n. Si es posible establecer una nueva correspondencia, el canal principal replica correctamente los datos en el espacio de nombres de destino.<\/p>\n<p>Es importante entender que un flujo de replicaci\u00f3n es secuencial. Si XDCR omiti\u00f3 previamente un documento, un flujo de secuencia no puede \"rebobinar\" a un punto anterior para el documento omitido. XDCR necesita replicar cualquier mutaci\u00f3n omitida; de lo contrario, faltar\u00e1n datos.<\/p>\n<p><em>Una nota al margen: Esta incapacidad de rebobinar (sin Collections) es exactamente la raz\u00f3n por la que hay una opci\u00f3n llamada \"Guardar y Reiniciar Replicaci\u00f3n\" cuando se edita la Expresi\u00f3n de Filtrado Avanzado en Couchbase Server 6.5. Cuando usas \"Save and Restart Replication\", el pipeline empieza de nuevo y hace el stream desde la secuencia 0 para asegurar que todos los documentos son replicados. Esta soluci\u00f3n no funcionar\u00e1 para Colecciones.<\/em><\/p>\n<h3>Tuber\u00eda de relleno<\/h3>\n<p>En Couchbase Server 7.0, XDCR ahora incluye el concepto de backfill pipeline.<\/p>\n<p>El objetivo de la canalizaci\u00f3n de relleno es transmitir los datos que la canalizaci\u00f3n principal dej\u00f3 caer anteriormente. Este enfoque garantiza que se repliquen todos los datos de un espacio de nombres.<\/p>\n<p>Cuando se detecta una nueva colecci\u00f3n de destino, XDCR crea autom\u00e1ticamente un canal de relleno y transmite los datos que faltan. Mientras tanto, el canal principal sigue siendo responsable de transmitir las mutaciones en curso a la nueva colecci\u00f3n de destino.<\/p>\n<p>Las canalizaciones de relleno se inician siempre en modo de baja prioridad para minimizar el impacto en el rendimiento de las canalizaciones principales. Una vez que el canal de relleno ha terminado de transmitir los datos que faltan -bas\u00e1ndose en un n\u00famero de secuencia final definido-, el canal de relleno se cierra autom\u00e1ticamente.<\/p>\n<p>Todo el proceso de construcci\u00f3n y desmantelamiento de la replicaci\u00f3n de backfill est\u00e1 completamente automatizado, por lo que ocurre entre bastidores sin alertar a los usuarios. Sin embargo, es importante que entienda la arquitectura, ya que sus usuarios podr\u00edan notar que algunos documentos creados m\u00e1s tarde en el tiempo en los Buckets de origen llegan antes que las mutaciones anteriores.<\/p>\n<p>La figura 6 ilustra el funcionamiento del canal de replicaci\u00f3n de backfill.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_9649\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9649\" class=\"size-full wp-image-9649\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/backfill-pipeline.png\" alt=\"Backfill pipeline streaming data replication in Couchbase\" width=\"960\" height=\"540\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/backfill-pipeline.png 960w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/backfill-pipeline-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/backfill-pipeline-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/backfill-pipeline-20x11.png 20w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><p id=\"caption-attachment-9649\" class=\"wp-caption-text\">Figure 6: Backfill Pipeline streaming data for `collectionB` only for previously missed sequence numbers<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>In the above diagram, a new `collectionB` was created on the target Bucket. XDCR on Cluster A detected the new Collection when its main pipeline was streaming out mutations at sequence number 200. It then created a backfill pipeline, which is responsible for `collectionB` mutations from sequence number 0 to 200. All ongoing `collectionB` mutations (201+) will go through the main pipeline.<\/p>\n<p>En resumen, el canal principal permite a XDCR seguir replicando las \u00faltimas mutaciones de forma continua; el canal de relleno permite que un flujo de replicaci\u00f3n de menor prioridad replique cualquier dato omitido previamente.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>En resumen, la replicaci\u00f3n de colecciones XDCR supervisa de forma inteligente los cambios en la gesti\u00f3n de colecciones tanto de origen como de destino. Puede replicar tanto din\u00e1micamente (v\u00eda mapeo impl\u00edcito) como program\u00e1ticamente (v\u00eda mapeo expl\u00edcito). XDCR Collections le permite cambiar din\u00e1micamente los modos entre mapeo impl\u00edcito y expl\u00edcito, as\u00ed como modificar las reglas de mapeo expl\u00edcito sobre la marcha sin necesidad de reiniciar la replicaci\u00f3n desde la secuencia 0.<\/p>\n<p>Scopes y Collections en Couchbase Server 7.0 abren todo un nuevo mundo de casos de uso para los usuarios y clientes de Couchbase. Con el soporte de XDCR de Scopes y Collections - y la flexibilidad que proporciona - Couchbase Server responde a m\u00e1s necesidades de los clientes que cualquier versi\u00f3n anterior.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 30px\" aria-hidden=\"true\"><\/div>\n<div style=\"text-align: center\"><strong>\u00bfListo para probar XDCR?<\/strong><\/div>\n<div style=\"text-align: center\"><strong><a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Descargue Couchbase 7 hoy mismo<\/a><\/strong><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Cross Data Center Replication (XDCR) is a database essential. XDCR ensures database High Availability (HA), disaster recovery, and geo-locality. With the Couchbase Server 7.0 release, XDCR also supports new individual namespaces called Scopes and Collections within each database Bucket. Support [&hellip;]<\/p>","protected":false},"author":69696,"featured_media":11731,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1821,1816,9415,9336],"tags":[1952,2127,2126,2103,1446],"ppma_author":[9119],"class_list":["post-9643","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-architecture","category-couchbase-server","category-xdcr","category-scopes-and-collections","tag-data-replication","tag-disaster-recovery","tag-high-availability","tag-microservices","tag-multidimensional-scaling"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v26.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0<\/title>\n<meta name=\"description\" content=\"Learn how Cross Data Center Replication (XDCR) now supports data replication between Scopes and Collections in Couchbase Server 7.0 in two different ways.\" \/>\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\/xdcr-architecture-replicating-with-collections\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0\" \/>\n<meta property=\"og:description\" content=\"Learn how Cross Data Center Replication (XDCR) now supports data replication between Scopes and Collections in Couchbase Server 7.0 in two different ways.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/xdcr-architecture-replicating-with-collections\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-18T07:00:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:46:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0-social.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"418\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Neil Huang, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0-social.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neil Huang, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/\"},\"author\":{\"name\":\"Neil Huang, Principal Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/af0dd16f7a6663fcaf0746618bdbc8f8\"},\"headline\":\"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0\",\"datePublished\":\"2021-08-18T07:00:29+00:00\",\"dateModified\":\"2025-06-14T03:46:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/\"},\"wordCount\":1543,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png\",\"keywords\":[\"Data Replication\",\"Disaster Recovery\",\"High Availability\",\"microservices\",\"Multidimensional Scaling\"],\"articleSection\":[\"Couchbase Architecture\",\"Couchbase Server\",\"Cross Data Center Replication (XDCR)\",\"Scopes and Collections\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/\",\"name\":\"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png\",\"datePublished\":\"2021-08-18T07:00:29+00:00\",\"dateModified\":\"2025-06-14T03:46:00+00:00\",\"description\":\"Learn how Cross Data Center Replication (XDCR) now supports data replication between Scopes and Collections in Couchbase Server 7.0 in two different ways.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png\",\"width\":1200,\"height\":628,\"caption\":\"Learn how XDCR now supports replication between Scopes and Collections in Couchbase Server 7.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"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\/af0dd16f7a6663fcaf0746618bdbc8f8\",\"name\":\"Neil Huang, Principal Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4658437f7d44d54dc499becf92006d00\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e1b016e86d1634bc3c1fd4abaaee131dbfe65716f8e02411462878ce5a24709c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e1b016e86d1634bc3c1fd4abaaee131dbfe65716f8e02411462878ce5a24709c?s=96&d=mm&r=g\",\"caption\":\"Neil Huang, Principal Software Engineer, Couchbase\"},\"description\":\"Neil Huang is a Principal Software Engineer at Couchbase, and is a developer for cross datacenter replication (XDCR). Neil has more than 10 years of experience working in enterprise software. Prior to Couchbase, he was a member of the data stack software team for Enterprise Data Storage, HPE-3PAR, as well as a data storage startup building a next-generation distributed data platform. Neil received both his bachelor\u2019s degree in electrical engineering\/computer engineering and master\u2019s degree in computer network engineering from UCLA.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/neilhuang\/\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/neil_huang\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introduciendo soporte XDCR para Scopes &amp; Collections en Couchbase 7.0","description":"Aprende c\u00f3mo Cross Data Center Replication (XDCR) ahora soporta replicaci\u00f3n de datos entre Scopes y Collections en Couchbase Server 7.0 de dos maneras diferentes.","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\/xdcr-architecture-replicating-with-collections\/","og_locale":"es_MX","og_type":"article","og_title":"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0","og_description":"Learn how Cross Data Center Replication (XDCR) now supports data replication between Scopes and Collections in Couchbase Server 7.0 in two different ways.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/xdcr-architecture-replicating-with-collections\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-08-18T07:00:29+00:00","article_modified_time":"2025-06-14T03:46:00+00:00","og_image":[{"width":800,"height":418,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0-social.png","type":"image\/png"}],"author":"Neil Huang, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0-social.png","twitter_misc":{"Written by":"Neil Huang, Senior Software Engineer, Couchbase","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/"},"author":{"name":"Neil Huang, Principal Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/af0dd16f7a6663fcaf0746618bdbc8f8"},"headline":"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0","datePublished":"2021-08-18T07:00:29+00:00","dateModified":"2025-06-14T03:46:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/"},"wordCount":1543,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png","keywords":["Data Replication","Disaster Recovery","High Availability","microservices","Multidimensional Scaling"],"articleSection":["Couchbase Architecture","Couchbase Server","Cross Data Center Replication (XDCR)","Scopes and Collections"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/","url":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/","name":"Introduciendo soporte XDCR para Scopes &amp; Collections en Couchbase 7.0","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png","datePublished":"2021-08-18T07:00:29+00:00","dateModified":"2025-06-14T03:46:00+00:00","description":"Aprende c\u00f3mo Cross Data Center Replication (XDCR) ahora soporta replicaci\u00f3n de datos entre Scopes y Collections en Couchbase Server 7.0 de dos maneras diferentes.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/cross-data-center-replication-xdcr-support-scopes-collections-couchbase-server-7-0.png","width":1200,"height":628,"caption":"Learn how XDCR now supports replication between Scopes and Collections in Couchbase Server 7.0"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/xdcr-architecture-replicating-with-collections\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing XDCR Support for Scopes &amp; Collections in Couchbase 7.0"}]},{"@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\/af0dd16f7a6663fcaf0746618bdbc8f8","name":"Neil Huang, Ingeniero Principal de Software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4658437f7d44d54dc499becf92006d00","url":"https:\/\/secure.gravatar.com\/avatar\/e1b016e86d1634bc3c1fd4abaaee131dbfe65716f8e02411462878ce5a24709c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e1b016e86d1634bc3c1fd4abaaee131dbfe65716f8e02411462878ce5a24709c?s=96&d=mm&r=g","caption":"Neil Huang, Principal Software Engineer, Couchbase"},"description":"Neil Huang is a Principal Software Engineer at Couchbase, and is a developer for cross datacenter replication (XDCR). Neil has more than 10 years of experience working in enterprise software. Prior to Couchbase, he was a member of the data stack software team for Enterprise Data Storage, HPE-3PAR, as well as a data storage startup building a next-generation distributed data platform. Neil received both his bachelor\u2019s degree in electrical engineering\/computer engineering and master\u2019s degree in computer network engineering from UCLA.","sameAs":["https:\/\/www.linkedin.com\/in\/neilhuang\/"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/neil_huang\/"}]}},"authors":[{"term_id":9119,"user_id":69696,"is_guest":0,"slug":"neil_huang","display_name":"Neil Huang, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/e1b016e86d1634bc3c1fd4abaaee131dbfe65716f8e02411462878ce5a24709c?s=96&d=mm&r=g","author_category":"","last_name":"Huang, Senior Software Engineer, Couchbase","first_name":"Neil","job_title":"","user_url":"","description":"Neil Huang es Ingeniero de Software Senior en Couchbase, y es desarrollador de replicaci\u00f3n cruzada de centros de datos (XDCR). Neil tiene m\u00e1s de 10 a\u00f1os de experiencia trabajando en software empresarial. Antes de Couchbase, fue miembro del equipo de software de pila de datos para Enterprise Data Storage, HPE-3PAR, as\u00ed como de una startup de almacenamiento de datos que constru\u00eda una plataforma de datos distribuidos de nueva generaci\u00f3n. Neil se licenci\u00f3 en Ingenier\u00eda El\u00e9ctrica\/Ingenier\u00eda Inform\u00e1tica y obtuvo un m\u00e1ster en Ingenier\u00eda de Redes Inform\u00e1ticas en la UCLA."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9643","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\/69696"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=9643"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9643\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/11731"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=9643"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=9643"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=9643"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=9643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}