Descripción general de la recuperación de un momento determinado (PITR)

La recuperación de un momento determinado (PITR) de Spanner brinda 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 determinado del pasado (hasta un máximo de siete días) de forma transparente. Si necesitas retener datos a largo plazo, puedes usar Copia de seguridad y restablecimiento o Exportar e importar.

De forma predeterminada, tu base de datos retiene todas las versiones de sus datos y esquemas durante una hora. Puedes aumentar este límite de tiempo hasta siete días con la version_retention_period opción. Para obtener instrucciones, consulta Establece el período de retención. Spanner almacena versiones anteriores de los datos con una granularidad de microsegundos, y la base de datos mantiene un earliest_version_time, que representa el momento más temprano en el pasado en el que puedes recuperar versiones anteriores de los datos.

Cómo recuperar datos

Existen tres 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 una tabla específica, exporta la tabla desde una marca de tiempo anterior dentro de la misma base de datos y, luego, vuelve a importarla. Para obtener instrucciones, consulta Recupera una tabla específica.

  • 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, restablécela 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 determinado antes de que se produjera la corrupción. Ten en cuenta que crear una copia de seguridad o exportar una base de datos puede tardar varias horas y que no puedes restablecer ni importar a una base de datos existente. Para obtener instrucciones, consulta Recupera la base de datos completa.

Consideraciones de rendimiento

Las bases de datos con períodos de retención más largos y, en particular, las que reemplazan los datos con frecuencia, usan más recursos del sistema. Esto puede afectar el rendimiento de tu base de datos, en especial si tu instancia no tiene suficiente capacidad de procesamiento aprovisionada. Si tu base de datos tiene una tasa de reemplazo muy alta (por ejemplo, si se reemplaza varias veces al día), puedes considerar aumentar el período de retención de forma gradual y supervisar el sistema. Estos son algunos aspectos que debes tener en cuenta:

  • Mayor uso de almacenamiento. Te recomendamos que configures alertas de almacenamiento para asegurarte de que no excedas el límite de almacenamiento. Cuando aumentes el período de retención, ten en cuenta que el uso de almacenamiento aumentará de forma gradual a medida que la base de datos acumule versiones anteriores de los datos. Esto se debe a que los datos antiguos que habrían vencido en el período de retención anterior ya no vencieron. Por lo tanto, por ejemplo, si aumentas el período de retención de 3 a 7 días, debes esperar 4 días para que se estabilice el uso de almacenamiento de la base de datos. También proporcionamos instrucciones para estimar el aumento de almacenamiento.

  • Mayor uso de CPU y latencia. Spanner usa recursos de procesamiento adicionales para compactar y mantener versiones anteriores de los 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 más largo significa que las versiones del esquema deben retenerse durante períodos más largos, lo que puede provocar que las actualizaciones del esquema se throttled mientras se esperan los recursos del servidor. Asegúrate de seguir las prácticas recomendadas para las actualizaciones del esquema y de mantenerte dentro de los límites para las actualizaciones del esquema.

Precios

El uso de la PITR no tiene costo adicional. 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 la base de datos. El costo de la copia de seguridad bajo demanda no se ve afectado porque solo se almacena una versión de tu base de datos. Para obtener más información, consulta la sección Consideraciones de rendimiento. 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?