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 causan corrupción lógica de los datos.
Las copias de seguridad están altamente disponibles, encriptadas y se pueden conservar hasta por un año desde el momento en que se crean. Cuando creas una 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 proyecto diferente por motivos de cumplimiento o continuidad del negocio, puedes copiar la copia de seguridad en una instancia en una región o proyecto independiente.
Cada copia de seguridad tiene un createTime
y un versionTime
asociados. El createTime
es la marca de tiempo en la que Spanner comienza a crear la copia de seguridad.
El 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 versionTime
.
En el caso de las copias de seguridad a pedido, createTime
y versionTime
son iguales de forma predeterminada. Si es necesario, puedes especificar un versionTime
anterior cuando crees una copia de seguridad a pedido si se encuentra dentro del período de retención de versiones de la base de datos.
En el caso de las copias de seguridad programadas, el 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 desde la versionTime
, por lo que la createTime
se encuentra dentro de este período de cuatro horas.
Esto es diferente de 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, el parámetro versionTime
se establece en las 7:00 a.m. (UTC) y el parámetro 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 coherentes de forma transaccional y externa en el momento
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 región doble, la copia de seguridad se almacena en todas las zonas que contienen una réplica de lectura y escritura o de solo lectura. Si necesitas almacenar la copia de seguridad de tu base de datos en una región o proyecto diferente, puedes copiar la copia de seguridad completada de la instancia de origen a una instancia de destino ubicada en una región o proyecto diferente. 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 borrarán automáticamente. Spanner borra las copias de seguridad vencidas de forma asíncrona, por lo que puede haber un retraso 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 reside 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 momento 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
Las copias de seguridad de Spanner no incluyen la siguiente información:
- Cualquier modificación en los datos o el esquema después de
versionTime
- Políticas de Identity and Access Management (IAM)
- Registros de datos de flujos de cambios Aunque se almacena el esquema de los flujos de cambios, los datos de los flujos de cambios están diseñados para transmitirse y consumirse casi de forma 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 elementos no utilizados quite los valores de datos pertinentes durante la operación de copia de seguridad. Luego, cada zona de lectura y escritura y de solo lectura 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 en cuanto se complete 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 incrementales 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 con la que Spanner creará copias de seguridad.
Una programación de copias de seguridad completas 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 un programa 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 plazo de cuatro horas desde 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 se crea con 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 de 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 cadena que comienza con la copia de seguridad completa inicial.
En algunos casos, Spanner podría crear una nueva cadena antes de que se alcance la longitud máxima de la cadena. A continuación, se incluyen algunas situaciones posibles:
- 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 modificó la programación de la copia de seguridad incremental.
Estos son algunos factores que pueden ayudarte a decidir si usar 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: Restablecer una copia de seguridad incremental puede tardar más que restablecer una copia de seguridad completa que contenga los mismos datos.
Borrado: 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 existen. 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, incluidos los de las copias de seguridad borradas o vencidas, borra todas las copias de seguridad de la cadena.
Retención: Cada programación de copias de seguridad tiene las siguientes condiciones que ofrecen información sobre la programación:
creation_interval
: Representa la frecuencia de programación especificada para la programación de copias de seguridad.retention_duration
: Representa el tiempo durante el que se retienen las copias de seguridad creadas por la programación. En el caso de una cadena determinada, la copia de seguridad completa más antigua se conserva después de su fecha de vencimiento original si es necesaria para admitir copias de seguridad más recientes en la cadena. La duración total de la 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 también copia todas las copias de seguridad anteriores de la cadena que se requieren para restablecer la copia de seguridad copiada. Si la instancia de destino ya contiene una cadena de copias de seguridad que finaliza con una copia de seguridad anterior que se copió de la misma cadena de origen, Spanner evita crear copias redundantes de las copias de seguridad existentes. En cambio, Spanner solo copia la copia de seguridad incremental y las copias de seguridad más antiguas que no están presentes en la cadena de destino, y agrega estas copias de seguridad a la cadena existente. Spanner te cobra según el almacenamiento total utilizado.
Por ejemplo, si configuras un programa de copias de seguridad incrementales diarias y copias la copia de seguridad más reciente todos los días, la instancia de destino mantiene una cadena de copias de seguridad que refleja la cadena de origen. Spanner no duplica las copias de seguridad copiadas anteriormente dentro de la cadena durante las operaciones de copia posteriores.
Si bien Spanner tiene como objetivo evitar copias redundantes, en situaciones excepcionales, es posible que Spanner necesite copiar todas las copias de seguridad más antiguas de la cadena, incluso si ya existen copias de seguridad copiadas anteriormente en la instancia de destino.
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 deseas que Spanner cree un programa de copias de seguridad predeterminado para cada base de datos nueva de la instancia. La programación predeterminada de copias de seguridad 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 copias de seguridad predeterminados se habilitan automáticamente para todas las instancias nuevas. Puedes habilitar o inhabilitar las programaciones predeterminadas de copias de seguridad en una instancia cuando la creas o editándola más adelante.
Puedes habilitar programaciones de copias de seguridad predeterminadas para instancias existentes. Sin embargo, los programas de copias de seguridad predeterminados no se aplican a las bases de datos existentes en la instancia. Los programas de copias 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 crear copias de seguridad.
Debes borrar todas las copias de seguridad de una instancia antes de borrarla. Si creas y borras instancias con fines de prueba, puedes borrar la instancia nueva en un plazo de 24 horas para evitar borrar manualmente sus copias de seguridad.
Para obtener instrucciones sobre cómo habilitar o inhabilitar las programaciones predeterminadas de copias de seguridad, consulta Cómo editar el tipo de programación predeterminada de copias de seguridad.
Costos de almacenamiento para 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
significativamente más pequeño que una copia de seguridad completa, ya que la copia de seguridad incremental solo necesita almacenar los cambios desde la copia de seguridad anterior de la cadena.
Agregar este valor de campo para cada copia de seguridad de la cadena 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 su restablecimiento.
Esto significa que, si existe una copia de seguridad incremental más reciente, los datos de todas las copias de seguridad anteriores de la cadena no se pueden borrar del sistema y el campo freeableSizeBytes
de todas las copias de seguridad anteriores 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 copias de seguridad:
Día | Tamaño de la copia de seguridad programada completa | Tamaño de la copia de seguridad programada 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 un período de 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.
En el caso de un programa 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 seguridad
Spanner te permite copiar una copia de seguridad de tu base de datos de Spanner de una instancia a otra en una región o proyecto diferente para proporcionar capacidades adicionales de protección de datos y cumplimiento.
No puedes copiar una copia de seguridad si la región de destino o de origen Google Cloud está inactiva. Para proteger tus datos en caso de que haya una interrupción en la región, debes copiar periódicamente tus copias de seguridad 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 copiada en la misma instancia que la copia de seguridad copiada para admitir casos de uso de copias de seguridad y restablecimientos entre regiones y proyectos.
Dónde se almacenan las copias de seguridad de Spanner
Las copias de seguridad son recursos en 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 al recurso 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
: Es el nombre de la copia de seguridad.
Las copias de seguridad siguen existiendo incluso después de que se borra la base de datos de origen, pero no pueden sobrevivir a su instancia principal. 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 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), que la encriptación de la 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 la programación de copias de seguridad cree copias de seguridad encriptadas 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 realiza una copia de seguridad, Spanner crea un trabajo de copia de seguridad para copiar datos directamente de la base de datos al almacenamiento de copias de seguridad y dimensiona este trabajo según el tamaño de la base de datos. Este trabajo de copia de seguridad no usa los 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 Muestra 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 una cola interna 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 la programación de la tarea de copia de seguridad en una zona. A veces, este proceso puede tardar hasta 30 minutos. Te recomendamos que no canceles ni reinicies la copia de seguridad, ya que es probable que experimentes la misma demora en la programación con la nueva operación de copia de seguridad.
Rendimiento al copiar 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. 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 implicaciones en el rendimiento de la instancia o la base de datos de origen. Puedes hacer varias copias simultáneas de la copia de seguridad de origen en instancias de diferentes regiones sin que esto afecte el rendimiento.
Cuando copias una copia de seguridad incremental, Spanner también copia todas las copias de seguridad más antiguas de la cadena que se requieren para restablecer la copia de seguridad copiada. Para mejorar el rendimiento, Spanner copia todos los respaldos de forma simultánea en lugar de secuencial. Spanner también intenta evitar copiar copias de seguridad anteriores en la misma cadena cuando es posible. Para obtener más información, consulta Copias de seguridad incrementales.
Borrar una copia de seguridad
Cuando borras una copia de seguridad incremental, es posible que no recuperes 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 en 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. En el campo freeableSizeBytes
, se muestra cuánto espacio de almacenamiento puedes recuperar si borras la copia de seguridad.
Precios
Se te facturará según la cantidad de almacenamiento que usen 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 regiones diferentes, se aplican costos de transferencia de datos salientes.
Por ejemplo, si copias tu base de datos de la configuración de la instancia multirregional de origen nam7
a la configuración de la instancia multirregional de destino nam-eur-asia3
, se aplicarán los siguientes cargos:
- Sin cargos por la región de
us-central1
superpuesta - No se aplican cargos por la región de 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 por
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 rápida de copia de seguridad.
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 también Métricas de uso de almacenamiento.
Para obtener información más completa sobre los costos de las copias de seguridad, consulta Precios de Spanner.
¿Qué sigue?
Para crear copias de seguridad, consulta Crea copias de seguridad.
Para administrar las copias de seguridad, consulta Administra copias de seguridad.