Puedes restaurar una copia de seguridad de una base de datos de Spanner en una base de datos nueva. La base de datos restaurada tendrá todos los datos y el esquema de la base de datos original en el momento version_time
de la copia de seguridad, incluidas todas las opciones de la base de datos que se hayan definido con el comando ALTER DATABASE SET OPTIONS
. Sin embargo, no se incluyen los siguientes elementos en la base de datos restaurada:
- Permisos de gestión de identidades y accesos (excepto los heredados de la instancia que contiene la base de datos restaurada). Debes aplicar los permisos de gestión de identidades y accesos adecuados una vez que se haya completado la restauración.
- Datos internos de cualquier flujo de cambios.
- Tiempo de vida (TTL) definido por una política de eliminación de filas. Debe volver a configurar estas políticas una vez que se haya completado la restauración. Para obtener más información, consulta Copias de seguridad y TTL.
- Puntos de división que has creado al dividir previamente una base de datos. Para obtener más información, consulta la introducción a la prepartición.
Cuando restauras una copia de seguridad, la base de datos restaurada se encuentra en la misma instancia, región y proyecto que la copia de seguridad de origen. Si necesitas restaurar la copia de seguridad en otra región u otro proyecto por motivos de cumplimiento o continuidad de negocio, puedes copiar la copia de seguridad en una instancia de otra región u otro proyecto y, a continuación, restaurarla.
Puedes usar la restauración a partir de una copia de seguridad de las siguientes formas:
- En la Google Cloud consola
- Usar Google Cloud CLI
- Usar las bibliotecas de cliente
- Usar las APIs REST o RPC
Cómo funciona la restauración de bases de datos a partir de una copia de seguridad
Cuando restauras una base de datos de Spanner, debes especificar una copia de seguridad de origen y una base de datos de destino nueva. No puedes restaurar una base de datos que ya exista.
La base de datos recién restaurada debe estar en el mismo proyecto que la copia de seguridad y en una instancia con la misma configuración de instancia y la misma edición de Spanner (o una de nivel superior) que la copia de seguridad. Por ejemplo, si una copia de seguridad está en una instancia configurada como us-west3
y usa la edición Enterprise, se puede restaurar en cualquier instancia del proyecto que también esté configurada como us-west3
y use la edición Enterprise. Si restauras una copia de seguridad de una instancia de la edición Enterprise en una instancia de la edición Standard, es posible que la restauración falle si la base de datos usa funciones de la edición Enterprise. No es necesario que la capacidad de computación de las instancias sea la misma.
El proceso de restauración se ha diseñado para ofrecer alta disponibilidad. La base de datos se puede restaurar siempre que esté disponible la mayoría de las regiones y zonas de la instancia.
Para restaurar una copia de seguridad habilitada con CMEK, tanto la clave como la versión de la clave deben estar disponibles para Spanner. De forma predeterminada, la base de datos restaurada usa las mismas configuraciones de cifrado que la copia de seguridad. Puedes anular este comportamiento especificando una configuración de cifrado diferente al restaurar la base de datos. Para obtener más información, consulta Restaurar desde una copia de seguridad con CMEK.
Restaurar una copia de seguridad en otra región u otro proyecto
Si necesitas restaurar la copia de seguridad en otra región u otro proyecto, primero cópiala en la región o el proyecto que elijas. Las copias de seguridad copiadas se pueden restaurar en cuanto se complete la copia. Puedes restaurar la copia de seguridad en la instancia de destino (siempre que utilice la misma edición que la instancia de origen de la copia de seguridad) o en cualquier instancia que tenga la misma configuración y la misma edición (o una de nivel superior) que la instancia de destino. Antes de restaurar, asegúrate de que la instancia de destino tenga suficientes nodos o unidades de procesamiento aprovisionados para admitir el tamaño de la base de datos de acuerdo con el límite de almacenamiento de 10 TB por nodo (es decir, necesitas al menos 2 nodos para restaurar una copia de seguridad de 20 TB). Si has copiado la copia de seguridad en otro proyecto y quieres restaurarla allí, asegúrate de que el proyecto de destino tenga suficientes cuotas de nodos para la restauración. Restaurar una copia de seguridad copiada funciona igual que una restauración normal.
Estados de restauración
Una base de datos restaurada pasa por tres estados, que se monitorizan mediante dos operaciones de larga duración.
CREATING
: Spanner empieza la restauración creando una base de datos y montando archivos de la copia de seguridad. Durante este estado inicialCREATING
, la base de datos restaurada aún no está lista para usarse. Este estado suele completarse en una hora. Cuando el estado deCREATING
se haya completado, podrás usar tu base de datos.Para hacer un seguimiento del progreso de este estado, puedes consultar la operación de restauración de larga duración que Spanner pone a tu disposición durante este proceso. Devuelve un objeto
RestoreDatabaseMetadata
.Ten en cuenta las siguientes advertencias sobre el estado
CREATING
:- Si vas a restaurar una copia de seguridad en otra instancia, la operación de restauración pertenecerá a la instancia que contenga la base de datos restaurada, no a la instancia que contenga la copia de seguridad.
- Spanner no te permitirá eliminar la copia de seguridad mientras se esté restaurando. Puedes eliminarla una vez que se haya completado la restauración y la base de datos pase al estado
READY
. - Una instancia puede tener un máximo de diez bases de datos en el estado
CREATING
debido a la restauración de copias de seguridad. No podrás restaurar otra copia de seguridad en la instancia hasta que una de las diez bases de datos restauradas pase al estadoREADY_OPTIMIZING
oREADY
.
READY_OPTIMIZING
: Después de que Spanner monte la copia de seguridad, empezará a copiar los datos de la copia de seguridad en la nueva base de datos y, al mismo tiempo, optimizará el tamaño almacenado. Tu base de datos estará lista para usarse durante este proceso. Esta fase de la restauración suele tardar unas horas en completarse en bases de datos de menos de 100 TB.Aunque puedes usar tu base de datos con normalidad durante la
READY_OPTIMIZING
, debes tener en cuenta lo siguiente:- Las latencias de lectura pueden ser ligeramente superiores a lo habitual.
- Las métricas de almacenamiento muestran el tamaño de la nueva base de datos, no de la copia de seguridad. Por lo tanto, mientras la transferencia de datos esté en curso, las métricas de almacenamiento de Spanner pueden mostrar resultados que no reflejen el tamaño total de todos sus datos.
- Al igual que en el estado
CREATING
, Spanner no te permitirá eliminar la copia de seguridad montada.
Spanner ofrece otra operación de restauración de larga duración durante este estado, que devuelve un objeto de metadatos
OptimizeRestoredDatabaseMetadata
.READY
: Una vez que se completa la operación de copia y optimización, la base de datos pasa al estadoREADY
. La base de datos se ha restaurado por completo y ya no hace referencia a la copia de seguridad ni la necesita.
Control de acceso (IAM)
El rol spanner.restoreAdmin
te da permiso para restaurar a partir de una copia de seguridad.
Para obtener más información, consulta Control de acceso con IAM.
Los siguientes roles también tienen acceso a las operaciones de restauración de Spanner:
spanner.admin
: tiene acceso completo a la restauración. Este rol tiene acceso completo a todos los recursos de Spanner.owner
: tiene acceso completo a la restauración.editor
: tiene acceso completo a la restauración.viewer
: tiene acceso para ver y restaurar operaciones. Este rol no puede crear, actualizar, eliminar ni copiar una copia de seguridad.
Precios
No se cobra por restaurar a partir de una copia de seguridad.
Siguientes pasos
- Para restaurar una base de datos a partir de una copia de seguridad, consulta Restaurar a partir de una copia de seguridad.