Puntos claves a tener en cuenta sobre Backups de Bases de Datos
Hacer backups de nuestras bases de datos es esencial para proteger nuestros datos y recuperarse ante desastres. Es muy importante este punto ya que nos asegura poder recuperar nuestros datos en caso de pérdidas accidentales, fallas en nuestros equipos, o ante cualquier otra causa.
En este artículo voy a enumerar algunos puntos que debemos considerar cuando se implementa una estrategia de backups de bases de datos.
Frecuencia de los backups
Debemos determinar cada cuánto necesitamos realizar nuestros backups, basándonos en qué tan rápido pueden ser obsoletos nuestros datos, y hasta que tiempo nos podemos “permitir” perder nuestros datos, pensando en que podemos recuperar los datos que nos van a faltar con un trabajo manual o recuperarlos desde alguna otra forma, además se debe evaluar de la capacidad del servidor donde vamos a guardar los backups.
Se pueden hacer backups diarios, semanales, por hora o copias inmediatas, siempre dependiendo de la criticidad considerada anteriormente.
Backups completos o incrementales
Los backups completos capturan la totalidad de la base de datos, mientras que los incrementales guardan sólo los cambios hechos entre el último backup y el momento que se realiza el nuevo.
Hacer sólo backups completos te asegura que siempre vas a tener una versión de cada momento de tu base de datos, pero el proceso de guardado puede ser más lento, y el cada archivo puede ocupar más espacio en tu servidor. Combinar entre backups completos e incrementales puede ayudar a resolver este tipo de inconvenientes.
Automatizar los procesos de backup
Usar herramientas de backups automáticas o scripts nos asegura que siempre vamos a tenerlos hechos, sin depender de una persona que recuerde realizarlos. Desarrollar scripts que hagan los backups automáticamente es sencillo, o bien se pueden optar por sistemas o programas que se encarguen de hacerlo.
Retención de los backups
Se debe definir una política de retención de los backups realizados, definiendo que tanto tiempo deberían estar guardados, considerando las necesidades del negocio y cuando una base de datos ya no sirve más en el tiempo que pasó. También se puede considerar guardar sólo algunas bases de datos en vez de todas las que ya pasaron un tiempo. Por ejemplo, si se hacen guardados diarios, luego de 6 meses sólo guardar 1 por semana anteriores a esos 6 meses que ya han pasado.
Dónde guardarlos
Debemos guardar los backups en algún lugar muy seguro, y en lo posible fuera de nuestra red o nuestro hardware para protegernos de desastres físicos como incendios, o simplemente que dejen de funcionar los equipos. Alojarlos en la nube es una opción que se usa muy a menudo. Pueden ser alojamientos como los de Google, Amazon, IBM, o algunos mas “simples” como Mega, Google Drive, Dropbox, entre otros.
Testear los backups
Es muy recomendable realizar tests de recuperación de datos en bases de datos de pruebas para asegurarnos que los backups están siendo legibles y que no tienen ningún inconveniente a la hora de ser recuperados. Esta práctica nos ayuda a identificar cualquier falla con los archivos que se estén generando y con el procedimiento que se realizaría en caso de tener que hacerlo realmente.
Monitoreo de las tareas de backups
Se deberían implementar monitoreos y alertas de nuestras tareas de los backups, como logs o avisos, para poder encontrar fallas, comparar con backups anteriores o simplemente para saber si están funcionando. Esto ayuda a que estemos enterados de que los backups se completan como es de esperarse.
Documentar los procedimientos
Debemos documentar nuestros procedimientos de backups y recuperación, incluyendo detalles de cómo se deberían realizar, en qué lugar se guardan (y en cuantos lugares con sus consideraciones), y cualquier comentario necesario para que podamos realizar las tareas de recuperación de forma eficiente. Tener una documentación clara es crucial para evitar pérdidas de tiempo en situaciones críticas.
Recuperaciones automáticas
Sería interesante tener desarrollos que ejecuten el restore de nuestras bases de datos de forma automática, esto puede permitir hacer testeos más eficientes, y evitamos pérdidas de tiempos. Se puede aprovechar este método para ejecutar recuperaciones de bases de datos cada cierto tiempo de forma automática, para poder revisar que todo sea correcto,y también se pueden usar para entornos de testeos.
Estar siempre actualizado
Siempre es bueno revisar nuestras estrategias, scripts y sistemas relacionados con los backups, buscar y pensar nuevas mejoras, y hasta también revisar si existen mejores lugares donde guardarlos. Esto nos asegura que vamos a estar cada vez mas preparados ante algún desastre. Es recomendable tener fechas específicas agendadas para dedicarles tiempo a este tipo de tareas, para que no queden en el olvido.
Conclusión
Hacer backup de nuestras bases de datos es un aspecto muy crítico que no siempre se tiene en cuenta, es probable que muy pocas veces (o nunca) tengas que recurrir a realizar una recuperación de datos, pero los problemas que puede generar perder nuestra bases de datos tiene magnitudes catastróficas dentro de nuestra empresa.
Por esto mismo, siempre hay que estar preparado de la mejor forma en caso de que surja un problema en nuestros datos.
Si estás necesitando ayuda sobre este tema, nosotros podemos ayudarte. No dudes en escribirnos y podemos ofrecerte soporte y consultoría sobre tecnología y, en este caso, estrategias de backup para tu empresa.