La recuperación de un momento determinado (PITR) de Spanner ofrece protección contra escrituras o eliminaciones accidentales. Por ejemplo, si un operador escribe datos de forma inadvertida o el lanzamiento de una aplicación daña la base de datos, con la PITR, puedes recuperar los datos de un momento en el pasado, hasta un máximo de siete días, sin problemas. Si necesitas una retención de datos a más largo plazo, puedes usar Copia de seguridad y restablecimiento o Importar y exportar.
De forma predeterminada, tu base de datos retiene todas las versiones de sus datos y esquema durante una
hora. Puedes aumentar este límite de tiempo hasta siete días con la opción
version_retention_period
. Para obtener instrucciones, consulta Cómo establecer el período de retención.
Spanner almacena versiones anteriores de datos con un nivel de detalle de microsegundos y la
mantiene un earliest_version_time
,
que representa el momento más antiguo en el pasado en el que puedes recuperar versiones antiguas
de los datos.
Cómo recuperar datos
Existen dos maneras de recuperar datos:
Para recuperar una parte de la base de datos, realiza una lectura inactiva que especifique una condición de consulta y una marca de tiempo en el pasado. Luego, vuelve a escribir los resultados en la base de datos activa. Por lo general, se usa para realizar operaciones quirúrgicas en una base de datos activa. Por ejemplo, si borras accidentalmente una fila en particular o actualizas un subconjunto de datos de forma incorrecta, puedes recuperarlos con este método. Para obtener instrucciones, consulta Recupera una parte de tu base de datos.
Para recuperar la base de datos completa, crea una copia de seguridad o exporta la base de datos especificando una marca de tiempo anterior y, luego, restablece o impórtala a una base de datos nueva. Por lo general, se usa para recuperarse de problemas de corrupción de datos cuando debes revertir la base de datos a un momento anterior al que se produjo la corrupción. Ten en cuenta que crear una copia de seguridad o exportar una base de datos puede tardar varias horas y no se pueden restablecer ni importar a una base de datos existente. Para obtener instrucciones, consulta recuperar toda la base de datos.
Consideraciones de rendimiento
Bases de datos con períodos de retención más extensos y, en particular, aquellas que reemplazar los datos con frecuencia y usar más recursos del sistema. Esto puede afectar el rendimiento de tu base de datos, en especial si tu instancia no se aprovisionó con suficiente capacidad de procesamiento. Si tu base de datos tiene una tasa de reemplazo muy alta (por ejemplo, si se reemplaza varias veces al día), te recomendamos que aumentes el período de retención de forma gradual y supervises el sistema. Ten en cuenta lo siguiente:
Mayor uso del almacenamiento. Te recomendamos que configures alertas de almacenamiento para asegurarte de no exceder el límite de almacenamiento. Cuando aumentar el período de retención, recuerda que el uso del almacenamiento aumentará de forma gradual a medida que la base de datos acumula versiones anteriores de los datos. Esto se debe a que los datos anteriores que habrían caducado durante el período de retención anterior ya no caducan. Por ejemplo, si aumentas el período de retención de 3 a 7 días, debes esperar 4 días para que se estabilize el uso del almacenamiento de la base de datos. También proporcionamos instrucciones para el aumento del almacenamiento.
Aumento del uso de la CPU y la latencia Spanner usa recursos de procesamiento adicionales para compactar y mantener versiones anteriores de los datos. Supervisa la instancia y la base de datos para garantizar que la latencia y el uso de CPU se mantengan en niveles aceptables.
Mayor tiempo para realizar actualizaciones de esquema. Un período de retención mayor significa que las versiones de esquema se deben retener durante períodos más prolongados, lo que podría provocar que las actualizaciones del esquema se
throttled
mientras a la espera de los recursos del servidor. Asegúrate de cumplir con prácticas recomendadas para las actualizaciones del esquema y mantenerse dentro de los límites de las actualizaciones del esquema.
Precios
No se aplican cargos adicionales por usar la función PITR. Sin embargo, si aumentas el período de retención de versiones de tu base de datos desde la hora predeterminada, es posible que aumenten los costos de almacenamiento y capacidad de procesamiento de tu base de datos. Tu app on demand el costo de copia de seguridad no se ve afectado porque solo una versión de tu base de datos. Para obtener más información, consulta la sección Rendimiento consideraciones. Antes de aumentar el período de retención de versiones de una base de datos, puedes estimar el aumento esperado en el almacenamiento de la base de datos.
Para obtener información general sobre cómo se cobra Spanner, consulta Precios de Spanner.
¿Qué sigue?
- Obtén más información para recuperar datos con la PITR.