Copia de seguridad y restablecimiento

Resumen

La función de copia de seguridad y restablecimiento de Cloud Spanner te permite crear copias de seguridad de las bases de datos de Cloud Spanner a pedido y restablecerlas para brindar protección contra errores de operador y aplicación que generen daños lógicos en los datos. Las copias de seguridad tienen alta disponibilidad, están encriptadas y se pueden conservar hasta por un año a partir de la fecha de creación. Si necesitas tiempos de retención más largos, te recomendamos exportar tu base de datos.

Puedes usar una Copia de seguridad y restablecimiento de las siguientes maneras:

Características clave

  • Coherencia de los datos: Las copias de seguridad una copia con coherencia externa de una base de datos de Cloud Spanner en la copia de seguridad create_time.

  • 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, se almacena una copia de la copia de seguridad en cada una de las tres zonas de lectura y escritura. En el caso de las instancias multirregionales, se almacena una copia en todas las zonas que contienen una réplica de lectura y escritura o de solo lectura.

  • Vencimiento automático: todas las copias de seguridad tienen una fecha de vencimiento especificada por el usuario que determina cuándo se borrará automáticamente.

Elige entre Copia de seguridad y restablecimiento o Importar y Exportar

Importar y Exportar de Cloud Spanner entregan casos de uso similares como Copia de seguridad y restablecimiento. En la siguiente tabla, se describen las similitudes y diferencias entre ellos para ayudarte a decidir cuál usar.

Copia de seguridad y restablecimientoImportación y exportación
Coherencia de los datos Las copias de seguridad y las bases de datos exportadas son coherentes de forma transaccional y externa.
Impacto en el rendimiento Ambas se ejecutan con prioridad baja para minimizar el impacto en el rendimiento de la base de datos. La exportación usa CPU de usuario de prioridad baja mientras que la copia de seguridad utiliza CPU de baja prioridad del sistema. Para obtener más información, consulta Prioridad de tarea.
Formato de almacenamiento Usa un formato propio y encriptado diseñado para el restablecimiento rápido. Admite formatos de archivo CSV y Avro.
Portabilidad Las copias de seguridad residen en la misma instancia que su base de datos de origen y no se pueden mover.

Puedes restablecer una base de datos en cualquier instancia del proyecto con la misma configuración de instancia que la copia de seguridad.
Las bases de datos exportadas residen en Google Cloud Storage y los datos se pueden migrar a cualquier sistema compatible con CSV o Avro.
Retención Las copias de seguridad se pueden conservar hasta por 1 año. Las bases de datos exportadas se almacenan en Cloud Storage, y, de forma predeterminada, se conservan hasta que se borren. Puedes personalizar las políticas de ciclo de vida y retención.
Facturación Las copias de seguridad se facturan a tu proyecto de Cloud Spanner según el almacenamiento que se use por tiempo de unidad. Para obtener más detalles, consulta la sección Facturación. La facturación de importación y exportación es más complicada debido al uso de Google Cloud Storage y Dataflow. Para obtener más información, consulta Precios de importación y exportación de bases de datos.
Hora de restablecimiento El restablecimiento se realiza en dos operaciones: restablecer y optimizar. La operación de restablecimiento ofrece tiempo rápido para devolver el primer byte, ya que la base de datos activa directamente la copia de seguridad sin copiar los datos. Una vez que se completa la operación de restablecimiento, la base de datos está lista para usar, aunque la latencia de lectura puede ser un poco mayor mientras se optimiza. Para obtener más información, consulta Cómo funciona el restablecimiento. La importación es más lenta. Debes esperar a que todos los datos se escriban en la base de datos.

Cómo funciona la copia de seguridad

Contenido

Los usuarios pueden crear copias de seguridad de cualquier base de datos de Cloud Spanner. Estas copias de seguridad están completas, en el sentido de que contienen todos los datos de la base de datos (incluidos los esquemas y los índices secundarios) en el create_time de la copia de seguridad. Las modificaciones que realices en los datos o el esquema después de la creación de la copia de seguridad no se incluirán en la copia de seguridad. Las copias de seguridad no contienen metadatos de la base de datos, como las políticas de administración de identidades y accesos (IAM).

Proceso de creación

Cuando creas una copia de seguridad, debes especificar una base de datos de origen, un nombre para el recurso de copia de seguridad y una fecha de vencimiento (hasta 1 año a partir del momento de la creación de la copia de seguridad). El sistema crea un recurso de copia de seguridad y una operación de copia de seguridad de larga duración para hacer un seguimiento del progreso de la copia de seguridad.

Para garantizar la coherencia externa de la copia de seguridad, Cloud Spanner fija el contenido de la base de datos en la fecha de creación. Esto evita que el sistema de recolección de elementos no utilizados quite los valores de datos relevantes mientras dure la operación de la copia de seguridad. Luego, cada zona de la instancia comienza a copiar los datos en paralelo. Si una zona no está disponible temporalmente, la copia de seguridad no se completará hasta que la zona vuelva a estar en línea y termine. Las copias de seguridad se pueden restablecer cuando finalice la operación.

Jerarquía de recursos

Las copias de seguridad son recursos de Cloud 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 recursos con el formato projects/<project>/instances/<instance>/backups/<backup>. Una copia de seguridad continúa 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 Cloud Spanner si hay copias de seguridad. Para los usuarios que quieran borrar la instancia, recomendamos restablecer la copia de seguridad y, luego, exportar la base de datos restablecida antes de borrar la copia de seguridad y la instancia.

Tiempo y rendimiento de las copias de seguridad

La cantidad de tiempo que lleva crear una copia de seguridad depende de varios factores, pero se determina, principalmente, por el tamaño de la base de datos y la cantidad de nodos. Si necesitas tiempos de copia de seguridad más rápidos, puedes aumentar la cantidad de nodos, pero ten en cuenta que los cambios en el recuento de nodos se aplican a las copias de seguridad posteriores.

La creación de copias de seguridad también usa CPU inactivas, así que asegúrate de que el uso de la CPU cumpla con los lineamientos recomendados. La sobrecarga de CPU puede generar tiempos de copia de seguridad muy largos y también podría afectar negativamente la latencia de la base de datos.

La CPU de una instancia se comparte mediante todas las copias de seguridad en curso de la instancia. Crear copias de seguridad de diferentes bases de datos en la misma instancia al mismo tiempo puede generar tiempos de copia de seguridad largos.

Cómo funciona el restablecimiento

Cuando restableces datos, debes especificar una copia de seguridad de origen y una base de datos de destino nueva. No puedes restablecer en una base de datos existente. La base de datos nueva debe estar en el mismo proyecto que la copia de seguridad y estar en una instancia con la misma configuración de instancia que la copia de seguridad. Por ejemplo, si una copia de seguridad se encuentra en una instancia configurada us-west3, se puede restablecer en cualquier instancia del proyecto que también esté configurado us-west3. No es necesario que el recuento de nodos de las instancias sea el mismo. La base de datos restablecida tendrá todos los datos y el esquema de la base de datos original en el create_time de la copia de seguridad. No tendrá ningún permiso de IAM (excepto los heredados de la instancia que contiene la base de datos restablecida) y los usuarios deben aplicar los permisos de IAM adecuados una vez que se complete el restablecimiento. El proceso de restablecimiento está diseñado para alta disponibilidad, ya que la base de datos se puede restablecer siempre que la mayoría de las regiones y zonas de la instancia estén disponibles.

Es importante comprender que una base de datos restablecida realiza una transición entre tres States a las que se les realiza un seguimiento mediante dos operaciones.

  • Estado CREATING: cuando inicias un restablecimiento, el sistema crea una base de datos nueva y una operación de base de datos de larga duración con RestoreDatabaseMetadata para hacer un seguimiento del progreso del restablecimiento. La nueva base de datos comienza y permanece en el estado CREATING, lo que significa que no está listo para su uso hasta que se completa la operación de restablecimiento. Para proporcionar tiempos de restablecimiento rápidos (generalmente en menos de 10 minutos), la operación de restablecimiento activa los archivos de la copia de seguridad sin copiarlos en la base de datos.

  • Estado READY_OPTIMIZING: Una vez que se completa la operación de restablecimiento, la base de datos pasa al estado READY_OPTIMIZING. En este estado, está lista para usarse, pero es posible que experimentes algunas latencias de lectura un poco más altas mientras la base de datos lee los datos desde la copia de seguridad. Cualquier intento de borrar la copia de seguridad fallará mientras esté en uso para la optimización o el restablecimiento de la base de datos.

    Cuando se complete la operación de restablecimiento, obtendrás otra operación de base de datos de larga duración con OptimizeRestoredDatabaseMetadata para realizar un seguimiento del progreso de la optimización. La operación de optimización copia los datos de la copia de seguridad a la base de datos. Si deseas acelerar el proceso de optimización, puedes agregar más nodos a la instancia.

  • Estado READY: una vez que se completa la operación de optimización, la base de datos pasa al estado READY. En este punto, la base de datos restablecida tiene un rendimiento pleno y ya no hace referencia a la copia de seguridad.

Una instancia puede tener, como máximo, una base de datos en el estado de restablecimiento CREATING. No podrás restablecer otra copia de seguridad de la instancia hasta que la base de datos restablecida pase al estado READY_OPTIMIZING o READY.

Facturación

Se te factura en función de la cantidad de almacenamiento que usan tus copias de seguridad por hora. La facturación comienza una vez que se completa la operación de copia de seguridad y continuará hasta que se borre la copia de seguridad. No se aplican cargos por el restablecimiento desde una 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 un minuto después de que termine, se te facturará durante 24 horas.

Para obtener información más completa sobre los costos de las copias de seguridad, consulta la página Precios de Cloud Spanner.

Control de acceso (IAM)

IAM te permite controlar el acceso a los recursos de Cloud Spanner, que incluyen copias de seguridad y bases de datos restablecidas. Si eres nuevo en IAM, las funciones y los permisos, consulta Descripción general de IAM para ver una introducción.

Los recursos de copia de seguridad se organizan en instancias en la jerarquía de recursos de Cloud Spanner. Recomendamos aplicar las políticas de IAM a nivel de proyecto o de instancia. Si necesitas un control más detallado, las políticas de IAM también se pueden aplicar a nivel de la copia de seguridad y de la base de datos, pero esto no se recomienda por cuestiones de complejidad. Recuerda que las copias de seguridad no contienen metadatos de la base de datos, como las políticas de IAM, por lo que, cuando restableces una base de datos, esta hereda las políticas de su instancia superior al principio.

En esta sección, se describen las funciones predefinidas que tienen acceso a las funciones de copia de seguridad y restablecimiento.

Las siguientes funciones están diseñadas específicamente para las copias de seguridad y restablecimiento:

  • spanner.backupAdmin: tiene acceso para crear, ver, actualizar y borrar copias de seguridad. Esta función también puede ver y administrar la política de IAM de una copia de seguridad. Mediante esta función no se puede restablecer una base de datos desde una copia de seguridad.
  • spanner.restoreAdmin: tiene acceso para restablecer bases de datos a partir de copias de seguridad. Si necesitas restablecer una copia de seguridad en una instancia diferente, debes aplicar esta función a nivel de proyecto o en ambas instancias. No se pueden crear copias de seguridad mediante esta función.
  • spanner.backupWriter: tiene acceso para crear copias de seguridad, pero no puede actualizarlas ni borrarlas. Esta función está diseñada para que la usen las secuencias de comandos que automatizan la creación de copias de seguridad.

Las siguientes funciones también tienen acceso a la copia de seguridad y restablecimiento:

  • spanner.admin: tiene acceso completo a la copia de seguridad y restablecimiento. Esta función tiene acceso completo a todos los recursos de Cloud Spanner.
  • owner: tiene acceso completo a la copia de seguridad y restablecimiento
  • editor: tiene acceso completo a la copia de seguridad y restablecimiento
  • viewer: tiene acceso para ver las copias de seguridad, las operaciones de copia de seguridad y las operaciones de restablecimiento. Esta función no puede crear, actualizar, borrar ni restablecer una copia de seguridad.

Para obtener más información, consulta IAM de Cloud Spanner.