Busca en nuestra revista

jueves, 29 de septiembre de 2016

Mejorando una Base de Datos

Si te encuentras en una situación donde te incorporas a un equipo de desarrollo y tu fuerte son las BBDD (bases de datos), además de revisar al documentación técnica del sistema que se disponga para el proyecto, algo que debes hacer es echarte unas buenas buceadas a la BD(Base de Datos) del proyecto, seguramente encontrarás áreas de oportunidad.


La principal, que te permitirá mejorar en lo posible la BD, y conocer el núcleo del proyecto la describimos a continuación.

El trabajo para re-estructurar una BD a nivel de SSPP (Stored Procedures o Procedimientos Almacenados) es largo e incluye un viaje al fondo de los datos, es revisar y comprar grancantidad de líneas de código. La finalidad es encontrar códigos redundantes con pequeñas diferencias. Estos códigos se deben reorganizar y una forma inicial es agrupar los códigos en nuevos SSPP que los concentren sin ocuparte de optimizar las consultas, operaciones, transacciones y demás, esto reducirá posibilidad de error y esfuerzo para optimizar la base da datos.
No crees procedimientos “al vuelo”, sino por el contrario, crea un script cuidadosamente organizado que genere esos SSPP nuevos con base en los originales. Debes llevar un registro cuidadoso de los SSPP agrupados y cuál será el nuevo SP equivalente. También se debe documentar qué SSPP son obsoletos por no existir las tablas/vistas que requiere.
Documentar, siempre documentar, documenta los SPs obsoletos, las tablas inexistentes, los cambios de estructuras (es decir, realiza uninventario del estado actual de la BD, también create una calendarización o diagrama de Gantt)
Una vez hecho esto, crea un respaldo de la BD (es muy importante, sobretodo si no existe un entorno de desarrollo y pruebas), y entonces, ejecuta el script que agrega los SSPP, solo un script para agregado, no borres SSPP o modifiques, ya que puedes alterar de formas insospechadas al sistema en desarrollo o en funcionamiento. Luego prepara un script que realice el eliminado de los SSPP obsoletos debido a que no existen las tablas o vistas que utilizan. Los SSPP obsoletos por cambios estructurales o por sustitución de nuevas versiones de SPs (tus versiones) no los toques aún.
Concluida esta parte, informa al equipo de desarrollo de los cambios, cuáles SSPP sustituyen a cuales, los nuevos parámetros y los resultados que arrojan, además pide que te informen en cuanto terminen de reemplazar los SSPP originales por tus nuevas versiones. Procura que tus nuevos SSPP sean consistentes en la secuencia de parámetros esperados, y en la medida de lo posible, trata de que mantentan estos, así se facilita el desarrollo y se mantiene la independencia de la base respecto de la aplicación. Terminado esto… !relax! tómate unos cafés con calma, descansa, disfruta, revisa el resto de la estructura de la BD.
Ya que recuperaste fuerza y asimilaste lo que sabes de la BD, comienza la optimización de la BD mejorando los SSPP que generaste, luego infórmate con el equipo si ya concluyeron el reemplazo. Una vez que el reemplazo concluyó al incluirse tus nuevas versiones, asegúrate de que el nuevo sistema esté en funcionamiento y que los SSPP originales ya dejaron de utilizarse, entonces ejecuta tu script de eliminación de obsoletos.
Continúa optimizando los nuevos SSPP. Es más sencillo, además de que ya no hay tantos SSPP por revisar, la BD tiene que hacerse menos lios.
Una vez que concluiste la optimización de los SSPP, comienza a revisar los cambios estructurales: vistas que ya no funcionen, tablas inexistentes. Documenta todos estos cambios, pregunta cuáles son los equivalentes entre tablas actuales y tablas que ya no existen.
Te llevará algo de tiempo todo esto, pero el resto del equipo te lo agradecerá y habrás adquirido experiencia y respeto.
¿Dudas, preguntas y sugerencias? En comentarios (abajo de la publicación) o al correo 
admin@msg-fs.com. No te pierdas nuestros “Twits” en https://twitter.com/MSG_FS y nuestra página en face: https://www.facebook.com/SernaSistemas

No hay comentarios.:

Publicar un comentario