¿Por qué las empresas deben optimizar el motor de base de datos?

Sin importar el tamaño de una empresa siempre se debe contar con una persona interna o externa a la organización capaz de velar por el correcto funcionamiento del motor de base de datos. Los detalles en este enlace.

En los últimos años han sido frecuentes las conversaciones que sostuve con clientes y terceros sobre cierta lentitud en algunos procesos operativos de su ERP y en otras aplicaciones con las que cuentan en su ambiente tecnológico. Me consultan si es el lenguaje de programación de las plataformas, lentitud en la red o mas bien las PC’s que cuentan con poca memoria o poco procesador.

La primera pregunta que les realizo sin entrar en detalles de revisión o de realizar un diagnostico del motor es la siguiente, ¿Cuenta la empresa con un encargado de sistemas o un DBA que administre el motor de base de datos y realice el mantenimiento respectivo? La respuesta casi siempre es la misma de parte de todos, “no tenemos, creemos que no es necesario por el tamaño de la empresa”.  Desde aquí inmediatamente asumo por donde vienen los problemas y cuales serían las posibles soluciones.

Regularmente estos casos se ven en empresas pequeñas y medianas que no cuentan con el recurso económico para contratar un personal fijo que les administre y mantenga de manera optima su infraestructura de TI, salvo que ocurra una situación catastrófica donde sí o sí deban involucrar a un experto. En cierta parte tienen algo de razón, pero no en todo.

Sin importar el tamaño de una empresa siempre se debe contar con una persona interna o externa a la organización capaz de velar por el correcto funcionamiento del motor de base de datos y que realice procesos de mantenimiento que garanticen que el motor siempre este disponible y con su correcto mantenimiento.

¿De qué manera se puede decir que un motor de base de datos está optimizado?

  • En primer lugar, garantizar que se estén ejecutando los respaldos automáticos de las diferentes bases de datos con las que cuentan. Estos respaldos idealmente deben estar alojados tanto en un dispositivo físico externo al servidor como en algún servicio cloud.
  • Asegurando que los archivos de bitácoras o transaction log files de la base de datos no se acumulen y crezcan desproporcionadamente. En este punto, si tenemos una Base de Datos de gran tamaño, este archivo crecerá de una forma que es posible que en poco tiempo llene el espacio del disco duro, esto sin lugar a duda, hace que las plataformas sean lentas y tomen más tiempo en procesar la información, además, que en algún momento los sistemas serán inoperables al no tener espacio en disco para lectura.
  • Regeneración de Índices: esto garantizará que las consultas que realicen las aplicaciones sean más rápidas y precisas, no teniendo que buscar un registro en las tablas sin un patrón determinado nos garantizara un mejor procesamiento de los datos tanto para consultas como para inserción de datos. Este proceso rara vez es llevado a cabo por las empresas.
  • Teniendo instancias separadas para los ambientes de desarrollo y producción, en muchas ocasiones tener muchas bases de datos hace que el servidor se vuelva lento y pesado, es ideal tener espacios separados para los entornos correspondientes.
  • Realizar una revisión constante de los archivos de respaldo almacenados en el equipo. Olvidamos que estamos grabando los archivos en el disco duro del servidor y se llena sin avisar, esto hace que las plataformas no funcionen de manera optima como se acostumbra por el poco espacio disponible.
  • Proteger el Servidor de Base de Datos contra apagones y fallos de energía con un Inversor o UPS. Es muy posible que si tenemos fallos constantes de energía eléctrica y el servidor se apague sin seguir los procedimientos correctos la base de datos pase a un estado inutilizable y se pierda el acceso e igualmente empiecen a corromperse archivos tanto de los Data Files como del servidor.

Haciendo una referencia a Microsoft SQL Server que es el motor de base datos mas utilizado en la industria y por nuestros clientes, se pueden utilizar opciones de automatización de mantenimiento propias del motor, esto permite programar que estas tareas se puedan ejecutar periódicamente y de manera automática sin necesidad de tener un DBA constantemente realizándolas, pero sí alguien que vele porque esto se realice.

Garantizando que se ejecuten estas tareas es muy probable que el motor de base de datos no presente lentitud o fallas esporádicas y que siempre este disponible, no hacer ninguna practica de las recomendadas hará que los sistemas sean lentos e inutilizables por los usuarios finales.

Por Julio Soto
Gerente Consultoría Softland Dominicana

CONTÁCTATE CON NOSOTROS