{"id":9884,"date":"2021-09-03T00:00:50","date_gmt":"2021-09-03T07:00:50","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9884"},"modified":"2025-06-13T20:45:58","modified_gmt":"2025-06-14T03:45:58","slug":"how-to-migrate-to-scopes-and-collections-in-couchbase-7-0","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/","title":{"rendered":"C\u00f3mo migrar a \u00e1mbitos y colecciones en Couchbase 7.0"},"content":{"rendered":"<p><strong>Tanto si eres nuevo en Couchbase o<\/strong> veterano, es probable que haya o\u00eddo hablar de los \u00e1mbitos de aplicaci\u00f3n y las colecciones. Si est\u00e1s listo para probarlos por ti mismo, este art\u00edculo te ayudar\u00e1 a hacerlo realidad.<\/p>\n<p>Los \u00e1mbitos y las colecciones son una nueva funci\u00f3n introducida en <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> que te permite organizar l\u00f3gicamente los datos dentro de Couchbase. Para saber m\u00e1s, <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\">lea la siguiente introducci\u00f3n a \u00c1mbitos y colecciones<\/a>.<\/p>\n<p>Deber\u00edas aprovechar Scopes y Collections si quieres mapear tu RDBMS heredado a una base de datos de documentos o si est\u00e1s intentando consolidar cientos de microservicios y\/o tenants en un \u00fanico <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/capella\/\" target=\"_blank\" rel=\"noopener\">Couchbase<\/a> (lo que se traduce en un coste total de propiedad mucho menor).<\/p>\n<p>En este art\u00edculo repasar\u00e9 c\u00f3mo puedes planificar tu migraci\u00f3n desde una versi\u00f3n anterior de Couchbase al uso de Scopes y Collections en Couchbase 7.0.<\/p>\n<h2>Pasos de migraci\u00f3n de alto nivel<\/h2>\n<p>Los siguientes son los pasos de alto nivel para migrar a Scopes y Collections en Couchbase 7.0.<\/p>\n<p>No todos los pasos son esenciales: todo depende de tu caso de uso y de tus requisitos tecnol\u00f3gicos particulares. En las secciones siguientes te explicar\u00e9 en detalle cada uno de estos pasos.<\/p>\n<ol>\n<li><strong>Actualizaci\u00f3n a Couchbase Server 7.0<\/strong><\/li>\n<li><strong>Planifique su estrategia de \u00e1mbitos y colecciones<\/strong>: Determine qu\u00e9 cubos, \u00e1mbitos, colecciones e \u00edndices necesita. Determine la correspondencia entre los antiguos cubos y los nuevos cubos\/\u00e1mbitos\/colecciones. Escribir scripts para crear \u00e1mbitos, colecciones e \u00edndices.<\/li>\n<li><strong>Migre el c\u00f3digo de su aplicaci\u00f3n:<\/strong> Este c\u00f3digo de aplicaci\u00f3n es tu c\u00f3digo SDK de Couchbase incluyendo consultas N1QL.<\/li>\n<li><strong>Migraci\u00f3n de datos:<\/strong> Determine si una estrategia fuera de l\u00ednea funciona para su implantaci\u00f3n o si necesita una migraci\u00f3n en l\u00ednea. Act\u00fae en consecuencia.<\/li>\n<li><strong>Planifique y aplique su estrategia de seguridad de bases de datos:<\/strong> Determine qu\u00e9 asignaciones de Usuarios y Funciones necesita. Cree scripts para gestionar estas asignaciones.<\/li>\n<li><strong>Ponga en marcha su nueva aplicaci\u00f3n Collections-aware<\/strong><\/li>\n<li><strong>Configurar XDCR y copia de seguridad de su base de datos Couchbase<\/strong><\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Actualizaci\u00f3n a Couchbase 7<\/h2>\n<p>Esto es lo que debe saber sobre la actualizaci\u00f3n a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/server\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Servidor Couchbase<\/a> 7.0:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Every Bucket in 7.0+ has a `_default` Scope with a `_default` Collection in it.<\/li>\n<li>Upgrading to Couchbase 7.0 moves all data in the Bucket to the `_default` Collection of the Bucket.<\/li>\n<li>Hay <strong>sin impacto en las aplicaciones existentes<\/strong>. For example, an SDK 2.7 reference to Bucket `B` automatically resolves to `B._default._default` (referencing the `_default` Scope and Collection, respectively).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>El siguiente diagrama ilustra c\u00f3mo se organizan los datos en Buckets, Scopes y Collections despu\u00e9s de migrar los datos de Couchbase 6 a Couchbase 7.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/UpgradeTo7.0-e1605927134950.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9885\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/UpgradeTo7.0-e1605927134950.png\" alt=\"Migrating data to Couchbase 7 with Scopes and Collections\" width=\"1250\" height=\"610\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/UpgradeTo7.0-e1605927134950.png 1250w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/UpgradeTo7.0-e1605927134950-300x146.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/UpgradeTo7.0-e1605927134950-1024x500.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/UpgradeTo7.0-e1605927134950-768x375.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/UpgradeTo7.0-e1605927134950-20x10.png 20w\" sizes=\"auto, (max-width: 1250px) 100vw, 1250px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Si no desea utilizar \u00e1mbitos y colecciones con nombre, det\u00e9ngase aqu\u00ed.<\/p>\n<p>Pero si est\u00e1s listo para utilizar esta nueva funci\u00f3n de organizaci\u00f3n de datos, sigue leyendo.<\/p>\n<h2>Planifique sus \u00e1mbitos y su estrategia de recogida<\/h2>\n<p>A continuaci\u00f3n se presentan los escenarios de migraci\u00f3n de bases de datos m\u00e1s comunes que me he encontrado. Su escenario de migraci\u00f3n puede ser diferente y el kilometraje puede variar.<\/p>\n<h3>Consolidaci\u00f3n: De m\u00faltiples cubos a colecciones en un solo cubo<\/h3>\n<p>Una situaci\u00f3n habitual es cuando se intenta reducir el coste total de propiedad (TCO) consolidando varios buckets en uno solo.<\/p>\n<p>Un cl\u00faster s\u00f3lo puede tener hasta 30 Buckets, mientras que puedes tener 1000 Collections por cl\u00faster, lo que permite una densidad mucho mayor. Este es un escenario com\u00fan para la consolidaci\u00f3n de microservicios.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/MigrationConsolidationScenario.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9886\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/MigrationConsolidationScenario.png\" alt=\"Consolidating Couchbase Buckets into a single Bucket with multiple Collections\" width=\"1210\" height=\"938\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationConsolidationScenario.png 1210w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationConsolidationScenario-300x233.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationConsolidationScenario-1024x794.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationConsolidationScenario-768x595.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationConsolidationScenario-20x16.png 20w\" sizes=\"auto, (max-width: 1210px) 100vw, 1210px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>El diagrama anterior muestra todas las colecciones de destino pertenecientes al mismo \u00e1mbito. Sin embargo, las colecciones de destino podr\u00edan pertenecer a \u00e1mbitos diferentes.<\/p>\n<h3>Divisi\u00f3n: De un cubo \u00fanico a varias colecciones en un cubo<\/h3>\n<p>Otro escenario com\u00fan es migrar los datos que residen dentro de un \u00fanico Bucket y dividirlos en m\u00faltiples Colecciones (dentro del mismo Bucket).<\/p>\n<p>You might have previously qualified different types of data with a `type = foo` field or with a key prefix like `foo_key`. Now these data types can each live in their own Collection, giving you the advantages of logical isolation, security isolation, replication and access control.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/MigrationSplittingScenario.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9887\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/MigrationSplittingScenario.png\" alt=\"Splitting Couchbase data into multiple Collections within the same Bucket\" width=\"1236\" height=\"912\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationSplittingScenario.png 1236w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationSplittingScenario-300x221.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationSplittingScenario-1024x756.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationSplittingScenario-768x567.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/MigrationSplittingScenario-20x15.png 20w\" sizes=\"auto, (max-width: 1236px) 100vw, 1236px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Este escenario puede ser un poco m\u00e1s complejo que el escenario de \"consolidaci\u00f3n\" anterior, especialmente si desea deshacerse del prefijo de clave o del campo de tipo. Para una migraci\u00f3n m\u00e1s sencilla, es posible que desee dejar los prefijos de clave y los campos de datos de tipo tal como est\u00e1n, aunque puedan ser algo redundantes con Colecciones.<\/p>\n<h3>Creaci\u00f3n de \u00e1mbitos, colecciones e \u00edndices<\/h3>\n<p>Una vez que haya planificado qu\u00e9 \u00c1mbitos, Colecciones e \u00edndices desea tener, necesita crear scripts para la creaci\u00f3n de estas entidades. Puede utilizar <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/developer-sdk\/?ref=blog\" target=\"_blank\" rel=\"noopener\">el SDK de Couchbase<\/a> de su elecci\u00f3n, <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/manage\/manage-scopes-and-collections\/manage-scopes-and-collections.html?ref=blog\" target=\"_blank\" rel=\"noopener\">el couchbase-cli, las API REST directamente, o incluso scripts N1QL<\/a> para hacerlo.<\/p>\n<p>A continuaci\u00f3n se muestra un ejemplo de uso de la CLI (couchbase-cli y cbq shell) para crear un Scope, una Collection y un \u00edndice.<\/p>\n<pre class=\"lang:default decode:true\" title=\"Comandos CLI de ejemplo para crear un \u00e1mbito, una colecci\u00f3n y un \u00edndice\">\/\/ create a Scope called 'myscope' using couchbase-cli\r\n.\/couchbase-cli  collection-manage -c localhost -u Administrator -p password --bucket testBucket --create-scope myscope\r\n\r\n\/\/ create a Collection called mycollection in myscope\r\n.\/couchbase-cli  collection-manage -c localhost -u Administrator -p password --bucket testBucket --create-collection myscope.mycollection\r\n\r\n\/\/ create an index on mycollection using cbq\r\n.\/cbq --engine=localhost:8093 -u Administrator -p password --script=\"create index myidx1 on testBucket.myscope.mycollection(field1,field2);\"\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Tenga en cuenta que el <a href=\"https:\/\/docs.couchbase.com\/server\/current\/n1ql\/n1ql-language-reference\/createindex.html\">creaci\u00f3n de \u00edndices<\/a> La declaraci\u00f3n <strong>no<\/strong> require you to qualify the data with a `type = foo` or key-prefix qualification clause anymore.<\/p>\n<h2>Migrar el c\u00f3digo de su aplicaci\u00f3n<\/h2>\n<p>Para utilizar \u00c1mbitos y Colecciones con nombre, el c\u00f3digo de su aplicaci\u00f3n (incluyendo <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Consultas N1QL<\/a>).<\/p>\n<p>Si anteriormente utilizaba campos de tipo o prefijos de clave (como en el caso de la divisi\u00f3n), deber\u00e1 <strong>no<\/strong> ya no los necesitan.<\/p>\n<h3>Ejemplo de c\u00f3digo SDK<\/h3>\n<p>En su c\u00f3digo SDK, tiene que conectarse a un cl\u00faster, abrir un Bucket y obtener una referencia a un objeto Collection para almacenar y recuperar documentos. Antes de Collections, todas las operaciones clave-valor se realizaban directamente en el Bucket.<\/p>\n<p><em>Nota: Si has migrado a Couchbase SDK 3.0, ya has hecho parte del trabajo de empezar a usar Colecciones (aunque hasta ahora s\u00f3lo pod\u00edas usar la Colecci\u00f3n por defecto).<\/em><\/p>\n<p>A continuaci\u00f3n se presenta una sencilla <a href=\"https:\/\/docs.couchbase.com\/java-sdk\/current\/hello-world\/start-using-sdk.html?ref=blog\" target=\"_blank\" rel=\"noopener\">SDK de Java<\/a> fragmento de c\u00f3digo para almacenar y recuperar un documento en una colecci\u00f3n:<\/p>\n<pre class=\"lang:default decode:true\" title=\"C\u00f3digo de ejemplo del SDK de Java con Collections\">Cluster cluster = Cluster.connect(\"127.0.0.1\", \"Administrator\", \"password\");\r\n\r\nBucket bucket = cluster.bucket(\"bucket-name\");\r\nScope scope = bucket.scope(\"scope-name\");\r\nCollection collection = scope.collection(\"collection-name\");   \r\n\r\nJsonObject content = JsonObject.create().put(\"author\", \"mike\");\r\nMutationResult result = collection.upsert(\"document-key\", content);\r\n\r\nGetResult getResult = collection.get(\"document-key\");\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h3>Consultas N1QL<\/h3>\n<p>Ahora bien, si desea ejecutar <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/n1ql\/query.html?ref=blog\" target=\"_blank\" rel=\"noopener\">una consulta N1QL<\/a> en la colecci\u00f3n del ejemplo Java anterior, haga lo siguiente:<\/p>\n<pre class=\"lang:default decode:true\" title=\"Consulta N1QL sobre Scope\">\/\/run a N1QL using the context of the Scope\r\n\r\nscope.query(\"select * from collection-name\");\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Notice that you can query directly on a Scope. The above query on the Scope object automatically maps to `select * from bucket-name.scope-name.collection-name`.<\/p>\n<p>Another way to provide path context to N1QL is to set it on `QueryOptions`. For example:<\/p>\n<pre class=\"lang:default decode:true\" title=\"Consulta N1QL sobre la colecci\u00f3n\">QueryOptions qo = QueryOptions.queryOptions().raw(\"query_context\", \"bucket-name.scope-name\");\r\ncluster.query(\"select * from collection-name\", qo);\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Un \u00e1mbito puede tener varias colecciones, y puede unirlas directamente haciendo referencia al nombre de la colecci\u00f3n dentro del \u00e1mbito. Si necesita realizar una consulta entre \u00e1mbitos (o entre cubos), es mejor utilizar el objeto cl\u00faster para realizar la consulta.<\/p>\n<p>Note that the N1QL queries no longer need to qualify a `type = foo` field (or `key_prefix` qualifier), if applicable.<\/p>\n<p>Por ejemplo, esta antigua consulta N1QL...<\/p>\n<pre class=\"lang:default decode:true\" title=\"Consulta N1QL sin colecci\u00f3n\">SELECT r.destinationairport\r\nFROM Travel  a \r\nJOIN Travel  r ON a.faa = r.sourceairport\r\n        AND r.type = \"route\"\r\nWHERE a.city = \"Toulouse\"\r\n        AND a.type = \"airport\";\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>...ahora se convierte:<\/p>\n<pre class=\"lang:default decode:true\" title=\"Nueva consulta N1QL utilizando Colecciones\">SELECT r.destinationairport\r\nFROM Airport a \r\nJOIN Route r ON a.faa = r.sourceairport\r\nWHERE a.city = \"Toulouse\";\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Migraci\u00f3n de datos a colecciones<\/h2>\n<p>A continuaci\u00f3n, debe migrar los datos existentes a los nuevos \u00e1mbitos y colecciones.<\/p>\n<p>Lo primero que tiene que determinar es si puede permitirse hacer una migraci\u00f3n offline (en la que su aplicaci\u00f3n est\u00e1 fuera de l\u00ednea durante unas horas), o si necesita hacer una migraci\u00f3n mayoritariamente online con un tiempo m\u00ednimo de inactividad de la aplicaci\u00f3n.<\/p>\n<p>Una migraci\u00f3n fuera de l\u00ednea podr\u00eda ser m\u00e1s r\u00e1pida en general y requerir menos recursos adicionales en t\u00e9rminos de espacio en disco o nodos adicionales.<\/p>\n<h3>Migraci\u00f3n fuera de l\u00ednea<\/h3>\n<p>Si decide realizar la migraci\u00f3n sin conexi\u00f3n, puede utilizar N1QL o Backup\/Restore. Vamos a ver m\u00e1s detenidamente ambas opciones.<\/p>\n<h4>Uso de N1QL para una migraci\u00f3n sin conexi\u00f3n<\/h4>\n<p><strong>Requisito previo<\/strong>: El cl\u00faster debe disponer de espacio libre en disco y utilizar el servicio de consulta.<\/p>\n<p>Siguiendo este planteamiento, su migraci\u00f3n ser\u00eda algo parecido a lo siguiente:<\/p>\n<ol>\n<li>Crear nuevos \u00e1mbitos, colecciones e \u00edndices.<\/li>\n<li>Desconecte la aplicaci\u00f3n antigua.<\/li>\n<li>Para cada Colecci\u00f3n nombrada:\n<ul>\n<li>Insert-Select from `_default` Collection to named Collection (using appropriate filters).<\/li>\n<li>Delete data from `_default` Collection that was migrated in above step (to save space; or if space is not an issue, you can do this at the end).<\/li>\n<\/ul>\n<\/li>\n<li>Verifique los datos migrados.<\/li>\n<li>Tirar cubos viejos.<\/li>\n<li>En l\u00ednea su nueva solicitud.<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h4>Utilizar la copia de seguridad\/restauraci\u00f3n para una migraci\u00f3n sin conexi\u00f3n<\/h4>\n<p><strong>Requisito previo<\/strong>: Necesitas espacio en disco para almacenar los archivos de copia de seguridad.<br \/>\nCon este enfoque, tu migraci\u00f3n tendr\u00eda este aspecto:<\/p>\n<ol>\n<li>Crear nuevos \u00e1mbitos, colecciones e \u00edndices<\/li>\n<li>Desconectar la aplicaci\u00f3n<\/li>\n<li>Take backup (`cbbackupmgr`) of 7.0 cluster<\/li>\n<li>Restore using explicit mapping to named Collections. Use `&#8211;filter-keys` and `&#8211;map-data` (see examples 1 and 2 below).<\/li>\n<li>En l\u00ednea su nueva solicitud.<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h5>Ejemplo 1: Sin filtrado durante la restauraci\u00f3n<\/h5>\n<p>This example moves the entire `_default` Collection to a named Collection. (This is the likely case for the consolidation scenario).<\/p>\n<pre class=\"lang:default decode:true\" title=\"Restaurar en una colecci\u00f3n sin filtros\">\/\/ Backup the default Scope of a Bucket upgraded to 7.0\r\n\r\ncbbackupmgr config -a  backup -r test-01 --include-data beer-sample._default\r\ncbbackupmgr backup -a  backup -r test-01 -c localhost -u Administrator -p password\r\n\r\n\/\/ Restore above backup to a named Collection\r\n\r\ncbbackupmgr restore -a  backup -r test-01 -c localhost -u Administrator -p password  --map-data beer-sample._default._default=beer-sample.beer-service.service_01\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h5>Ejemplo 2: Restauraci\u00f3n con filtrado<\/h5>\n<p>This example moves portions of `_default` Collection to different named Collections (This is the likely case for the splitting scenario).<\/p>\n<pre class=\"lang:default decode:true\" title=\"Restaurar en una colecci\u00f3n con nombre y filtro\">\/\/ Backup the travel-sample Bucket from a cluster upgraded to 7.0\r\n\r\ncbbackupmgr config -a  backup -r test-02 --include-data travel-sample\r\ncbbackupmgr backup -a  backup -r test-02 -c localhost -u Administrator -p password\r\n\r\n\/\/ Restore type=\u2019airport\u2019 documents to a Collection travel.booking.airport\r\ncbbackupmgr restore -a  backup -r test-02 -c localhost -u Administrator -p password  --map-data travel-sample._default._default=travel.booking.airport --auto-create-buckets --filter-values '\"type\":\"airport\"'\r\n\r\n\/\/ Restore key_prefix =\u2019airport\u2019 documents to a Collection travel.booking.airport\r\ncbbackupmgr restore -a  backup -r test-02 -c localhost -u Administrator -p password  --map-data travel-sample._default._default=travel.booking.airport --auto-create-buckets --filter-keys airport_*\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h3>Migraci\u00f3n en l\u00ednea con XDCR<\/h3>\n<p>Para realizar una migraci\u00f3n principalmente en l\u00ednea, es necesario utilizar la replicaci\u00f3n entre centros de datos (XDCR).<\/p>\n<p>Dependiendo de la capacidad disponible en el cl\u00faster existente, puede hacer autoXDCR (donde el origen y el destino Bucket est\u00e1n en el mismo cl\u00faster), o puede configurar un cl\u00faster independiente para replicar a.<\/p>\n<p>Estos son los pasos que debes seguir:<\/p>\n<ol>\n<li>Configure XDCR desde su cl\u00faster de origen a su cl\u00faster de destino (puede hacer autoXDCR si dispone de espacio en disco y recursos inform\u00e1ticos de sobra en el cl\u00faster original).<\/li>\n<li>Crear nuevos Cubos, \u00c1mbitos y Colecciones.<\/li>\n<li>Set up replications either directly from a Bucket to a `bucket.scope.collection` or using Migration Mode (details shown below) if a single Bucket&#8217;s default Collection has to be split into multiple Collections.<\/li>\n<li>Se pueden especificar reglas de asignaci\u00f3n expl\u00edcitas para cada destino con el fin de especificar subconjuntos de datos.<\/li>\n<li>Una vez que los destinos de replicaci\u00f3n est\u00e9n al d\u00eda, desconecte su antigua aplicaci\u00f3n.<\/li>\n<li>Conecte su nueva aplicaci\u00f3n dirigi\u00e9ndola al nuevo cluster (o al nuevo Bucket si utiliza self-XDCR).<\/li>\n<li>Elimine su antiguo cluster (o su antiguo Bucket si utiliza self-XDCR).<\/li>\n<\/ol>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h4>Uso de XDCR para migrar de varios cubos a uno solo<\/h4>\n<p>Estos pasos son para el escenario de consolidaci\u00f3n.<\/p>\n<p>La configuraci\u00f3n XDCR ser\u00e1 algo parecido a lo siguiente:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Para cada Bucket de origen, configure una replicaci\u00f3n a la Colecci\u00f3n nombrada en el Bucket de destino y Alcance<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>La siguiente captura de pantalla muestra la configuraci\u00f3n XDCR para una fuente Bucket:<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRDefaultCollectionToNamedCollection.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9888\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRDefaultCollectionToNamedCollection.png\" alt=\"Using cross data center replication (XDCR) from the default Collection to a named Collection\" width=\"3256\" height=\"1326\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection.png 3256w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-300x122.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-1024x417.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-768x313.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-1536x626.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-2048x834.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRDefaultCollectionToNamedCollection-1320x538.png 1320w\" sizes=\"auto, (max-width: 3256px) 100vw, 3256px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h4>Uso de XDCR para dividir varias colecciones en un mismo cubo<\/h4>\n<p>Estos pasos son para el escenario de divisi\u00f3n.<\/p>\n<p>In order to map the source `_default` Collection to multiple target Collections, you should use the Migration Mode provided by XDCR.<\/p>\n<p>Las pantallas XDCR que aparecen a continuaci\u00f3n muestran el Modo Migraci\u00f3n que se est\u00e1 utilizando:<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRSetUp1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9889\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRSetUp1.png\" alt=\"XDCR migration mode for Couchbase 7.0\" width=\"2604\" height=\"1208\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1.png 2604w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-300x139.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-1024x475.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-768x356.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-1536x713.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-2048x950.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp1-1320x612.png 1320w\" sizes=\"auto, (max-width: 2604px) 100vw, 2604px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRSetUp2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9890\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/XDCRSetUp2.png\" alt=\"XDCR migration mode using mapping rules\" width=\"3202\" height=\"682\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2.png 3202w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-300x64.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-1024x218.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-768x164.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-1536x327.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-2048x436.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/XDCRSetUp2-1320x281.png 1320w\" sizes=\"auto, (max-width: 3202px) 100vw, 3202px\" \/><\/a><\/p>\n<p>There are four filters you need to set up: (`Travel-sample._default._default` is the source. A new Bucket called `Travel` is the target.)<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>filter `type=&#8221;airport&#8221;`, replicate to `Inventory:Airport`<\/li>\n<li>filter `type=&#8221;airline&#8221;`, replicate to `Inventory:Airline`<\/li>\n<li>filter `type=&#8221;hotel&#8221;`, replicate to `Inventory:Hotel`<\/li>\n<li>filter `type=&#8221;route&#8221;`, replicate to `Inventory:Route`<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Planifique y aplique su estrategia de seguridad de bases de datos<\/h2>\n<p>Ahora que tiene todos sus datos en \u00e1mbitos y colecciones con nombre, tiene un control m\u00e1s preciso sobre los datos a los que puede asignar privilegios. Antes s\u00f3lo pod\u00edas hacerlo a nivel de Bucket.<\/p>\n<p>Para obtener m\u00e1s informaci\u00f3n sobre la seguridad del control de acceso basado en funciones (RBAC) para \u00e1mbitos y colecciones, lea este art\u00edculo: <a href=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-rbac-security-for-collections\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Introducci\u00f3n a la seguridad RBAC para colecciones<\/a> o consulte el <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/manage\/manage-security\/manage-users-and-roles.html?ref=blog\" target=\"_blank\" rel=\"noopener\">documentaci\u00f3n sobre RBAC<\/a>.<\/p>\n<p>Los siguientes roles est\u00e1n disponibles a nivel de Scope y Collection en Couchbase 7.<\/p>\n<p>Funciones administrativas:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>La funci\u00f3n Administrador de \u00e1mbito est\u00e1 disponible a nivel de \u00e1mbito. Un administrador de \u00e1mbito puede administrar las colecciones de su \u00e1mbito.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Funciones del lector de datos:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Lector de datos<\/li>\n<li>Redactor de datos<\/li>\n<li>Lector DCP de datos<\/li>\n<li>Supervisi\u00f3n de datos<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Funciones de consulta:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Buscador FTS<\/li>\n<li>Seleccionar consulta<\/li>\n<li>Actualizaci\u00f3n de consultas<\/li>\n<li>Insertar consulta<\/li>\n<li>Consulta Borrar<\/li>\n<li>Consulta Gestionar \u00edndice<\/li>\n<li>Funciones de gesti\u00f3n de consultas<\/li>\n<li>Funciones de ejecuci\u00f3n de consultas<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Espero que esta gu\u00eda te ayude a migrar con \u00e9xito a Scopes y Collections en Couchbase 7.<\/p>\n<p>Para m\u00e1s informaci\u00f3n sobre la versi\u00f3n 7.0, <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/introduction\/whats-new.html?ref=blog\" target=\"_blank\" rel=\"noopener\">consulte la documentaci\u00f3n sobre Novedades<\/a> o <a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/release-notes\/relnotes.html?ref=blog\" target=\"_blank\" rel=\"noopener\">leer las notas de la versi\u00f3n<\/a>.<\/p>\n<p>\u00bfQu\u00e9 opina de la nueva funci\u00f3n \u00c1mbitos y colecciones? Espero sus comentarios sobre <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/?ref=blog\" target=\"_blank\" rel=\"noopener\">los foros de Couchbase<\/a>.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 30px\" aria-hidden=\"true\"><\/div>\n<div style=\"text-align: center\"><strong>\u00bfListo para probar Scopes and Collections?<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?ref=blog\" target=\"_blank\" rel=\"noopener\">Descubra 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>Whether you&#8217;re new to Couchbase or a seasoned vet, you&#8217;ve likely heard about Scopes and Collections. If you&#8217;re ready to try them out for yourself, this article helps you make it happen. Scopes and Collections are a new feature introduced [&hellip;]<\/p>","protected":false},"author":31463,"featured_media":11832,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,9416,1815,1821,1816,9415,1819,1818,9336,1812,2201],"tags":[1766,2313,2103,1903,1962,2184],"ppma_author":[9079],"class_list":["post-9884","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-backup","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server","category-xdcr","category-data-modeling","category-java","category-scopes-and-collections","category-n1ql-query","category-tools-sdks","tag-data-migration","tag-key-value","tag-microservices","tag-rbac","tag-role-based-access-control","tag-tco"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Scopes and Collections: Migrate to Couchbase 7.0<\/title>\n<meta name=\"description\" content=\"This blog post goes into detail about how you can plan your migration from an older Couchbase version to using Scopes and Collections in Couchbase 7.0.\" \/>\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\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Migrate to Scopes &amp; Collections in Couchbase 7.0\" \/>\n<meta property=\"og:description\" content=\"This blog post goes into detail about how you can plan your migration from an older Couchbase version to using Scopes and Collections in Couchbase 7.0.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-03T07:00:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:45:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections-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=\"Shivani Gupta\" \/>\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\/how-to-migrate-couchbase-7-scopes-collections-social.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Shivani Gupta\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\"},\"author\":{\"name\":\"Shivani Gupta\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1015706fa52f49e2e4ab139abda363b1\"},\"headline\":\"How to Migrate to Scopes &amp; Collections in Couchbase 7.0\",\"datePublished\":\"2021-09-03T07:00:50+00:00\",\"dateModified\":\"2025-06-14T03:45:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\"},\"wordCount\":1894,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png\",\"keywords\":[\"Data Migration\",\"key value\",\"microservices\",\"RBAC\",\"Role Based Access Control (RBAC)\",\"TCO\"],\"articleSection\":[\"Application Design\",\"Backup\",\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\",\"Cross Data Center Replication (XDCR)\",\"Data Modeling\",\"Java\",\"Scopes and Collections\",\"SQL++ \/ N1QL Query\",\"Tools &amp; SDKs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\",\"name\":\"Couchbase Scopes and Collections: Migrate to Couchbase 7.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png\",\"datePublished\":\"2021-09-03T07:00:50+00:00\",\"dateModified\":\"2025-06-14T03:45:58+00:00\",\"description\":\"This blog post goes into detail about how you can plan your migration from an older Couchbase version to using Scopes and Collections in Couchbase 7.0.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png\",\"width\":1200,\"height\":628,\"caption\":\"Learn how to migrate your database model in order to use Scopes and Collections in Couchbase 7.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Migrate to 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\/1015706fa52f49e2e4ab139abda363b1\",\"name\":\"Shivani Gupta\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/958854edc0e632ef5d325afcfa90cf32\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/21281e35ea9170ee660a9c1417cf39f4b04015e2628fd86f3d7580a305964fa8?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/21281e35ea9170ee660a9c1417cf39f4b04015e2628fd86f3d7580a305964fa8?s=96&d=mm&r=g\",\"caption\":\"Shivani Gupta\"},\"description\":\"Shivani Gupta is Director of Product Management at Couchbase for the Core Server. Shivani has over 20 years of varied experience in Big Data, Distributed Systems, and Databases at different companies including Oracle, Microsoft, VMWare, Hortonworks and now Couchbase.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/shivani-gupta\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Scopes and Collections: Migrate to Couchbase 7.0","description":"Esta entrada de blog entra en detalle sobre c\u00f3mo puedes planificar tu migraci\u00f3n desde una versi\u00f3n anterior de Couchbase a usar Scopes y Collections en Couchbase 7.0.","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\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/","og_locale":"es_MX","og_type":"article","og_title":"How to Migrate to Scopes &amp; Collections in Couchbase 7.0","og_description":"This blog post goes into detail about how you can plan your migration from an older Couchbase version to using Scopes and Collections in Couchbase 7.0.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-09-03T07:00:50+00:00","article_modified_time":"2025-06-14T03:45:58+00:00","og_image":[{"width":800,"height":418,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections-social.png","type":"image\/png"}],"author":"Shivani Gupta","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections-social.png","twitter_misc":{"Written by":"Shivani Gupta","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/"},"author":{"name":"Shivani Gupta","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/1015706fa52f49e2e4ab139abda363b1"},"headline":"How to Migrate to Scopes &amp; Collections in Couchbase 7.0","datePublished":"2021-09-03T07:00:50+00:00","dateModified":"2025-06-14T03:45:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/"},"wordCount":1894,"commentCount":6,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png","keywords":["Data Migration","key value","microservices","RBAC","Role Based Access Control (RBAC)","TCO"],"articleSection":["Application Design","Backup","Best Practices and Tutorials","Couchbase Architecture","Couchbase Server","Cross Data Center Replication (XDCR)","Data Modeling","Java","Scopes and Collections","SQL++ \/ N1QL Query","Tools &amp; SDKs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/","url":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/","name":"Couchbase Scopes and Collections: Migrate to Couchbase 7.0","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png","datePublished":"2021-09-03T07:00:50+00:00","dateModified":"2025-06-14T03:45:58+00:00","description":"Esta entrada de blog entra en detalle sobre c\u00f3mo puedes planificar tu migraci\u00f3n desde una versi\u00f3n anterior de Couchbase a usar Scopes y Collections en Couchbase 7.0.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/how-to-migrate-couchbase-7-scopes-collections.png","width":1200,"height":628,"caption":"Learn how to migrate your database model in order to use Scopes and Collections in Couchbase 7.0"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/how-to-migrate-to-scopes-and-collections-in-couchbase-7-0\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Migrate to 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\/1015706fa52f49e2e4ab139abda363b1","name":"Shivani Gupta","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/958854edc0e632ef5d325afcfa90cf32","url":"https:\/\/secure.gravatar.com\/avatar\/21281e35ea9170ee660a9c1417cf39f4b04015e2628fd86f3d7580a305964fa8?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21281e35ea9170ee660a9c1417cf39f4b04015e2628fd86f3d7580a305964fa8?s=96&d=mm&r=g","caption":"Shivani Gupta"},"description":"Shivani Gupta es Directora de Gesti\u00f3n de Producto en Couchbase para el Core Server. Shivani tiene m\u00e1s de 20 a\u00f1os de experiencia variada en Big Data, Sistemas Distribuidos y Bases de Datos en diferentes empresas, incluyendo Oracle, Microsoft, VMWare, Hortonworks y ahora Couchbase.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/shivani-gupta\/"}]}},"authors":[{"term_id":9079,"user_id":31463,"is_guest":0,"slug":"shivani-gupta","display_name":"Shivani Gupta","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/21281e35ea9170ee660a9c1417cf39f4b04015e2628fd86f3d7580a305964fa8?s=96&d=mm&r=g","author_category":"","last_name":"Gupta","first_name":"Shivani","job_title":"","user_url":"","description":"Shivani Gupta es Directora de Gesti\u00f3n de Producto en Couchbase para el Core Server. Shivani tiene m\u00e1s de 20 a\u00f1os de experiencia variada en Big Data, Sistemas Distribuidos y Bases de Datos en diferentes empresas, incluyendo Oracle, Microsoft, VMWare, Hortonworks y ahora Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9884","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\/31463"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=9884"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9884\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/11832"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=9884"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=9884"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=9884"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=9884"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}