Point-In-Time Recovery (PITR) es una estrategia de recuperación de datos que combina una copia de seguridad completa (full backup) con un registro continuo de cambios (write-ahead log o transaction log). La copia de seguridad completa establece un punto de partida, y los registros de transacciones posteriores se aplican de forma secuencial (replay) hasta el momento exacto deseado. Esto permite revertir el estado del sistema a cualquier instante intermedio entre la copia de seguridad y el momento actual, ofreciendo una granularidad de recuperación muy fina, a menudo hasta el segundo o incluso la transacción individual.
PITR es una característica fundamental en la mayoría de los sistemas de gestión de bases de datos relacionales y NoSQL de nivel empresarial. Ejemplos concretos incluyen PostgreSQL con su WAL (Write-Ahead Log), MySQL con sus binlogs (binary logs), Microsoft SQL Server con sus transaction logs, y Oracle con sus redo logs y archive logs. En el ámbito de los servicios en la nube, Amazon RDS, Google Cloud SQL y Azure SQL Database ofrecen PITR como una capacidad gestionada, permitiendo a los usuarios restaurar instancias de bases de datos a cualquier punto dentro de un período de retención configurado. También se aplica en sistemas de archivos distribuidos y almacenamiento de objetos con versionado y logs de operaciones.
Para un arquitecto, PITR es crucial para definir las estrategias de RTO (Recovery Time Objective) y RPO (Recovery Point Objective). Permite lograr RPOs muy bajos (minimizando la pérdida de datos) y RTOs predecibles en escenarios de desastre, corrupción de datos o errores humanos. La decisión de implementar PITR implica trade-offs significativos: requiere un almacenamiento adicional considerable para los logs de transacciones y un impacto en el rendimiento de escritura debido a la persistencia de estos logs. Además, la complejidad operativa de gestionar y aplicar los logs puede ser alta. Los arquitectos deben sopesar el costo y la complejidad frente a los requisitos de durabilidad de datos y la tolerancia a la pérdida de datos de la organización, eligiendo la estrategia de PITR adecuada (ej. frecuencia de backups completos, retención de logs) para cada carga de trabajo crítica.