En este documento, se proporciona una descripción general de las copias de seguridad y los programas de copias de seguridad de Spanner.
Spanner te permite crear copias de seguridad completas de bases de datos a pedido y copias de seguridad completas o incrementales con un programa de copias de seguridad. Las copias de seguridad completas almacenan todos los datos de una base de datos, mientras que las copias de seguridad incrementales solo contienen los datos que cambiaron desde una copia de seguridad anterior.
Puedes restablecer las copias de seguridad cuando los errores del operador o de la aplicación causen corrupción de datos lógicos.
Las copias de seguridad son altamente disponibles, encriptadas y se pueden retener hasta por un año a partir de la fecha de su creación. Cuando creas una c copia de seguridad, esta reside en la misma instancia, región y proyecto que su base de datos de origen. Si necesitas restablecer la copia de seguridad en una región o un proyecto diferentes por motivos de cumplimiento o continuidad del negocio, puedes copiarla en una instancia de una región o un proyecto independientes.
Cada copia de seguridad tiene un createTime
y un versionTime
asociados. createTime
es la marca de tiempo cuando Spanner comienza a crear la copia de seguridad.
versionTime
es la marca de tiempo en la que se captura el contenido de la base de datos en la copia de seguridad. La copia de seguridad contiene una vista coherente de la base de datos en el versionTime
.
En el caso de las copias de seguridad a pedido, createTime
y versionTime
son los mismos de forma predeterminada. Si es necesario, puedes especificar una versionTime
anterior cuando crees una copia de seguridad on demand si está dentro del período de retención de la versión de la base de datos.
En el caso de las copias de seguridad programadas, versionTime
es la hora que eliges cuando creas la programación de copias de seguridad. Spanner comienza a crear la copia de seguridad en un plazo de cuatro horas después de versionTime
, por lo que createTime
se encuentra dentro de este período.
Esto es diferente a las copias de seguridad a pedido, en las que Spanner comienza a crear la copia de seguridad cuando recibe la solicitud.
Por ejemplo, supongamos que creas una programación de copias de seguridad con una frecuencia de 0 7 * * * UTC
o todos los días a las 7:00 a.m. (UTC). Esto significa que, para cada copia de seguridad, versionTime
se establece a las 7:00 a.m. (UTC) y createTime
es una marca de tiempo dentro del período de cuatro horas entre las 7:00 a.m. (UTC) y las 11:00 a.m. (UTC).
Para obtener más información sobre el uso de createTime
y versionTime
con la API, consulta la referencia de la API de Backup.
Características clave
Coherencia de los datos: Las copias de seguridad de una base de datos de Spanner son transaccionalmente y coherentes de forma externa en el
versionTime
de la copia de seguridad.Replicación: Las copias de seguridad residen en la misma instancia que su base de datos de origen y se replican en las mismas ubicaciones geográficas. En el caso de las instancias regionales, la copia de seguridad se almacena en cada una de las tres zonas de lectura y escritura. En el caso de las instancias multirregionales y de doble región, la copia de seguridad se almacena en todas las zonas que contienen una réplica de solo lectura o de lectura y escritura. Si necesitas almacenar la copia de seguridad de tu base de datos en una región o un proyecto diferentes, puedes copiar la copia de seguridad completa de la instancia de origen a una instancia de destino ubicada en una región o un proyecto diferentes. Para obtener más información, consulta Cómo copiar una copia de seguridad.
Vencimiento automático: Todas las copias de seguridad tienen una fecha de vencimiento especificada por el usuario que determina cuándo se borra automáticamente. Spanner borra las copias de seguridad vencidas de forma asíncrona, por lo que puede haber una demora entre el momento en que vence una copia de seguridad y el momento en que se borra.
Creación de copias de seguridad
Cuando creas una copia de seguridad, esta se encuentra en la misma instancia, región y proyecto que su base de datos de origen.
Una copia de seguridad contiene la siguiente información de la base de datos en el versionTime
de la copia de seguridad:
- Una copia de seguridad completa contiene todos los datos. Una copia de seguridad incremental solo contiene los datos que cambiaron desde una copia de seguridad anterior.
- Información del esquema, incluidos los nombres de las tablas, los campos, los tipos de datos, los índices secundarios, los flujos de cambios y las relaciones entre estas entidades
- Todas las opciones de la base de datos que se configuran con el comando
ALTER DATABASE SET OPTIONS
Una copia de seguridad de Spanner no incluye la siguiente información:
- Cualquier modificación de los datos o el esquema después de la
versionTime
- Políticas de administración de identidades y accesos (IAM)
- Cambia los registros de datos de flujo. Aunque se almacena el esquema de los flujos de cambios, los datos de los flujos de cambios están destinados a transmitirse y consumirse de forma casi simultánea con los cambios que describen.
Para ayudar a garantizar la coherencia externa de la copia de seguridad, Spanner fija el contenido de la base de datos en versionTime
.
Esto evita que el sistema de recolección de basura quite los valores de datos relevantes durante la operación de copia de seguridad. Luego, cada zona de lectura y escritura de la instancia comienza a copiar los datos en paralelo. Si alguna zona no está disponible temporalmente, la copia de seguridad
no se completará hasta que la zona vuelva a estar en línea. Las copias de seguridad se pueden restablecer apenas se completa la operación. En el caso de las instancias multirregionales, todas las zonas de lectura y escritura, y de solo lectura de todas las regiones deben completar sus réplicas de copia de seguridad antes de que la copia de seguridad se marque como restaurable.
Programaciones de copias de seguridad
Spanner te permite programar copias de seguridad completas o incrementadas para las bases de datos. Una copia de seguridad incremental solo contiene los datos que cambiaron desde una copia de seguridad anterior, mientras que las copias de seguridad completas almacenan todo el contenido de la base de datos. Puedes especificar el tipo de programación de copias de seguridad (completa o incremental) y la frecuencia para que Spanner cree copias de seguridad.
Una programación de copia de seguridad completa puede crear una copia de seguridad cada 12 horas o más. Un programa de copias de seguridad incrementales puede crear una copia de seguridad cada 4 horas o más.
Spanner ofrece copias de seguridad incrementales para tu base de datos a través de una programación de copias de seguridad. No puedes crear una copia de seguridad incremental a pedido.
La creación de la copia de seguridad comienza en un período de cuatro horas a partir de la hora programada. Puedes tener un máximo de cuatro programas de copia de seguridad por base de datos.
Copias de seguridad incrementales
Las copias de seguridad incrementales forman cadenas entre las copias de seguridad completas. La primera copia de seguridad que crea una programación de copias de seguridad incrementales es una copia de seguridad completa. Las copias de seguridad consecutivas que se crean en la cadena son copias de seguridad incrementales, cada una de las cuales contiene solo los datos que cambiaron desde la copia de seguridad anterior en la cadena.
Spanner permite hasta 13 copias de seguridad incrementales por cadena, además de la copia de seguridad completa inicial. Una cadena se identifica con el valor incrementalBackupChainId
correspondiente.
Cuando una cadena alcanza su longitud máxima,
Spanner crea una nueva, comenzando con la copia de seguridad completa inicial.
En algunos casos, Spanner podría crear una cadena nueva antes de que se produzca la longitud máxima de la cadena. A continuación, se muestran algunas de las situaciones:
- La copia de seguridad completa más antigua se creó hace 28 días o más.
- Se borra la copia de seguridad más reciente de la cadena.
- Se modifica el programa de copias de seguridad incrementales.
Estos son algunos factores que pueden ayudarte a tomar una decisión sobre el uso de copias de seguridad incrementales:
Encriptación: Las copias de seguridad incrementales admiten la encriptación solo conGoogle-owned and Google-managed encryption keys , incluso si la base de datos está encriptada con una clave de encriptación administrada por el cliente (CMEK).
Restablecimiento: El restablecimiento de una copia de seguridad incremental puede tardar más que el restablecimiento de una copia de seguridad completa que contiene los mismos datos.
Eliminación: Si borras una copia de seguridad de una cadena o esta vence, es posible que Spanner la conserve para admitir copias de seguridad más recientes en la cadena, si las hay. Spanner necesita todas las copias de seguridad anteriores de la cadena para restablecer una copia de seguridad incremental. Para borrar todos los datos de una cadena de copias de seguridad, incluidas las copias de seguridad vencidas o borradas, borra todas las copias de seguridad de la cadena.
Retención: Cada programación de copias de seguridad tiene los siguientes términos que ofrecen información sobre la programación:
creation_interval
: Representa la frecuencia de programación especificada para la programación de la copia de seguridad.retention_duration
: Representa durante cuánto tiempo se retienen las copias de seguridad que crea la programación. Para una cadena determinada, la copia de seguridad completa más antigua se retiene después de su fecha de vencimiento original si es necesario para admitir copias de seguridad más recientes en la cadena. La duración total de retención de la copia de seguridad completa es, como máximo, el valor más bajo de los siguientes:retention_duration
+ 28 díasretention_duration
+ (creation_interval
*14)
Copia de seguridad: Cuando copias una copia de seguridad incremental, Spanner copia la cadena de copias de seguridad, desde la copia de seguridad completa inicial hasta la copia de seguridad incremental específica que deseas copiar. Spanner te cobra según el almacenamiento total utilizado.
Para obtener más información sobre cómo crear copias de seguridad incrementales, consulta Crea y administra programas de copias de seguridad.
Programaciones de copias de seguridad predeterminadas
Cuando creas una instancia de Spanner nueva, puedes especificar si quieres que Spanner cree una programación de copia de seguridad predeterminada para cada base de datos nueva de la instancia. La programación de copias de seguridad predeterminada crea una copia de seguridad completa cada 24 horas. Estas copias de seguridad tienen un período de retención de 7 días. Puedes editar o borrar la programación predeterminada de copias de seguridad una vez que se crea.
Los programas de copia de seguridad predeterminados se habilitan automáticamente para todas las instancias nuevas. Puedes habilitar o inhabilitar las programaciones de copias de seguridad predeterminadas en una instancia cuando la creas o cuando la editas más adelante.
Puedes habilitar programaciones de copias de seguridad predeterminadas para instancias existentes. Sin embargo, los programas de copia de seguridad predeterminados no se aplican a las bases de datos existentes en la instancia. Los programas de copia de seguridad predeterminados solo se aplican a las bases de datos nuevas de la instancia.
La programación predeterminada de copias de seguridad tarda 24 horas en activarse y comenzar a crearlas.
Debes borrar todas las copias de seguridad de una instancia antes de borrarla. Si estás creando y borrando instancias con fines de prueba, puedes borrar la instancia nueva en un plazo de 24 horas para evitar borrar sus copias de seguridad de forma manual.
Para obtener instrucciones sobre cómo habilitar o inhabilitar las programaciones de copias de seguridad predeterminadas, consulta Edita el tipo de programación de copias de seguridad predeterminada.
Costos de almacenamiento de copias de seguridad completas e incrementales
Cada copia de seguridad de Spanner tiene los siguientes campos que ofrecen información sobre el consumo de almacenamiento:
exclusiveSizeBytes
: Muestra la cantidad de bytes que requiere la copia de seguridad. Este tamaño representa el tamaño facturable de la copia de seguridad.freeableSizeBytes
: Muestra la cantidad de bytes que se liberan si borras la copia de seguridad.oldestVersionTime
: Muestra elversionTime
de la copia de seguridad completa más antigua de la cadena, incluso si esa copia de seguridad venció. Puedes usar este campo para comprender qué datos se almacenan.
Las copias de seguridad incrementales pueden ahorrarte costos de almacenamiento. Una copia de seguridad incremental puede tener un campo exclusiveSizeBytes
mucho más pequeño que una copia de seguridad completa, ya que solo necesita almacenar los cambios desde la copia de seguridad anterior en la cadena.
Si agregas este valor de campo para cada copia de seguridad de la cadena, se refleja la cantidad total de bytes que usan las copias de seguridad de la cadena.
Una copia de seguridad incremental depende de todas las copias de seguridad anteriores de la misma cadena para el restablecimiento.
Esto significa que, si existe una copia de seguridad incremental más reciente, los datos de todas las copias de seguridad más antiguas de la cadena no se pueden borrar del sistema y el campo freeableSizeBytes
de todas las copias de seguridad más antiguas de la misma cadena es cero.
Supongamos que creaste un programa de copias de seguridad completas y un programa de copias de seguridad incrementales para una base de datos que tiene un tamaño de 100 GB y aumenta en 10 GB todos los días. En la siguiente tabla, se muestran los posibles costos de almacenamiento para estos programas de copia de seguridad:
Día | Tamaño de la copia de seguridad de la programación completa | Tamaño de la copia de seguridad de la programación incremental |
---|---|---|
1 | 100 GB | 100 GB |
2 | 110 GB | 10 GB |
3 | 120 GB | 10 GB |
4 | 130 GB | 10 GB |
5 | 140 GB | 10 GB |
En 5 días, la programación de copias de seguridad completas usa 600 GB de almacenamiento, mientras que la programación de copias de seguridad incrementales usa alrededor de 140 GB de almacenamiento.
Para una programación de copias de seguridad incrementales, el tamaño de la copia de seguridad completa es la suma de los tamaños de todas las copias de seguridad de la cadena, hasta esa copia de seguridad, y se refleja en el campo sizeBytes
.
Cómo funciona la copia de copias de seguridad
Spanner te permite copiar una copia de seguridad de tu base de datos de Spanner de una instancia a otra instancia en una región o un proyecto diferentes para proporcionar capacidades de protección y cumplimiento de datos adicionales.
No puedes copiar una copia de seguridad si la región Google Cloud de destino o fuente está inactiva. Para proteger tus datos si hay una interrupción regional, debes copiar tu copia de seguridad periódicamente a una ubicación fuera de la región afectada.
La copia de seguridad copiada tiene las mismas funciones clave que la copia de seguridad original. Además, puedes restablecer una copia de seguridad en la misma instancia que la copia para admitir casos de uso de copia de seguridad y restablecimiento entre regiones y proyectos.
Dónde se almacenan las copias de seguridad de Spanner
Las copias de seguridad son recursos de Spanner. Cada recurso de copia de seguridad se organiza en la misma instancia que su base de datos de origen en la jerarquía de recursos y tiene una ruta de acceso a recursos que usa el siguiente formato:
projects/PROJECT_ID/instances/INSTANCE_ID/backups/BACKUP_NAME
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto.INSTANCE_ID
: El ID de la instancia.BACKUP_NAME
: El nombre de la copia de seguridad
Una copia de seguridad sigue existiendo incluso después de que se borra su base de datos de origen, pero no puede sobrevivir a su instancia superior. Para evitar la eliminación accidental de copias de seguridad, no puedes borrar una instancia de Spanner si tiene copias de seguridad. Si quieres borrar la instancia, te recomendamos que restablezcas la c copia de seguridad y, luego, exportes la base de datos restablecida antes de borrar la copia de seguridad y la instancia.
Encriptación
Las copias de seguridad de Spanner, al igual que las bases de datos, se encriptan conGoogle-owned and Google-managed encryption keys o con claves de encriptación administradas por el cliente (CMEK). De forma predeterminada, una copia de seguridad usa la misma configuración de encriptación que su base de datos, pero puedes anular este comportamiento si especificas una configuración de encriptación diferente cuando creas la copia de seguridad. Si la copia de seguridad está habilitada para CMEK, se encripta con la versión principal de la clave de KMS en el momento de su creación. Una vez creada la copia de seguridad, su clave y versión de clave no se pueden modificar, incluso si se rota la clave de KMS. Para obtener más información, consulta Cómo crear una copia de seguridad habilitada para CMEK.
Una copia de seguridad copiada usa la misma configuración de encriptación, ya seaGoogle-owned and Google-managed encryption keys o claves de encriptación administradas por el cliente (CMEK), como su encriptación de copia de seguridad de origen. Puedes anular este comportamiento si especificas una configuración de encriptación diferente cuando copias la copia de seguridad. Si deseas que la copia de seguridad copiada se encripte con CMEK cuando se copie entre regiones, especifica la clave de Cloud KMS correspondiente a la región de destino.
Puedes especificar la configuración de encriptación cuando crees o modifiques la programación de copias de seguridad. Si deseas que el programa de copias de seguridad cree copias de seguridad que se encripten con claves CMEK, debes especificar la ruta de acceso a la clave.
Las copias de seguridad incrementales admiten la encriptación solo conGoogle-owned and Google-managed encryption keys, incluso si la base de datos está encriptada con una clave de CMEK.
Rendimiento
En esta sección, se describe el rendimiento óptimo de las copias de seguridad en Spanner.
Rendimiento durante la creación de copias de seguridad
Cuando se crea una copia de seguridad, Spanner crea un trabajo de copia de seguridad para copiar los datos directamente de la base de datos al almacenamiento de copias de seguridad y ajusta el tamaño de este trabajo según el tamaño de la base de datos. Esta tarea de copia de seguridad no usa recursos de CPU asignados a la instancia de la base de datos, por lo que no afecta el rendimiento de la instancia. Además, la carga de procesamiento en la instancia de la base de datos no afecta la velocidad de la operación de copia de seguridad. Para hacer un seguimiento del progreso y la finalización de una operación de copia de seguridad, consulta Cómo mostrar el progreso de una copia de seguridad.
Por lo general, la mayoría de las copias de seguridad tardan entre 1 y 4 horas. Algunas copias de seguridad pueden tardar más debido a su tamaño o porque hay colas internas para los recursos. Si una copia de seguridad tarda más de lo habitual cuando no cambiaron otros factores, es posible que se deba a una demora en programar la tarea de copia de seguridad en una zona. En ocasiones, este proceso puede tardar hasta 30 minutos. Te recomendamos que no canceles ni reinicies la copia de seguridad, ya que es probable que encuentres el mismo retraso de programación con la nueva operación de copia de seguridad.
Rendimiento cuando se copia una copia de seguridad
El tiempo que lleva copiar una copia de seguridad depende de factores como el tamaño de la copia de seguridad de origen y la región de destino elegida para la copia de seguridad copiada. Por lo general, la mayoría de las copias se completan en un plazo de 1 a 4 horas. Algunas copias pueden tardar más según el tamaño de la copia de seguridad y la región de destino. Copiar una copia de seguridad no tiene ninguna implicación de rendimiento en la instancia o la base de datos de origen. Puedes crear varias copias simultáneas de la copia de seguridad de origen en instancias de diferentes regiones sin ningún problema de rendimiento.
Cuando copias una copia de seguridad incremental, Spanner también copia todas las copias de seguridad anteriores de la cadena. En lugar de copiar la cadena de copias de seguridad una por una, Spanner copia todas las copias de seguridad de forma simultánea para mejorar el rendimiento.
Borrar una copia de seguridad
Cuando borras una copia de seguridad incremental, es posible que no recuperes el almacenamiento si hay copias de seguridad incrementales más recientes en la misma cadena.
Las copias de seguridad incrementales más recientes dependen de los datos presentes en la copia de seguridad incremental borrada y de las copias de seguridad más antiguas de la cadena. Spanner retiene los datos y solo libera el almacenamiento cuando vencen todas las copias de seguridad incrementales más recientes.
El campo freeableSizeBytes
muestra cuánto espacio de almacenamiento puedes recuperar si borras la copia de seguridad.
Precios
Se te factura según la cantidad de almacenamiento que usan tus copias de seguridad por unidad de tiempo. La facturación comienza después de que se completa la operación de copia de seguridad y continúa hasta que se borra la copia de seguridad. Una copia de seguridad completa se factura por un mínimo de 24 horas. Si creas una copia de seguridad y la borras poco después de que termine, se te facturará durante 24 horas.
Una copia de una copia de seguridad está sujeta a los mismos costos de almacenamiento que una copia de seguridad original. Si creas una copia entre dos instancias que ocupan diferentes regiones, se aplican los costos de transferencia de datos salientes.
Por ejemplo, si copias tu base de datos de la configuración de instancia
multirregional de origen nam7
a la configuración de instancia
multirregional de destino nam-eur-asia3
, se aplican los siguientes cargos:
- Sin cargos por la superposición de la región de
us-central1
- Sin cargo para la región testigo
us-central2
- El cargo por transferencia de datos intercontinental se aplica dos veces: una por cada continente nuevo (Europa y Asia).
- El cargo por transferencia de datos entre regiones del mismo continente se aplica una vez para
us-east1
- El cargo por transferencia de datos entre regiones del mismo continente se aplica una vez en Europa.
Spanner optimiza el proceso de copia para minimizar la cantidad de transferencias entre regiones. Esto ayuda a minimizar los costos de transferencia de datos y, al mismo tiempo, proporciona una experiencia de copia de seguridad rápida.
Las copias de seguridad se almacenan y facturan por separado. El almacenamiento de copias de seguridad no afecta la facturación del almacenamiento de bases de datos ni los límites de almacenamiento de bases de datos. Para obtener más información, consulta Métricas de uso de almacenamiento.
Para obtener información más completa sobre los costos de las copias de seguridad, consulta los precios de Spanner.
¿Qué sigue?
Para crear copias de seguridad, consulta Cómo crear copias de seguridad.
Para administrar las copias de seguridad, consulta Administra copias de seguridad.