Bienvenidos sean a este post, hoy veremos algunos tipos de backup.
Porque se necesita un back up o tambien conocido como respaldo? Bien, hay muchos factores que pueden corromper o borrar nuestros datos, los problemas tecnicos mas probables son:
- Falla electrica durante la escritura al disco
- Falla de hardware (puede ser el disco u otra parte)
- Error del sistema operativo
- Bugs de mariadb o de los motores de almacenamiento
Otro factor que podemos agregar es al humano, dado que un cracker puede usar una vulnerabilidad de software para destruir los datos o podemos borrar accidentalmente una base con un DROP DATABASE sin querer, como no tenemos forma de asegurarnos que estas cosas no ocurran debemos estar preparados para estas eventualidades y poder restaurar datos criticos ejecutando backups regulares y automatizados, si bien un backup puede ser ejecutado de varias formas ninguno es mejor que el otro en cualquier situacion, y la eleccion depende de muchos factores y antes de decidir un plan de backup deberiamos hacernos las siguientes preguntas:
- ¿ Cuan criticos son nuestros datos ?
- ¿ Cuan a menudo se actualizan los datos ?
- ¿ Se puede ralentizar o detener al servidor durante el proceso de back up ?
Despues de definida nuestras necesidades podemos decidir la mejor estrategia de back up que encaje con nuestra carga de trabajo, pasemos a ver algunos de los tipos de back up.
El primer tipo es llamado logico, este back up crea una representacion de los datos relevantes, tomemos como ejemplo un archivo CSV que contiene todos los valores o un archivo de texto que contiene todos los comandos SQL necesarios para recrear exactamente los datos originales, esto se lo llama archivo de volcado o dump file.
El segundo tipo es llamado fisico, este crea una copia de los archivos que contienen los datos, es importante saber que mariadb no escribe nada en tales archivos hasta que se finaliza la copia, este proceso sera mucho mas facil con tablas simples como MyIsam con respecto a motores mas complejos como InnoDB, en versiones de mariadb anteriores a la 10.0 se debia detener al servidor antes de realizar un back up fisico del servidor, este tipo de back up copia toda la informacion del directorio incluidos los archivos de log y configuracion.
Mencionemos los beneficios del back up logico:
- El servidor no debe estar detenido pero cada transaccion grande afectara a las tablas transaccionables y las tablas no transaccionables necesitan ser bloqueadas, un back up es normalmente una operacion de lectura intensa que frena al servidor
- Este tipo de back up es muy flexible porque la modificacion es relativamente facil, dado que es un archivo al cual podemos modificar el nombre de una base o eliminar algunas filas antes de recuperar al mismo
- Los back ups logicos son mas selectivos que los fisicos, al ser queries de SQL nos permite excluir algunas filas o columnas de la copia
- Este puede ser restaurado tanto en versiones viejas como nuevas de mariadb, por esta razon es una buena practica realizar uno antes de actualizar la version de la misma.
Ahora pasemos a los beneficios del back up fisico:
- Estos son muchos mas rapidos porque estan hechos usando directamente el sistema de archivos, tambien su tamaño es mucho mas pequeño, ya que solo incluyen datos e indices en un formato compacto, tantos los comandos como los datos no estan en formato de texto
- Estos usualmente incluyen a los archivos de log y configuracion, si bien no son estrictamente necesarios para recuperar los datos, la perdida de un archivo de configuracion o de un log importante se podria considerar un inconveniente importante
Por ultimo tenemos los backups calientes (hot) y frios (cold), los primeros se realizan cuando el servidor esta corriendo y los segundos cuando esta detenido, por lo tanto podemos decir que un backup de tipo logico es caliente porque no tenemos forma de obtener los datos del mismo sin hacer un query sobre estos, aunque con mariadb 10 se puede bloquear los archivos fisicos durante el proceso de back up asi no tenemos necesidad de detener el servidor durante este proceso, sin embargo para versiones viejas se necesita del back up frio para los archivos de InnoDB, si bien durante el back up caliente el servidor acepta comandos desde los clientes pero sabemos que los back ups pueden tomar mucho tiempo y encolar las solicitudes de los clientes durante el back up no tiene sentido, o inclusive podria detener al servidor, por ejemplo para evitar esto una buena practica es trabajar con estos procesos cuando la oficina esta cerrada o no se registra actividad en el mismo, esto aplica tanto a los backups fisicos como los logicos.
En resumen, hoy hemos visto a los tipos de backup, cuales son, como se diferencian, cuales son los beneficios de uno y del otro, y algunas caracteristicas, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
