Recuperación de un momento determinado

Descripción general

La recuperación de un momento determinado (PITR) de Cloud Spanner proporciona protección contra las eliminaciones o escrituras accidentales. Por ejemplo, si un operador escribe datos de forma involuntaria o si una aplicación lanza la base de datos, con PITR, puedes recuperar los datos de un momento anterior (hasta un máximo de 7 días) sin problemas. Si necesitas una retención de datos a largo plazo, puedes usar Copia de seguridad y restablecimiento o Exportar e importar.

PITR funciona para que puedas configurar el version_retention_period de una base de datos para conservar todas las versiones de datos y esquema, desde un mínimo de 1 hora hasta un máximo de 7 días. Cloud Spanner almacena versiones antiguas de datos en un nivel de detalle de microsegundos y la base de datos mantiene un earliest_version_time, que representa la primera vez que se pueden recuperar versiones anteriores de datos.

Formas de recuperar datos

Hay dos formas de recuperar datos:

  • Para recuperar una parte de la base de datos, realice una lectura inactiva que especifique una condición y una marca de tiempo pasada y, luego, escriba los resultados en la base de datos publicada. Este método se suele usar para operaciones quirúrgicas en una base de datos activa. Por ejemplo, si borras una fila en particular o actualizas un subconjunto de datos de forma accidental, puedes recuperarla con este método. Para obtener instrucciones, consulta cómo recuperar una parte de tu base de datos.

  • Para recuperar toda la base de datos, crear una copia de seguridad o exportar la base de datos que especifica una marca de tiempo en el pasado y, luego, restablecerla o importarla a una base de datos nueva. Por lo general, esto se usa para recuperar problemas relacionados con la corrupción de datos cuando debes revertir toda la base de datos a un momento determinado antes de que la corrupción se haya producido. Ten en cuenta que crear una copia de seguridad o exportar una base de datos puede demorar varias horas y no puedes restablecer o importar a una base de datos existente. Para obtener instrucciones, consulta cómo recuperar toda la base de datos.

Consideraciones de rendimiento

Las bases de datos con períodos de retención más largos y, en particular, las que reemplazan datos con frecuencia, usan más recursos del sistema. Esto puede afectar el rendimiento de tu base de datos, especialmente si tu instancia no se aprovisiona con suficiente capacidad de procesamiento suficiente. Si tu base de datos tiene una frecuencia de reemplazo muy alta (por ejemplo, si tu base de datos se reemplaza varias veces por día), puedes considerar aumentar el período de retención de manera gradual ysupervisar el sistema las rutas "a GCP". Tenga en cuenta lo siguiente:

  • Aumenta el uso de almacenamiento. Recomendamos configurar alertas de almacenamiento para asegurarte de no exceder el límite de almacenamiento. Cuando aumentes el período de retención, ten en cuenta que el uso del almacenamiento aumentará de forma gradual, ya que la base de datos acumula versiones de datos anteriores. Esto se debe a que los datos antiguos que hubieran vencido el período de retención anterior, ya no están vencidos. Por ejemplo, si aumentas el período de retención de 3 días a 7 días, debes esperar 4 días para estabilizar el uso del almacenamiento de la base de datos. También proporcionamos instrucciones para estimar el aumento del almacenamiento.

  • Aumenta el uso de CPU y la latencia. Cloud Spanner usa recursos de procesamiento adicionales para compactar y mantener versiones antiguas de datos. Supervisa tu instancia y base de datos para asegurarte de que la latencia y el uso de CPU permanezcan en niveles aceptables.

  • Mayor tiempo para realizar actualizaciones del esquema Un período de retención mayor implica que las versiones de esquema se deben retener durante períodos más largos, lo que puede generar que las actualizaciones del esquema sean throttled mientras esperan los recursos del servidor. Asegúrate de seguir las prácticas recomendadas para las actualizaciones de esquema y mantenerte dentro de los límites de las actualizaciones de esquema.