Backup de Base de Datos
Documentación detallada del protocolo de backup de la base de datos de RedCollege para desarrolladores y personal de soporte.
Este documento describe el protocolo de backup de la base de datos de RedCollege, detallando los procedimientos y consideraciones tanto para desarrolladores como para el personal de soporte. El objetivo es asegurar la integridad de los datos y proporcionar una guía clara para la recuperación en caso de necesidad.
Para Personal de Soporte
Esta sección describe el proceso de backup automatizado y el protocolo para solicitar y gestionar la restauración de datos para los usuarios.
Automatización de Backups Diarios
Se ha implementado un sistema automatizado para realizar backups diarios de la base de datos de RedCollege. Estos backups se ejecutan todos los días a la medianoche (00:00 hora local de Santiago).
IMPORTANTE: Debido al horario de los backups, cualquier cambio realizado por los usuarios durante el día no estará incluido en el backup de esa misma noche. Por ejemplo, si un usuario realiza una modificación a las 3:00 PM, la copia de seguridad disponible para ese día corresponderá al estado de la base de datos a las 00:00 de ese mismo día. No es posible generar backups a petición ni realizar backups con una frecuencia mayor a la diaria.
Solicitud y Restauración de Backups
Cuando un usuario necesite recuperar información de un backup anterior, deberá seguir el siguiente protocolo:
- El usuario debe realizar una solicitud al equipo de soporte, especificando claramente la fecha y hora aproximada del estado de la base de datos que necesita recuperar. Es fundamental que el usuario comprenda la limitación del horario de los backups (medianoche).
- El equipo de soporte registrará la solicitud y la escalará al equipo de informática.
- El equipo de informática evaluará la solicitud y determinará la viabilidad de la restauración en función de la disponibilidad del backup solicitado.
- Una vez aprobada la solicitud, el equipo de informática se compromete a realizar la restauración de la información solicitada en un plazo máximo de un (1) día hábil. Este plazo se debe a la naturaleza intensiva en recursos del proceso de restauración de la base de datos.
- El equipo de informática notificará al equipo de soporte una vez que la restauración se haya completado y la información solicitada esté disponible (ya sea directamente en la base de datos productiva o a través de un entorno temporal para la extracción de datos).
- El equipo de soporte comunicará al usuario la finalización del proceso y las instrucciones para acceder a la información recuperada (si aplica).
Consideraciones Importantes para el Personal de Soporte:
- Comunicar claramente a los usuarios el horario de los backups diarios (medianoche). Insistir en que los cambios realizados durante el día no estarán disponibles hasta el backup de la noche siguiente.
- Servir como punto de contacto principal para las solicitudes de restauración de backups, asegurando una comunicación fluida entre el usuario y el equipo de informática.
Para Desarrolladores
Esta sección detalla cómo acceder y restaurar una copia de seguridad de la base de datos para entornos de desarrollo o pruebas locales.
Ubicación de los Backups
Los backups de la base de datos se generan automáticamente y se almacenan en DigitalOcean Spaces. La estructura de carpetas sigue el siguiente patrón:
Donde:
AAAArepresenta el año del backup.MMrepresenta el mes del backup.DDrepresenta el día del backup.HH-MM-SSrepresenta la hora, minutos y segundos en que se realizó el backup.
Por ejemplo, un backup realizado el 30 de abril de 2025 a las 17:50:29 se encontrará en la siguiente ruta:
Restauración de un Backup en Local
Sigue estos pasos para descargar y restaurar un backup de la base de datos en tu entorno local:
- Identifica el archivo de backup deseado: Navega a la ubicación en DigitalOcean Spaces y localiza el archivo
.sqldel backup que necesitas restaurar. Asegúrate de seleccionar el archivo correcto según la fecha y hora del backup. - Descarga el archivo de backup: Descarga el archivo
.sqla tu máquina local. Guarda el archivo en una ubicación accesible, por ejemplo, en la carpetatmp/backups/. - Crea una base de datos local (si no existe): Si aún no tienes una base de datos local donde restaurar el backup, créala utilizando
psqlo cualquier otra herramienta de administración de PostgreSQL. Por ejemplo, para crear una base de datos llamadaredcollege_backup_demo:
Reemplazatu_usuario_postgrescon tu nombre de usuario de PostgreSQL local. - Restaura el backup utilizando
pg_restore: Utiliza el siguiente comandopg_restorepara importar el contenido del archivo de backup a tu base de datos local. Asegúrate de ajustar la ruta al archivo de backup y el nombre de la base de datos de destino si es necesario.
Desglosando el comando:-h 127.0.0.1: Especifica el host del servidor PostgreSQL local.-p 5432: Especifica el puerto del servidor PostgreSQL local.-U tu_usuario_postgres: Especifica el usuario de PostgreSQL que utilizarás para la restauración. Asegúrate de que este usuario tenga los permisos necesarios para escribir en la base de datos.-d redcollege_backup_demo: Especifica el nombre de la base de datos local donde se restaurará el backup.--no-owner: Indica que no se deben restaurar los propietarios de los objetos de la base de datos. Esto es importante para evitar problemas de permisos en tu entorno local.tmp/backups/backup_redcollege_2025-04-30_17-50-29.sql: Especifica la ruta al archivo de backup descargado.
- Ingresa la contraseña (si es necesario): Es posible que se te solicite la contraseña del usuario de PostgreSQL especificado.
- Verifica la restauración: Una vez que el comando se complete sin errores, conéctate a tu base de datos local
redcollege_backup_demoy verifica que los datos se hayan restaurado correctamente.
Este protocolo tiene como objetivo establecer un proceso claro y eficiente para la gestión de backups y la recuperación de datos, minimizando la confusión y gestionando las expectativas de los usuarios.