MySQL 5.0 finalmente ha sido liberado. La nueva versión incluye algunas mejoras importantes que hacen de la actualización una obligación para usuarios de la versión 4.1, como seguridad mejorada y procedimientos almacenados. En definitiva, MySQL 5.0 es una respetable base de datos de código abierto, pero en cuanto a herramientas de administración y desarrollo sigue atrás de las cuatro grandes bases de datos (IBM DB2, Microsoft SQL Server, Oracle y Sybase). Actualizaciones por doquier Hay cuatro importantes nuevas funciones en MySQL 5.0: procedimientos almacenados, vistas, actualizaciones de seguridad, y disparadores. Los procedimientos almacenados son un estándar de base de datos que MySQL sólo está aprovechando, y es una buena jugada. Los procedimientos almacenados permiten definir código SQL precompilado que está almacenado dentro de la base de datos y puede ser llamado con parámetros por cualquiera con permisos; pueden ser largos y contener lógicas muy complejas. La implementación de procedimientos almacenados en MySQL 5 es diferente a las otras bases de datos: no están precompilados; sólo están almacenados en la base de datos, haciéndolos más parecidos a consultas nombradas en Excel que a procedimientos almacenados tradicionales. Debido a esta carencia de precompilamiento los beneficios de desempeño de los procedimientos almacenados en MySQL vienen de un tráfico de red reducido. Estos procedimientos fueron generalmente estables en mis pruebas, pero había unos cuantos errores, como algunos problemas de congelamiento del servidor cuando traté de abrir mis procedimientos más largos. Aunque no es fatal, este comportamiento puede ser un problema si tiene una base de datos atareada. Otro estándar de bases de datos, las vistas, son también nuevas en MySQL 5.0. Una vista es una consulta almacenada que no acepta parámetros, y uno de sus mayores beneficios es ocultar consultas lógicas a los usuarios. Un administrador puede definir una vista con una complicada cláusula de lugar y uniones múltiples, pero el usuario final simplemente seleccionará la consulta de toda la vista, sin necesidad de algún conocimiento de tablas. La implementación de MySQL de las vistas es bastante completa, y, en este caso, la funcionalidad es semejante a cualquier otra base de datos. MySQL mejoró la seguridad de una manera inesperada y sorprendente. En las versiones previas, un hacker o un administrador rogue de sistema pueden ganar control sobre su base de datos MySQL usando Notepad o cualquier otro editor de texto para ver el archivo que almacena las cuentas de usuario y cambiar manualmente la información; también pueden acceder la tabla en sí o alterar información o crear y borrar tablas. Afortunadamente, esto no es posible en MySQL 5.0, pues las cuentas de registro están almacenadas en la base de datos de la cuenta. Este cambio incrementa enormemente su comodidad con la implementación de MySQL en un ambiente de producción, como lo hará para muchos otros administradores de MySQL. La cuarta nueva función, los disparadores, funcionan de manera muy similar a otras bases de datos. Son procedimientos almacenados dirigidos por eventos que están adjuntados a una tabla en específico; el código disparador disparará por cualquier escritura incluso las que ocurran en esa misma tabla. De nuevo, los disparadores tienen un par de errores debido a que ésta es la primera implementación de MySQL. Un disparador de la tabla de MySQL 5.0 no es olvidado cuando deja la tabla, y alterar la tabla con un disparador sobre ella puede causar la corrupción de la base de datos. Puede evitar estas situaciones, pero cuidado con ellas antes de que implemente los disparadores en su código. MySQL tampoco soporta disparadores “en lugar de” como las grandes bases de datos- No es un gran contratiempo, pero sería bueno tener esa herramienta. MySQL ha hecho avances enormes para llevar su base de datos a un estándar, pero sólo ahora ha implementado funciones que durante más de una década sólo los cuatro grandes tenían. MySQL tampoco ha integrado seguridad Windows, algo que considero un prerequisito para ejecutar una base de datos en Windows con cualquier nivel de seguridad. MySQL 5.0 también se queda corto en administración y desarrollo. No tiene un depurador, así que encontrar errores en un código largo requiere de prueba y error. La utilidad del administrador se congela mucho y tiene problemas para refrescarse. Proporciona estadísiticas simples de desempeño, pero no instala ningún contador de desempeño. La utilidad de desarrollo no tiene funciones de edición y también sufre de un desempeño extraño; proporciona unos cuantos mensajes de error útiles, así que el motor no ofrece mucha ayuda para encontrar errores. Por supuesto, MySQL es una buena alternativa ante otros proveedores con altas cuotas por licencia, y como una manera rápida de activar aplicaciones simples o sitios Web, MySQL 5.0 es la solución perfecta. Sin embargo, ser gratis, no le da a MySQL un pase automático en valor. Si necesita de una base de datos rápida y gratis, Microsoft y Oracle tienen una, pero el tamaño está limitado a 4GB; para bases de datos mayores, la edición de SQL Server Workgroup se puede conseguir a menos de mil dólares. Todas estas bases de datos son estables, ofrecen más funciones, y tienen un claro camino de actualización. MySQL 5.0 puede no estar en el mismo campo de competencia empresarial que las cuatro grandes bases de datos ya establecidas, pero los administradores de MySQL deberían implementar esta versión. La seguridad aumentada, y la inclusión de procedimientos almacenados, disparadores y vistas hacen de esta una actualización necesaria y bienvenida.