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 operadores y aplicaciones que generen daños lógicos en los datos. Las copias de seguridad tienen alta disponibilidad, están encriptadas y se pueden conservar hasta un año después de su 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 fuente y se replican en las mismas ubicaciones geográficas. Para las instancias regionales, se almacena una copia de la copia de seguridad en cada una de las tres zonas de lectura y escritura. Para instancias multirregionales, una copia se almacena 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

La Importación y la Exportación de Cloud Spanner sirven para casos de uso similares a los de 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 consistentes 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 usa CPU de sistema de prioridad baja. Para obtener más información, consulta Prioridad de tarea.
Formato de almacenamiento Usa un formato encriptado de propiedad exclusiva 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 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 borran. 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 unidad de tiempo. 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 usarse, 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 se escriban todos los datos en la base de datos.

Cómo funciona la copia de seguridad

Contenido

Los usuarios pueden crear una copia 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 el esquema y los índices secundarios) en la create_time de la copia de seguridad. Las modificaciones que realice 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 fuente, un nombre para el recurso de copia de seguridad y una fecha de vencimiento (hasta 1 año desde el 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 seguir el 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 el momento de la 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 son recuperables apenas se realiza 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 después de que se haya borrado su base de datos fuente, pero no puede vivir más que 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 desean 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 la copia 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 la CPU inactiva, así que asegúrate de que el uso de CPU cumpla con los lineamientos recomendados. Sobrecargar la CPU puede generar tiempos de copia de seguridad muy largos y también podría afectar de forma negativa la latencia de la base de datos.

La CPU de una instancia se comparte entre 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, 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 instancias que la copia de seguridad. Por ejemplo, si una copia de seguridad se encuentra en una instancia configurada como us-west3, se puede restablecer en cualquier instancia del proyecto que también esté configurado como 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 un alto grado de 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 realizar un seguimiento del progreso de la restauración. La nueva base de datos comienza y permanece en el estado CREATING, lo que significa que no está lista para su uso, hasta que se complete la operación de restablecimiento. Para proporcionar tiempos de restablecimiento rápidos (generalmente, menos de 10 minutos), la operación de restablecimiento funciona activando los archivos en 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 latencias de lectura ligeramente más altas mientras la base de datos lee datos de la copia de seguridad. Cualquier intento de borrar la copia de seguridad fallará mientras esté en uso para la restauración o optimización 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 está restablecida por completo y ya no hace referencia a la copia de seguridad.

Facturación

Se te facturará según la cantidad de almacenamiento que usen tus copias de seguridad por unidad de tiempo. 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 restablecer 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 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 debido a la 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, la base de datos hereda las políticas de su instancia superior en un principio.

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

Las siguientes funciones están diseñadas específicamente para la copia de seguridad y el 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 modificarlas o 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 las copias de seguridad y al restablecimiento:

  • spanner.admin: Tiene acceso completo a la copia de seguridad y el restablecimiento. Esta función tiene acceso completo a todos los recursos de Cloud Spanner.
  • owner: tiene acceso completo a la copia de seguridad y el restablecimiento
  • editor: tiene acceso completo a las copias de seguridad y restablecimiento.
  • viewer: tiene acceso para ver copias de seguridad, operaciones de copia de seguridad y 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.